#include <fstream>
#include <string>
#include <sstream>
+#include <signal.h>
#include "../lib/platform/os.h"
#include "../lib/implementations/CECCommandHandler.h"
#include "../lib/platform/util/StdString.h"
using namespace std;
using namespace PLATFORM;
-#define CEC_CONFIG_VERSION CEC_CLIENT_VERSION_1_8_0;
+#define CEC_CONFIG_VERSION CEC_CLIENT_VERSION_1_9_0;
-#include <cecloader.h>
+#include "../../include/cecloader.h"
ICECCallbacks g_callbacks;
libcec_configuration g_config;
time_t buildTime = (time_t)config.iFirmwareBuildDate;
strDeviceInfo.AppendFormat("firmware build date: %s", asctime(gmtime(&buildTime)));
strDeviceInfo = strDeviceInfo.Left(strDeviceInfo.length() > 1 ? (unsigned)(strDeviceInfo.length() - 1) : 0); // strip \n added by asctime
- strDeviceInfo.append(" +0000");
+ strDeviceInfo.append(" +0000\n");
+ }
+
+ if (config.adapterType != ADAPTERTYPE_UNKNOWN)
+ {
+ strDeviceInfo.AppendFormat("type: %s\n", parser->ToString(config.adapterType));
}
}
strDeviceInfo.append("\n");
if (iDev >= 0 && iDev < 15)
{
uint64_t iVendor = parser->GetDeviceVendorId((cec_logical_address) iDev);
- PrintToStdOut("vendor id: %06x", iVendor);
+ PrintToStdOut("vendor id: %06llx", iVendor);
return true;
}
}
{
if (!g_bSingleCommand)
cout << "== using device type 'playback device'" << endl;
- g_config.deviceTypes.add(CEC_DEVICE_TYPE_PLAYBACK_DEVICE);
+ g_config.deviceTypes.Add(CEC_DEVICE_TYPE_PLAYBACK_DEVICE);
}
else if (!strcmp(argv[iArgPtr + 1], "r"))
{
if (!g_bSingleCommand)
cout << "== using device type 'recording device'" << endl;
- g_config.deviceTypes.add(CEC_DEVICE_TYPE_RECORDING_DEVICE);
+ g_config.deviceTypes.Add(CEC_DEVICE_TYPE_RECORDING_DEVICE);
}
else if (!strcmp(argv[iArgPtr + 1], "t"))
{
if (!g_bSingleCommand)
cout << "== using device type 'tuner'" << endl;
- g_config.deviceTypes.add(CEC_DEVICE_TYPE_TUNER);
+ g_config.deviceTypes.Add(CEC_DEVICE_TYPE_TUNER);
}
else if (!strcmp(argv[iArgPtr + 1], "a"))
{
if (!g_bSingleCommand)
cout << "== using device type 'audio system'" << endl;
- g_config.deviceTypes.add(CEC_DEVICE_TYPE_AUDIO_SYSTEM);
+ g_config.deviceTypes.Add(CEC_DEVICE_TYPE_AUDIO_SYSTEM);
}
else
{
return bReturn;
}
+void sighandler(int iSignal)
+{
+ PrintToStdOut("signal caught: %d - exiting", iSignal);
+ g_bExit = true;
+}
+
int main (int argc, char *argv[])
{
+ if (signal(SIGINT, sighandler) == SIG_ERR)
+ {
+ PrintToStdOut("can't register sighandler");
+ return -1;
+ }
+
g_config.Clear();
g_callbacks.Clear();
snprintf(g_config.strDeviceName, 13, "CECTester");
{
if (!g_bSingleCommand)
cout << "No device type given. Using 'recording device'" << endl;
- g_config.deviceTypes.add(CEC_DEVICE_TYPE_RECORDING_DEVICE);
+ g_config.deviceTypes.Add(CEC_DEVICE_TYPE_RECORDING_DEVICE);
}
ICECAdapter *parser = LibCecInitialise(&g_config);