X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Ftestclient%2Fmain.cpp;h=e47c24bdeb11cd338b51d92bf454957ff7b647e9;hb=d3fdb5a5bd3741249b81005e5e84b515c8606fe3;hp=fe3f893a863ef2df0cc92f8250409f144c6f993e;hpb=38f1fbcc12f5774288b55e3a75df10338f1ed70f;p=deb_libcec.git diff --git a/src/testclient/main.cpp b/src/testclient/main.cpp index fe3f893..e47c24b 100644 --- a/src/testclient/main.cpp +++ b/src/testclient/main.cpp @@ -30,7 +30,8 @@ * http://www.pulse-eight.net/ */ -#include "../../include/cec.h" +#include "../env.h" +#include "../include/cec.h" #include #include @@ -40,14 +41,15 @@ #include #include "../lib/platform/os.h" #include "../lib/implementations/CECCommandHandler.h" +#include "../lib/platform/util/StdString.h" using namespace CEC; using namespace std; using namespace PLATFORM; -#define CEC_CONFIG_VERSION CEC_CLIENT_VERSION_1_7_1; +#define CEC_CONFIG_VERSION CEC_CLIENT_VERSION_1_8_2; -#include +#include "../../include/cecloader.h" ICECCallbacks g_callbacks; libcec_configuration g_config; @@ -221,8 +223,13 @@ void ListDevices(ICECAdapter *parser) { time_t buildTime = (time_t)config.iFirmwareBuildDate; strDeviceInfo.AppendFormat("firmware build date: %s", asctime(gmtime(&buildTime))); - strDeviceInfo = strDeviceInfo.Left((int)strDeviceInfo.length() - 1); // strip \n added by asctime - strDeviceInfo.append(" +0000"); + strDeviceInfo = strDeviceInfo.Left(strDeviceInfo.length() > 1 ? (unsigned)(strDeviceInfo.length() - 1) : 0); // strip \n added by asctime + strDeviceInfo.append(" +0000\n"); + } + + if (config.adapterType != ADAPTERTYPE_UNKNOWN) + { + strDeviceInfo.AppendFormat("type: %s\n", parser->ToString(config.adapterType)); } } strDeviceInfo.append("\n"); @@ -253,6 +260,7 @@ void ShowHelpCommandLine(const char* strExec) " on devices on startup and power them off on exit." << endl << " -o --osd-name {osd name} Use a custom osd name." << endl << " -m --monitor Start a monitor-only client." << endl << + " -i --info Shows information about how libCEC was compiled." << endl << " [COM PORT] The com port to connect to. If no COM" << endl << " port is given, the client tries to connect to the" << endl << " first device that is detected." << endl << @@ -1007,6 +1015,24 @@ bool ProcessCommandLineArguments(int argc, char *argv[]) } ++iArgPtr; } + else if (!strcmp(argv[iArgPtr], "--info") || + !strcmp(argv[iArgPtr], "-i")) + { + if (g_cecLogLevel == -1) + g_cecLogLevel = CEC_LOG_WARNING + CEC_LOG_ERROR; + ICECAdapter *parser = LibCecInitialise(&g_config); + if (parser) + { + CStdString strMessage; + strMessage.Format("libCEC version: %s", parser->ToString((cec_server_version)g_config.serverVersion)); + if (g_config.serverVersion >= CEC_SERVER_VERSION_1_7_2) + strMessage.AppendFormat(", %s", parser->GetLibInfo()); + PrintToStdOut(strMessage.c_str()); + UnloadLibCec(parser); + parser = NULL; + } + bReturn = false; + } else if (!strcmp(argv[iArgPtr], "--list-devices") || !strcmp(argv[iArgPtr], "-l")) { @@ -1144,6 +1170,9 @@ int main (int argc, char *argv[]) return 1; } + // init video on targets that need this + parser->InitVideoStandalone(); + if (!g_bSingleCommand) { CStdString strLog;