git-svn-id: svn://db.shs.com.ru/pip@267 12ceb7fc-bf1f-11e4-8940-5bc7170c53b5

This commit is contained in:
2016-09-20 20:12:06 +00:00
parent be6aaf26a4
commit 24cbff2e0c
6 changed files with 305 additions and 115 deletions

View File

@@ -275,13 +275,14 @@ void usage() {
piCout << PICoutManipulators::Bold << "PIP System Daemon";
piCout << PICoutManipulators::Cyan << "Version" << PICoutManipulators::Bold << PIPVersion() << PICoutManipulators::NewLine;
piCout << PICoutManipulators::Green << PICoutManipulators::Bold << "Usage:" << PICoutManipulators::Default
<< "\"pisd [-hdfk] [-n <name>]\"" << PICoutManipulators::NewLine;
<< "\"pisd [-hdfk] [-n <name>] [-a <ip>]\"" << PICoutManipulators::NewLine;
piCout << PICoutManipulators::Green << PICoutManipulators::Bold << "Details:";
piCout << "-h --help " << PICoutManipulators::Green << "- display this message and exit";
piCout << "-d --daemon " << PICoutManipulators::Green << "- start as daemon";
piCout << "-k --kill " << PICoutManipulators::Green << "- kill daemon";
piCout << "-f --force " << PICoutManipulators::Green << "- don`t check for another running instance";
piCout << "-n --name <name> " << PICoutManipulators::Green << "- set daemon name";
piCout << "-a --address <ip>" << PICoutManipulators::Green << "- connect to remote daemon via tcp";
}
@@ -294,11 +295,13 @@ int main(int argc, char * argv[]) {
cli.addArgument("kill");
cli.addArgument("1");
cli.addArgument("name", true);
cli.addArgument("address", true);
if (cli.hasArgument("help")) {
usage();
return 0;
}
PIString name = cli.argumentValue("name");
PIString sip = cli.argumentValue("address");
PISingleApplication * sapp = 0;
if ((cli.hasArgument("1") && !cli.hasArgument("force")) || cli.hasArgument("kill")) {
sapp = new PISingleApplication("pisd");
@@ -318,6 +321,8 @@ int main(int argc, char * argv[]) {
args << "-1";
if (cli.hasArgument("force"))
args << "-f";
if (cli.hasArgument("address"))
args << "-a" << sip;
if (!name.isEmpty())
args << "-n" << name;
PIProcess::execIndependent(PISystemInfo::instance()->execCommand, args);
@@ -327,6 +332,7 @@ int main(int argc, char * argv[]) {
//cli.addArgument("");
screen = new PIScreen(false);
Daemon * daemon = new Daemon();
if (!sip.isEmpty()) daemon->setTcpServerIP(sip);
sys_mon.startOnSelf();
screen->enableExitCapture(PIKbdListener::F10);
if (!name.isEmpty())