Home | History | Annotate | Download | only in vold
      1 /*
      2  * Copyright (C) 2008 The Android Open Source Project
      3  *
      4  * Licensed under the Apache License, Version 2.0 (the "License");
      5  * you may not use this file except in compliance with the License.
      6  * You may obtain a copy of the License at
      7  *
      8  *      http://www.apache.org/licenses/LICENSE-2.0
      9  *
     10  * Unless required by applicable law or agreed to in writing, software
     11  * distributed under the License is distributed on an "AS IS" BASIS,
     12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13  * See the License for the specific language governing permissions and
     14  * limitations under the License.
     15  */
     16 
     17 #ifndef _COMMANDLISTENER_H__
     18 #define _COMMANDLISTENER_H__
     19 
     20 #include <sysutils/FrameworkListener.h>
     21 #include "VoldCommand.h"
     22 
     23 class CommandListener : public FrameworkListener {
     24 public:
     25     CommandListener();
     26     virtual ~CommandListener() {}
     27 
     28 private:
     29     static void dumpArgs(int argc, char **argv, int argObscure);
     30 
     31     class DumpCmd : public VoldCommand {
     32     public:
     33         DumpCmd();
     34         virtual ~DumpCmd() {}
     35         int runCommand(SocketClient *c, int argc, char ** argv);
     36     };
     37 
     38     class VolumeCmd : public VoldCommand {
     39     public:
     40         VolumeCmd();
     41         virtual ~VolumeCmd() {}
     42         int runCommand(SocketClient *c, int argc, char ** argv);
     43     };
     44 
     45     class AsecCmd : public VoldCommand {
     46     public:
     47         AsecCmd();
     48         virtual ~AsecCmd() {}
     49         int runCommand(SocketClient *c, int argc, char ** argv);
     50     private:
     51         void listAsecsInDirectory(SocketClient *c, const char *directory);
     52     };
     53 
     54     class ObbCmd : public VoldCommand {
     55     public:
     56         ObbCmd();
     57         virtual ~ObbCmd() {}
     58         int runCommand(SocketClient *c, int argc, char ** argv);
     59     };
     60 
     61     class StorageCmd : public VoldCommand {
     62     public:
     63         StorageCmd();
     64         virtual ~StorageCmd() {}
     65         int runCommand(SocketClient *c, int argc, char ** argv);
     66     };
     67 
     68     class XwarpCmd : public VoldCommand {
     69     public:
     70         XwarpCmd();
     71         virtual ~XwarpCmd() {}
     72         int runCommand(SocketClient *c, int argc, char ** argv);
     73     };
     74 
     75     class CryptfsCmd : public VoldCommand {
     76     public:
     77         CryptfsCmd();
     78         virtual ~CryptfsCmd() {}
     79         int runCommand(SocketClient *c, int argc, char ** argv);
     80     };
     81 };
     82 
     83 #endif
     84