CommandListener.h revision 5c1b8af16dbbc20c89aaca2f93e725e12b16d055
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> 219ff78fb7da7158f5bd7c86d89a842691820259cfSan Mehat 22d18304287dbabc7835be771400b85d4ae8b63de6San Mehat#include "NetdCommand.h" 239d10b341a0ba46f108cb96e46691197d778cbc06San Mehat#include "TetherController.h" 249ff78fb7da7158f5bd7c86d89a842691820259cfSan Mehat#include "NatController.h" 25d5573d34c8fac49e16b20cf144486125bf940086San Mehat#include "PppController.h" 261bdac9e98c1ef37ba568b6cf23bfbc09cfe6bf15San Mehat#include "PanController.h" 27d18304287dbabc7835be771400b85d4ae8b63de6San Mehat 28d18304287dbabc7835be771400b85d4ae8b63de6San Mehatclass CommandListener : public FrameworkListener { 299d10b341a0ba46f108cb96e46691197d778cbc06San Mehat static TetherController *sTetherCtrl; 309ff78fb7da7158f5bd7c86d89a842691820259cfSan Mehat static NatController *sNatCtrl; 31d5573d34c8fac49e16b20cf144486125bf940086San Mehat static PppController *sPppCtrl; 321bdac9e98c1ef37ba568b6cf23bfbc09cfe6bf15San Mehat static PanController *sPanCtrl; 339d10b341a0ba46f108cb96e46691197d778cbc06San Mehat 34d18304287dbabc7835be771400b85d4ae8b63de6San Mehatpublic: 35d18304287dbabc7835be771400b85d4ae8b63de6San Mehat CommandListener(); 36d18304287dbabc7835be771400b85d4ae8b63de6San Mehat virtual ~CommandListener() {} 37d18304287dbabc7835be771400b85d4ae8b63de6San Mehat 38d18304287dbabc7835be771400b85d4ae8b63de6San Mehatprivate: 39d18304287dbabc7835be771400b85d4ae8b63de6San Mehat 405c1b8af16dbbc20c89aaca2f93e725e12b16d055San Mehat class InterfaceCmd : public NetdCommand { 41d18304287dbabc7835be771400b85d4ae8b63de6San Mehat public: 425c1b8af16dbbc20c89aaca2f93e725e12b16d055San Mehat InterfaceCmd(); 435c1b8af16dbbc20c89aaca2f93e725e12b16d055San Mehat virtual ~InterfaceCmd() {} 44d18304287dbabc7835be771400b85d4ae8b63de6San Mehat int runCommand(SocketClient *c, int argc, char ** argv); 45d18304287dbabc7835be771400b85d4ae8b63de6San Mehat }; 46d18304287dbabc7835be771400b85d4ae8b63de6San Mehat 47d18304287dbabc7835be771400b85d4ae8b63de6San Mehat class IpFwdCmd : public NetdCommand { 48d18304287dbabc7835be771400b85d4ae8b63de6San Mehat public: 49d18304287dbabc7835be771400b85d4ae8b63de6San Mehat IpFwdCmd(); 50d18304287dbabc7835be771400b85d4ae8b63de6San Mehat virtual ~IpFwdCmd() {} 51d18304287dbabc7835be771400b85d4ae8b63de6San Mehat int runCommand(SocketClient *c, int argc, char ** argv); 52d18304287dbabc7835be771400b85d4ae8b63de6San Mehat }; 53d18304287dbabc7835be771400b85d4ae8b63de6San Mehat 54d18304287dbabc7835be771400b85d4ae8b63de6San Mehat class TetherCmd : public NetdCommand { 55d18304287dbabc7835be771400b85d4ae8b63de6San Mehat public: 56d18304287dbabc7835be771400b85d4ae8b63de6San Mehat TetherCmd(); 57d18304287dbabc7835be771400b85d4ae8b63de6San Mehat virtual ~TetherCmd() {} 58d18304287dbabc7835be771400b85d4ae8b63de6San Mehat int runCommand(SocketClient *c, int argc, char ** argv); 59d18304287dbabc7835be771400b85d4ae8b63de6San Mehat }; 60d18304287dbabc7835be771400b85d4ae8b63de6San Mehat 61d18304287dbabc7835be771400b85d4ae8b63de6San Mehat class NatCmd : public NetdCommand { 62d18304287dbabc7835be771400b85d4ae8b63de6San Mehat public: 63d18304287dbabc7835be771400b85d4ae8b63de6San Mehat NatCmd(); 64d18304287dbabc7835be771400b85d4ae8b63de6San Mehat virtual ~NatCmd() {} 65d18304287dbabc7835be771400b85d4ae8b63de6San Mehat int runCommand(SocketClient *c, int argc, char ** argv); 66d18304287dbabc7835be771400b85d4ae8b63de6San Mehat }; 67d5573d34c8fac49e16b20cf144486125bf940086San Mehat 68d5573d34c8fac49e16b20cf144486125bf940086San Mehat class ListTtysCmd : public NetdCommand { 69d5573d34c8fac49e16b20cf144486125bf940086San Mehat public: 70d5573d34c8fac49e16b20cf144486125bf940086San Mehat ListTtysCmd(); 71d5573d34c8fac49e16b20cf144486125bf940086San Mehat virtual ~ListTtysCmd() {} 72d5573d34c8fac49e16b20cf144486125bf940086San Mehat int runCommand(SocketClient *c, int argc, char ** argv); 73d5573d34c8fac49e16b20cf144486125bf940086San Mehat }; 74d5573d34c8fac49e16b20cf144486125bf940086San Mehat 75d5573d34c8fac49e16b20cf144486125bf940086San Mehat class PppdCmd : public NetdCommand { 76d5573d34c8fac49e16b20cf144486125bf940086San Mehat public: 77d5573d34c8fac49e16b20cf144486125bf940086San Mehat PppdCmd(); 78d5573d34c8fac49e16b20cf144486125bf940086San Mehat virtual ~PppdCmd() {} 79d5573d34c8fac49e16b20cf144486125bf940086San Mehat int runCommand(SocketClient *c, int argc, char ** argv); 80d5573d34c8fac49e16b20cf144486125bf940086San Mehat }; 811bdac9e98c1ef37ba568b6cf23bfbc09cfe6bf15San Mehat 821bdac9e98c1ef37ba568b6cf23bfbc09cfe6bf15San Mehat class PanCmd : public NetdCommand { 831bdac9e98c1ef37ba568b6cf23bfbc09cfe6bf15San Mehat public: 841bdac9e98c1ef37ba568b6cf23bfbc09cfe6bf15San Mehat PanCmd(); 851bdac9e98c1ef37ba568b6cf23bfbc09cfe6bf15San Mehat virtual ~PanCmd() {} 861bdac9e98c1ef37ba568b6cf23bfbc09cfe6bf15San Mehat int runCommand(SocketClient *c, int argc, char ** argv); 871bdac9e98c1ef37ba568b6cf23bfbc09cfe6bf15San Mehat }; 88d18304287dbabc7835be771400b85d4ae8b63de6San Mehat}; 89d18304287dbabc7835be771400b85d4ae8b63de6San Mehat 90d18304287dbabc7835be771400b85d4ae8b63de6San Mehat#endif 91