CommandListener.h revision 9d10b341a0ba46f108cb96e46691197d778cbc06
1d18304287dbabc7835be771400b85d4ae8b63de6San Mehat/* 2d18304287dbabc7835be771400b85d4ae8b63de6San Mehat * Copyright (C) 2008 The Android Open Source Project 3d18304287dbabc7835be771400b85d4ae8b63de6San Mehat * 4d18304287dbabc7835be771400b85d4ae8b63de6San Mehat * Licensed under the Apache License, Version 2.0 (the "License"); 5d18304287dbabc7835be771400b85d4ae8b63de6San Mehat * you may not use this file except in compliance with the License. 6d18304287dbabc7835be771400b85d4ae8b63de6San Mehat * You may obtain a copy of the License at 7d18304287dbabc7835be771400b85d4ae8b63de6San Mehat * 8d18304287dbabc7835be771400b85d4ae8b63de6San Mehat * http://www.apache.org/licenses/LICENSE-2.0 9d18304287dbabc7835be771400b85d4ae8b63de6San Mehat * 10d18304287dbabc7835be771400b85d4ae8b63de6San Mehat * Unless required by applicable law or agreed to in writing, software 11d18304287dbabc7835be771400b85d4ae8b63de6San Mehat * distributed under the License is distributed on an "AS IS" BASIS, 12d18304287dbabc7835be771400b85d4ae8b63de6San Mehat * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13d18304287dbabc7835be771400b85d4ae8b63de6San Mehat * See the License for the specific language governing permissions and 14d18304287dbabc7835be771400b85d4ae8b63de6San Mehat * limitations under the License. 15d18304287dbabc7835be771400b85d4ae8b63de6San Mehat */ 16d18304287dbabc7835be771400b85d4ae8b63de6San Mehat 17d18304287dbabc7835be771400b85d4ae8b63de6San Mehat#ifndef _COMMANDLISTENER_H__ 18d18304287dbabc7835be771400b85d4ae8b63de6San Mehat#define _COMMANDLISTENER_H__ 19d18304287dbabc7835be771400b85d4ae8b63de6San Mehat 20d18304287dbabc7835be771400b85d4ae8b63de6San Mehat#include <sysutils/FrameworkListener.h> 21d18304287dbabc7835be771400b85d4ae8b63de6San Mehat#include "NetdCommand.h" 229d10b341a0ba46f108cb96e46691197d778cbc06San Mehat#include "TetherController.h" 23d18304287dbabc7835be771400b85d4ae8b63de6San Mehat 24d18304287dbabc7835be771400b85d4ae8b63de6San Mehatclass CommandListener : public FrameworkListener { 259d10b341a0ba46f108cb96e46691197d778cbc06San Mehat static TetherController *sTetherCtrl; 269d10b341a0ba46f108cb96e46691197d778cbc06San Mehat 27d18304287dbabc7835be771400b85d4ae8b63de6San Mehatpublic: 28d18304287dbabc7835be771400b85d4ae8b63de6San Mehat CommandListener(); 29d18304287dbabc7835be771400b85d4ae8b63de6San Mehat virtual ~CommandListener() {} 30d18304287dbabc7835be771400b85d4ae8b63de6San Mehat 31d18304287dbabc7835be771400b85d4ae8b63de6San Mehatprivate: 32d18304287dbabc7835be771400b85d4ae8b63de6San Mehat 33d18304287dbabc7835be771400b85d4ae8b63de6San Mehat class ListInterfacesCmd : public NetdCommand { 34d18304287dbabc7835be771400b85d4ae8b63de6San Mehat public: 35d18304287dbabc7835be771400b85d4ae8b63de6San Mehat ListInterfacesCmd(); 36d18304287dbabc7835be771400b85d4ae8b63de6San Mehat virtual ~ListInterfacesCmd() {} 37d18304287dbabc7835be771400b85d4ae8b63de6San Mehat int runCommand(SocketClient *c, int argc, char ** argv); 38d18304287dbabc7835be771400b85d4ae8b63de6San Mehat }; 39d18304287dbabc7835be771400b85d4ae8b63de6San Mehat 40d18304287dbabc7835be771400b85d4ae8b63de6San Mehat class IpFwdCmd : public NetdCommand { 41d18304287dbabc7835be771400b85d4ae8b63de6San Mehat public: 42d18304287dbabc7835be771400b85d4ae8b63de6San Mehat IpFwdCmd(); 43d18304287dbabc7835be771400b85d4ae8b63de6San Mehat virtual ~IpFwdCmd() {} 44d18304287dbabc7835be771400b85d4ae8b63de6San Mehat int runCommand(SocketClient *c, int argc, char ** argv); 45d18304287dbabc7835be771400b85d4ae8b63de6San Mehat }; 46d18304287dbabc7835be771400b85d4ae8b63de6San Mehat 47d18304287dbabc7835be771400b85d4ae8b63de6San Mehat class TetherCmd : public NetdCommand { 48d18304287dbabc7835be771400b85d4ae8b63de6San Mehat public: 49d18304287dbabc7835be771400b85d4ae8b63de6San Mehat TetherCmd(); 50d18304287dbabc7835be771400b85d4ae8b63de6San Mehat virtual ~TetherCmd() {} 51d18304287dbabc7835be771400b85d4ae8b63de6San Mehat int runCommand(SocketClient *c, int argc, char ** argv); 52d18304287dbabc7835be771400b85d4ae8b63de6San Mehat }; 53d18304287dbabc7835be771400b85d4ae8b63de6San Mehat 54d18304287dbabc7835be771400b85d4ae8b63de6San Mehat class NatCmd : public NetdCommand { 55d18304287dbabc7835be771400b85d4ae8b63de6San Mehat public: 56d18304287dbabc7835be771400b85d4ae8b63de6San Mehat NatCmd(); 57d18304287dbabc7835be771400b85d4ae8b63de6San Mehat virtual ~NatCmd() {} 58d18304287dbabc7835be771400b85d4ae8b63de6San Mehat int runCommand(SocketClient *c, int argc, char ** argv); 59d18304287dbabc7835be771400b85d4ae8b63de6San Mehat }; 60d18304287dbabc7835be771400b85d4ae8b63de6San Mehat}; 61d18304287dbabc7835be771400b85d4ae8b63de6San Mehat 62d18304287dbabc7835be771400b85d4ae8b63de6San Mehat#endif 63