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