#include #include #include #include #include #include #include #include #include #include #include #include #include "control_tools.h" #include "pclsync_lib.h" #include "overlay_client.h" namespace control_tools{ static const int STOP = 0; enum command_ids_ { STARTCRYPTO = 20, STOPCRYPTO, FINALIZE, LISTSYNC, ADDSYNC, STOPSYNC }; int start_crypto(const char * pass) { int ret; char* errm; if (SendCall(STARTCRYPTO, pass, &ret, &errm)) std::cout << "Start Crypto failed. return is " << ret<< " and message is "<, stopcrypto, finalize, q, quit" << std::endl; std::cout<< "> " ; for (std::string line; std::getline(std::cin, line);) { if (!line.compare("finalize")) { finalize(); break;} else if (!line.compare("stopcrypto")) stop_crypto(); else if (!line.compare(0,11,"startcrypto",0,11) && (line.length() > 12)) start_crypto(line.c_str() + 12); else if (!line.compare("q") || !line.compare("quit")) break; std::cout<< "> " ; } } int daemonize(bool do_commands) { pid_t pid, sid; pid = fork(); if (pid < 0) exit(EXIT_FAILURE); if (pid > 0) { std::cout << "Daemon process created. Process id is: " << pid << std::endl; if (do_commands) { process_commands(); } else std::cout << "sudo kill -9 "<