diff --git a/APRSTransmit/APRSTransmitAppD.cpp b/APRSTransmit/APRSTransmitAppD.cpp index 60f18aa..75be9ca 100644 --- a/APRSTransmit/APRSTransmitAppD.cpp +++ b/APRSTransmit/APRSTransmitAppD.cpp @@ -33,6 +33,7 @@ #endif const wxChar* REPEATER_PARAM = wxT("Repeater"); +const wxChar* APRS_PASSWORD = wxT("password"); const wxChar* APRS_HOST = wxT("host"); const wxChar* APRS_PORT = wxT("port"); const wxChar* APRS_FILTER = wxT("filter"); @@ -61,6 +62,7 @@ int main(int argc, char** argv) wxCmdLineParser parser(argc, argv); parser.AddParam(REPEATER_PARAM, wxCMD_LINE_VAL_STRING, wxCMD_LINE_PARAM_OPTIONAL); + parser.AddOption(APRS_PASSWORD, wxEmptyString, wxEmptyString, wxCMD_LINE_VAL_STRING, wxCMD_LINE_PARAM_OPTIONAL); parser.AddOption(APRS_HOST, wxEmptyString, wxEmptyString, wxCMD_LINE_VAL_STRING, wxCMD_LINE_PARAM_OPTIONAL); parser.AddOption(APRS_PORT, wxEmptyString, wxEmptyString, wxCMD_LINE_VAL_NUMBER, wxCMD_LINE_PARAM_OPTIONAL); parser.AddOption(APRS_FILTER, wxEmptyString, wxEmptyString, wxCMD_LINE_VAL_STRING, wxCMD_LINE_PARAM_OPTIONAL); @@ -73,7 +75,7 @@ int main(int argc, char** argv) } if (parser.GetParamCount() < 1U) { - ::fprintf(stderr, "aprstransmitd: invalid command line usage: aprstransmitd [-host ] [-port ] [-filter [; [-password ] [-host ] [-port ] [-filter [;init()) { ::wxUninitialize(); return 1; @@ -162,9 +167,10 @@ int main(int argc, char** argv) -CAPRSTransmitAppD::CAPRSTransmitAppD(const wxString& repeater, const wxString& aprsHost, unsigned int aprsPort, const wxString& aprsFilter, bool daemon) : +CAPRSTransmitAppD::CAPRSTransmitAppD(const wxString& repeater, const wxString& aprsPassword, const wxString& aprsHost, unsigned int aprsPort, const wxString& aprsFilter, bool daemon) : m_aprsFramesQueue(NULL), m_repeater(repeater), +m_aprsPassword(aprsPassword), m_aprsHost(aprsHost), m_aprsFilter(aprsFilter), m_aprsPort(aprsPort), @@ -220,7 +226,7 @@ void CAPRSTransmitAppD::run() if(m_run) return; m_aprsFramesQueue = new CRingBuffer(30U); - m_aprsThread = new CAPRSWriterThread(m_repeater, wxT("0.0.0.0"), m_aprsHost, m_aprsPort, m_aprsFilter, wxT("APRSTransmit 1.1")); + m_aprsThread = new CAPRSWriterThread(m_repeater, m_aprsPassword, wxT("0.0.0.0"), m_aprsHost, m_aprsPort, m_aprsFilter, wxT("APRSTransmit 1.1")); m_aprsThread->setReadAPRSCallback(aprsFrameCallback); m_aprsThread->start(); diff --git a/APRSTransmit/APRSTransmitAppD.h b/APRSTransmit/APRSTransmitAppD.h index 815a16b..0e0c160 100644 --- a/APRSTransmit/APRSTransmitAppD.h +++ b/APRSTransmit/APRSTransmitAppD.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2014 by Jonathan Naylor G4KLX + * Copyright (C) 2014,2018 by Jonathan Naylor G4KLX * APRSTransmit Copyright (C) 2015 Geoffrey Merck F4FXL / KC3FRA * * This program is free software; you can redistribute it and/or modify @@ -31,7 +31,7 @@ class CAPRSTransmitAppD { public: - CAPRSTransmitAppD(const wxString& repeater, const wxString& aprsHost, unsigned int aprsPort, const wxString& aprsFilter, bool daemon); + CAPRSTransmitAppD(const wxString& repeater, const wxString& aprsPassword, const wxString& aprsHost, unsigned int aprsPort, const wxString& aprsFilter, bool daemon); ~CAPRSTransmitAppD(); CRingBuffer * m_aprsFramesQueue; @@ -41,7 +41,7 @@ public: void kill(); private: - wxString m_repeater, m_aprsHost, m_aprsFilter; + wxString m_repeater, m_aprsPassword, m_aprsHost, m_aprsFilter; unsigned int m_aprsPort; CAPRSWriterThread * m_aprsThread; bool m_run;