vold: Add command to unmount secure containers

Signed-off-by: San Mehat <san@google.com>
gugelfrei
San Mehat 15 years ago
parent 88705166ab
commit 5817821cf1

@ -45,6 +45,7 @@ CommandListener::CommandListener() :
registerCmd(new FinalizeAsecCmd());
registerCmd(new DestroyAsecCmd());
registerCmd(new MountAsecCmd());
registerCmd(new UnmountAsecCmd());
registerCmd(new ListAsecCmd());
registerCmd(new AsecPathCmd());
}
@ -254,6 +255,26 @@ int CommandListener::MountAsecCmd::runCommand(SocketClient *cli,
return 0;
}
CommandListener::UnmountAsecCmd::UnmountAsecCmd() :
VoldCommand("unmount_asec") {
}
int CommandListener::UnmountAsecCmd::runCommand(SocketClient *cli,
int argc, char **argv) {
if (argc != 2) {
cli->sendMsg(ResponseCode::CommandSyntaxError,
"Usage: unmount_asec <namespace-id>", false);
return 0;
}
if (VolumeManager::Instance()->unmountAsec(argv[1])) {
cli->sendMsg(ResponseCode::OperationFailed, "Unmount failed", true);
} else {
cli->sendMsg(ResponseCode::CommandOkay, "Unmount succeeded", false);
}
return 0;
}
CommandListener::ListAsecCmd::ListAsecCmd() :
VoldCommand("list_asec") {

@ -111,6 +111,13 @@ private:
int runCommand(SocketClient *c, int argc, char ** argv);
};
class UnmountAsecCmd : public VoldCommand {
public:
UnmountAsecCmd();
virtual ~UnmountAsecCmd() {}
int runCommand(SocketClient *c, int argc, char ** argv);
};
class ListAsecCmd : public VoldCommand {
public:
ListAsecCmd();

Loading…
Cancel
Save