CommandListener.h revision d18304287dbabc7835be771400b85d4ae8b63de6
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"
22d18304287dbabc7835be771400b85d4ae8b63de6San Mehat
23d18304287dbabc7835be771400b85d4ae8b63de6San Mehatclass CommandListener : public FrameworkListener {
24d18304287dbabc7835be771400b85d4ae8b63de6San Mehatpublic:
25d18304287dbabc7835be771400b85d4ae8b63de6San Mehat    CommandListener();
26d18304287dbabc7835be771400b85d4ae8b63de6San Mehat    virtual ~CommandListener() {}
27d18304287dbabc7835be771400b85d4ae8b63de6San Mehat
28d18304287dbabc7835be771400b85d4ae8b63de6San Mehatprivate:
29d18304287dbabc7835be771400b85d4ae8b63de6San Mehat
30d18304287dbabc7835be771400b85d4ae8b63de6San Mehat    class ListInterfacesCmd : public NetdCommand {
31d18304287dbabc7835be771400b85d4ae8b63de6San Mehat    public:
32d18304287dbabc7835be771400b85d4ae8b63de6San Mehat        ListInterfacesCmd();
33d18304287dbabc7835be771400b85d4ae8b63de6San Mehat        virtual ~ListInterfacesCmd() {}
34d18304287dbabc7835be771400b85d4ae8b63de6San Mehat        int runCommand(SocketClient *c, int argc, char ** argv);
35d18304287dbabc7835be771400b85d4ae8b63de6San Mehat    };
36d18304287dbabc7835be771400b85d4ae8b63de6San Mehat
37d18304287dbabc7835be771400b85d4ae8b63de6San Mehat    class IpFwdCmd : public NetdCommand {
38d18304287dbabc7835be771400b85d4ae8b63de6San Mehat    public:
39d18304287dbabc7835be771400b85d4ae8b63de6San Mehat        IpFwdCmd();
40d18304287dbabc7835be771400b85d4ae8b63de6San Mehat        virtual ~IpFwdCmd() {}
41d18304287dbabc7835be771400b85d4ae8b63de6San Mehat        int runCommand(SocketClient *c, int argc, char ** argv);
42d18304287dbabc7835be771400b85d4ae8b63de6San Mehat    };
43d18304287dbabc7835be771400b85d4ae8b63de6San Mehat
44d18304287dbabc7835be771400b85d4ae8b63de6San Mehat    class TetherCmd : public NetdCommand {
45d18304287dbabc7835be771400b85d4ae8b63de6San Mehat    public:
46d18304287dbabc7835be771400b85d4ae8b63de6San Mehat        TetherCmd();
47d18304287dbabc7835be771400b85d4ae8b63de6San Mehat        virtual ~TetherCmd() {}
48d18304287dbabc7835be771400b85d4ae8b63de6San Mehat        int runCommand(SocketClient *c, int argc, char ** argv);
49d18304287dbabc7835be771400b85d4ae8b63de6San Mehat    };
50d18304287dbabc7835be771400b85d4ae8b63de6San Mehat
51d18304287dbabc7835be771400b85d4ae8b63de6San Mehat    class NatCmd : public NetdCommand {
52d18304287dbabc7835be771400b85d4ae8b63de6San Mehat    public:
53d18304287dbabc7835be771400b85d4ae8b63de6San Mehat        NatCmd();
54d18304287dbabc7835be771400b85d4ae8b63de6San Mehat        virtual ~NatCmd() {}
55d18304287dbabc7835be771400b85d4ae8b63de6San Mehat        int runCommand(SocketClient *c, int argc, char ** argv);
56d18304287dbabc7835be771400b85d4ae8b63de6San Mehat    };
57d18304287dbabc7835be771400b85d4ae8b63de6San Mehat};
58d18304287dbabc7835be771400b85d4ae8b63de6San Mehat
59d18304287dbabc7835be771400b85d4ae8b63de6San Mehat#endif
60