1d0b4295ccc07d0cd715ade415c8c0d7d6945880ePaul Lawrence/* 2d0b4295ccc07d0cd715ade415c8c0d7d6945880ePaul Lawrence * Copyright (C) 2015 The Android Open Source Project 3d0b4295ccc07d0cd715ade415c8c0d7d6945880ePaul Lawrence * 4d0b4295ccc07d0cd715ade415c8c0d7d6945880ePaul Lawrence * Licensed under the Apache License, Version 2.0 (the "License"); 5d0b4295ccc07d0cd715ade415c8c0d7d6945880ePaul Lawrence * you may not use this file except in compliance with the License. 6d0b4295ccc07d0cd715ade415c8c0d7d6945880ePaul Lawrence * You may obtain a copy of the License at 7d0b4295ccc07d0cd715ade415c8c0d7d6945880ePaul Lawrence * 8d0b4295ccc07d0cd715ade415c8c0d7d6945880ePaul Lawrence * http://www.apache.org/licenses/LICENSE-2.0 9d0b4295ccc07d0cd715ade415c8c0d7d6945880ePaul Lawrence * 10d0b4295ccc07d0cd715ade415c8c0d7d6945880ePaul Lawrence * Unless required by applicable law or agreed to in writing, software 11d0b4295ccc07d0cd715ade415c8c0d7d6945880ePaul Lawrence * distributed under the License is distributed on an "AS IS" BASIS, 12d0b4295ccc07d0cd715ade415c8c0d7d6945880ePaul Lawrence * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13d0b4295ccc07d0cd715ade415c8c0d7d6945880ePaul Lawrence * See the License for the specific language governing permissions and 14d0b4295ccc07d0cd715ade415c8c0d7d6945880ePaul Lawrence * limitations under the License. 15d0b4295ccc07d0cd715ade415c8c0d7d6945880ePaul Lawrence */ 16d0b4295ccc07d0cd715ade415c8c0d7d6945880ePaul Lawrence 17d0b4295ccc07d0cd715ade415c8c0d7d6945880ePaul Lawrence#ifndef _CRYPTCOMMANDLISTENER_H__ 18d0b4295ccc07d0cd715ade415c8c0d7d6945880ePaul Lawrence#define _CRYPTCOMMANDLISTENER_H__ 19d0b4295ccc07d0cd715ade415c8c0d7d6945880ePaul Lawrence 20d0b4295ccc07d0cd715ade415c8c0d7d6945880ePaul Lawrence#include <sysutils/FrameworkListener.h> 21d0b4295ccc07d0cd715ade415c8c0d7d6945880ePaul Lawrence#include <utils/Errors.h> 22d0b4295ccc07d0cd715ade415c8c0d7d6945880ePaul Lawrence#include "VoldCommand.h" 23d0b4295ccc07d0cd715ade415c8c0d7d6945880ePaul Lawrence 24d0b4295ccc07d0cd715ade415c8c0d7d6945880ePaul Lawrenceclass CryptCommandListener : public FrameworkListener { 25d0b4295ccc07d0cd715ade415c8c0d7d6945880ePaul Lawrencepublic: 26d0b4295ccc07d0cd715ade415c8c0d7d6945880ePaul Lawrence CryptCommandListener(); 27d0b4295ccc07d0cd715ade415c8c0d7d6945880ePaul Lawrence virtual ~CryptCommandListener() {} 28d0b4295ccc07d0cd715ade415c8c0d7d6945880ePaul Lawrence 29d0b4295ccc07d0cd715ade415c8c0d7d6945880ePaul Lawrenceprivate: 30d0b4295ccc07d0cd715ade415c8c0d7d6945880ePaul Lawrence static void dumpArgs(int argc, char **argv, int argObscure); 3176107cb3f4845b1a51a1a291c70ea3e12f9c14d0Paul Crowley static int sendGenericOkFailOnBool(SocketClient *cli, bool success); 32d0b4295ccc07d0cd715ade415c8c0d7d6945880ePaul Lawrence 33d0b4295ccc07d0cd715ade415c8c0d7d6945880ePaul Lawrence class CryptfsCmd : public VoldCommand { 34d0b4295ccc07d0cd715ade415c8c0d7d6945880ePaul Lawrence public: 35d0b4295ccc07d0cd715ade415c8c0d7d6945880ePaul Lawrence CryptfsCmd(); 36d0b4295ccc07d0cd715ade415c8c0d7d6945880ePaul Lawrence virtual ~CryptfsCmd() {} 37d0b4295ccc07d0cd715ade415c8c0d7d6945880ePaul Lawrence int runCommand(SocketClient *c, int argc, char ** argv); 38d0b4295ccc07d0cd715ade415c8c0d7d6945880ePaul Lawrence }; 39d0b4295ccc07d0cd715ade415c8c0d7d6945880ePaul Lawrence int getSocket(); 40d0b4295ccc07d0cd715ade415c8c0d7d6945880ePaul Lawrence}; 41d0b4295ccc07d0cd715ade415c8c0d7d6945880ePaul Lawrence 42d0b4295ccc07d0cd715ade415c8c0d7d6945880ePaul Lawrence#endif 43