X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2FLibCecSharp%2FLibCecSharp.cpp;h=3ce95dfcbf0b4d4f46b08c9c4563abc4f6532d23;hb=29d5198c74435c4bb10bcfa635187f005a0c681d;hp=680ccfba6f2ffa51b549e145c202c1c78cb3a97f;hpb=466925f5c43536e5fd96632615810da783b78096;p=deb_libcec.git diff --git a/src/LibCecSharp/LibCecSharp.cpp b/src/LibCecSharp/LibCecSharp.cpp index 680ccfb..3ce95df 100644 --- a/src/LibCecSharp/LibCecSharp.cpp +++ b/src/LibCecSharp/LibCecSharp.cpp @@ -82,6 +82,7 @@ namespace CecSharp ConvertConfiguration(context, config, libCecConfig); m_libCec = (ICECAdapter *) CECInitialise(&libCecConfig); + config->Update(libCecConfig); delete context; return m_libCec != NULL; @@ -91,7 +92,8 @@ namespace CecSharp { config.Clear(); - _snprintf_s(config.strDeviceName, 13, context->marshal_as(netConfig->DeviceName)); + const char *strDeviceName = context->marshal_as(netConfig->DeviceName); + memcpy_s(config.strDeviceName, 13, strDeviceName, 13); for (unsigned int iPtr = 0; iPtr < 5; iPtr++) config.deviceTypes.types[iPtr] = (cec_device_type)netConfig->DeviceTypes->Types[iPtr]; @@ -128,7 +130,15 @@ namespace CecSharp } if (netConfig->ServerVersion >= CecServerVersion::Version1_6_2) - _snprintf_s(config.strDeviceLanguage, 3, context->marshal_as(netConfig->DeviceLanguage)); + { + const char *strDeviceLanguage = context->marshal_as(netConfig->DeviceLanguage); + memcpy_s(config.strDeviceLanguage, 3, strDeviceLanguage, 3); + } + + if (netConfig->ServerVersion >= CecServerVersion::Version1_6_3) + { + config.bMonitorOnly = netConfig->MonitorOnlyClient ? 1 : 0; + } config.callbacks = &g_cecCallbacks; } @@ -226,7 +236,7 @@ namespace CecSharp cec_keypress key; if (m_libCec->GetNextKeypress(&key)) { - return gcnew CecKeypress(key.keycode, key.duration); + return gcnew CecKeypress((CecUserControlCode)key.keycode, key.duration); } return gcnew CecKeypress();