X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2FLibCecSharp%2FLibCecSharp.cpp;h=0bae3eaca39e9d820f49b605968b6e39d78fa580;hb=b9e6e386dae199fe5bcd7cd203ada0e1c509f5c8;hp=073ae774f926ea0b5e87a460a0437ae65409389f;hpb=f9717bcc6224db67d0f40f54588c6fb47990f155;p=deb_libcec.git diff --git a/src/LibCecSharp/LibCecSharp.cpp b/src/LibCecSharp/LibCecSharp.cpp index 073ae77..0bae3ea 100644 --- a/src/LibCecSharp/LibCecSharp.cpp +++ b/src/LibCecSharp/LibCecSharp.cpp @@ -1,7 +1,7 @@ /* * This file is part of the libCEC(R) library. * -* libCEC(R) is Copyright (C) 2011-2012 Pulse-Eight Limited. All rights reserved. +* libCEC(R) is Copyright (C) 2011-2013 Pulse-Eight Limited. All rights reserved. * libCEC(R) is an original work, containing original code. * * libCEC(R) is a trademark of Pulse-Eight Limited. @@ -377,7 +377,7 @@ namespace CecSharp for (uint8_t iPtr = 0; iPtr < 16; iPtr++) if (activeDevices[iPtr]) - retVal->Addresses[iDevices++] = (CecLogicalAddress)iPtr; + retVal->Set((CecLogicalAddress)iPtr); return retVal; } @@ -474,7 +474,11 @@ namespace CecSharp String ^ GetDeviceOSDName(CecLogicalAddress logicalAddress) { cec_osd_name osd = m_libCec->GetDeviceOSDName((cec_logical_address) logicalAddress); - return gcnew String(osd.name); + // we need to terminate with \0, and we only got 14 chars in osd.name + char strOsdName[15]; + memset(strOsdName, 0, sizeof(strOsdName)); + memcpy(strOsdName, osd.name, sizeof(osd.name)); + return gcnew String(strOsdName); } /// @@ -731,6 +735,24 @@ namespace CecSharp m_libCec->InitVideoStandalone(); } + /// + /// Get the (virtual) USB vendor id + /// + /// The (virtual) USB vendor id + uint16_t GetAdapterVendorId() + { + return m_libCec->GetAdapterVendorId(); + } + + /// + /// Get the (virtual) USB product id + /// + /// The (virtual) USB product id + uint16_t GetAdapterProductId() + { + return m_libCec->GetAdapterProductId(); + } + private: !LibCecSharp(void) { @@ -801,6 +823,12 @@ namespace CecSharp if (netConfig->ServerVersion >= CecServerVersion::Version1_6_3) config.bMonitorOnly = netConfig->MonitorOnlyClient ? 1 : 0; + if (netConfig->ServerVersion >= CecServerVersion::Version1_8_0) + config.cecVersion = (cec_version)netConfig->CECVersion; + + if (netConfig->ServerVersion >= CecServerVersion::Version2_1_0) + config.bPowerOnScreensaver = netConfig->PowerOnScreensaver ? 1 : 0; + config.callbacks = &g_cecCallbacks; }