Merge "logd: add EXIT command"

This commit is contained in:
Mark Salyzyn 2016-11-18 16:06:07 +00:00 committed by Gerrit Code Review
commit 16300f192b
2 changed files with 46 additions and 14 deletions

View File

@ -48,6 +48,7 @@ CommandListener::CommandListener(LogBuffer *buf, LogReader * /*reader*/,
registerCmd(new SetPruneListCmd(buf));
registerCmd(new GetPruneListCmd(buf));
registerCmd(new ReinitCmd());
registerCmd(new ExitCmd(this));
}
CommandListener::ShutdownCmd::ShutdownCmd(LogReader *reader,
@ -297,6 +298,21 @@ int CommandListener::ReinitCmd::runCommand(SocketClient *cli,
return 0;
}
CommandListener::ExitCmd::ExitCmd(CommandListener *parent) :
LogCommand("EXIT"),
mParent(*parent) {
}
int CommandListener::ExitCmd::runCommand(SocketClient * cli,
int /*argc*/, char ** /*argv*/) {
setname();
cli->sendMsg("success");
release(cli);
return 0;
}
int CommandListener::getLogSocket() {
static const char socketName[] = "logd";
int sock = android_get_control_socket(socketName);

View File

@ -52,22 +52,38 @@ private:
explicit name##Cmd(LogBuffer *buf); \
virtual ~name##Cmd() {} \
int runCommand(SocketClient *c, int argc, char ** argv); \
};
}
LogBufferCmd(Clear)
LogBufferCmd(GetBufSize)
LogBufferCmd(SetBufSize)
LogBufferCmd(GetBufSizeUsed)
LogBufferCmd(GetStatistics)
LogBufferCmd(GetPruneList)
LogBufferCmd(SetPruneList)
LogBufferCmd(Clear);
LogBufferCmd(GetBufSize);
LogBufferCmd(SetBufSize);
LogBufferCmd(GetBufSizeUsed);
LogBufferCmd(GetStatistics);
LogBufferCmd(GetPruneList);
LogBufferCmd(SetPruneList);
class ReinitCmd : public LogCommand {
public:
ReinitCmd();
virtual ~ReinitCmd() {}
int runCommand(SocketClient *c, int argc, char ** argv);
};
#define LogCmd(name) \
class name##Cmd : public LogCommand { \
public: \
name##Cmd(); \
virtual ~name##Cmd() {} \
int runCommand(SocketClient *c, int argc, char ** argv); \
}
LogCmd(Reinit);
#define LogParentCmd(name) \
class name##Cmd : public LogCommand { \
CommandListener &mParent; \
public: \
name##Cmd(); \
explicit name##Cmd(CommandListener *parent); \
virtual ~name##Cmd() {} \
int runCommand(SocketClient *c, int argc, char ** argv); \
void release(SocketClient *c) { mParent.release(c); } \
}
LogParentCmd(Exit);
};