git-svn-id: svn://db.shs.com.ru/pip@247 12ceb7fc-bf1f-11e4-8940-5bc7170c53b5
This commit is contained in:
@@ -255,6 +255,10 @@ public:
|
||||
if (e.key == PIKbdListener::Esc) menuRequest();
|
||||
//piCout << "key" << e.key;
|
||||
}
|
||||
EVENT_HANDLER1(void, messageFromApp, const PIByteArray & , m) {
|
||||
if (m[0] == 'k') PIKbdListener::exiting = true;
|
||||
|
||||
}
|
||||
Daemon & daemon_;
|
||||
PIScreenTile * tmenu, * tinfo, * tfm, * tdaemon, * tpeer, * tpeerdiag;
|
||||
TileList * peers_tl, * addrs_tl, * peermap_tl;
|
||||
@@ -271,10 +275,11 @@ 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 [-hdf] [-n <name>]\"" << PICoutManipulators::NewLine;
|
||||
<< "\"pisd [-hdfk] [-n <name>]\"" << 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";
|
||||
}
|
||||
@@ -286,6 +291,7 @@ int main(int argc, char * argv[]) {
|
||||
cli.addArgument("help");
|
||||
cli.addArgument("daemon");
|
||||
cli.addArgument("force");
|
||||
cli.addArgument("kill");
|
||||
cli.addArgument("1");
|
||||
cli.addArgument("name", true);
|
||||
if (cli.hasArgument("help")) {
|
||||
@@ -294,10 +300,16 @@ int main(int argc, char * argv[]) {
|
||||
}
|
||||
PIString name = cli.argumentValue("name");
|
||||
PISingleApplication * sapp = 0;
|
||||
if (cli.hasArgument("1") && !cli.hasArgument("force")) {
|
||||
if ((cli.hasArgument("1") && !cli.hasArgument("force")) || cli.hasArgument("kill")) {
|
||||
sapp = new PISingleApplication("pisd");
|
||||
if (!sapp->isFirst()) {
|
||||
piCout << "Another pisd is running, exit";
|
||||
if (cli.hasArgument("1")) {
|
||||
if (!sapp->isFirst()) {
|
||||
piCout << "Another pisd is running, exit";
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
if (cli.hasArgument("kill")) {
|
||||
sapp->sendMessage(PIByteArray("k", 1));
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
@@ -320,6 +332,7 @@ int main(int argc, char * argv[]) {
|
||||
if (!name.isEmpty())
|
||||
daemon->changeName(pisd_prefix + name);
|
||||
MainMenu * menu = new MainMenu(*daemon);
|
||||
if (sapp) CONNECTU(sapp, messageReceived, menu, messageFromApp)
|
||||
screen->start();
|
||||
screen->waitForFinish();
|
||||
delete menu;
|
||||
|
||||
Reference in New Issue
Block a user