Add -nolog option to P25PArrot

This commit is contained in:
phl0 2017-07-20 10:47:49 +02:00
parent a7d97ca7a1
commit cd27fbba97
No known key found for this signature in database
GPG Key ID: 48EA1E640798CA9A
2 changed files with 26 additions and 10 deletions

View File

@ -32,16 +32,22 @@
int main(int argc, char** argv)
{
if (argc == 1) {
::fprintf(stderr, "Usage: P25Parrot [-d|--debug] <port>\n");
::fprintf(stderr, "Usage: P25Parrot [-d|--debug] [-n|--nolog] <port>\n");
return 1;
}
unsigned int n = 1U;
int n = 1U;
bool debug = false;
if (::strcmp(argv[1], "-d") == 0 || ::strcmp(argv[1], "--debug") == 0) {
debug = true;
n = 2U;
bool log = true;
for (; n < argc-1; n++) {
if (::strcmp(argv[n], "-d") == 0 || ::strcmp(argv[n], "--debug") == 0) {
debug = true;
}
if (::strcmp(argv[n], "-n") == 0 || ::strcmp(argv[n], "--nolog") == 0) {
log = false;
}
}
unsigned int port = ::atoi(argv[n]);
@ -50,15 +56,16 @@ int main(int argc, char** argv)
return 1;
}
CP25Parrot parrot(port, debug);
CP25Parrot parrot(port, debug, log);
parrot.run();
return 0;
}
CP25Parrot::CP25Parrot(unsigned int port, bool debug) :
CP25Parrot::CP25Parrot(unsigned int port, bool debug, bool log) :
m_port(port),
m_debug(debug)
m_debug(debug),
m_log(log)
{
}
@ -68,12 +75,20 @@ CP25Parrot::~CP25Parrot()
void CP25Parrot::run()
{
bool ret = ::LogInitialise(".", "P25Parrot", m_debug ? 1U : 2U, m_debug ? 1U : 2U);
int fileLevel = 0U;
if (m_log) {
fileLevel = m_debug ? 1U : 2U;
}
bool ret = ::LogInitialise(".", "P25Parrot", fileLevel, m_debug ? 1U : 2U);
if (!ret) {
::fprintf(stderr, "P25Parrot: unable to open the log file\n");
return;
}
LogInfo("Debug: %s", m_debug ? "enabled" : "disabled");
LogInfo("Logging to file: %s", m_log ? "enabled" : "disabled");
CParrot parrot(180U);
CNetwork network(m_port);

View File

@ -22,7 +22,7 @@
class CP25Parrot
{
public:
CP25Parrot(unsigned int port, bool debug);
CP25Parrot(unsigned int port, bool debug, bool log);
~CP25Parrot();
void run();
@ -30,6 +30,7 @@ public:
private:
unsigned int m_port;
bool m_debug;
bool m_log;
};
#endif