X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2FLibCecSharp%2FLibCecSharp.cpp;h=c6f52a1a17b2bda673177728538602c81421b669;hb=5d5e105deb964d38568f046d1d1f0a4a656e1a99;hp=0f9acb12c66f4df9327ab5273c738b3462bcd391;hpb=5085a852b60509eeabe93548385f553697d5ac12;p=deb_libcec.git diff --git a/src/LibCecSharp/LibCecSharp.cpp b/src/LibCecSharp/LibCecSharp.cpp index 0f9acb1..c6f52a1 100644 --- a/src/LibCecSharp/LibCecSharp.cpp +++ b/src/LibCecSharp/LibCecSharp.cpp @@ -46,7 +46,7 @@ namespace CecSharp LibCecSharp(LibCECConfiguration ^config) { m_configuration = config; - m_configuration->SetCallbacks(this); + CecCallbackMethods::EnableCallbacks(m_configuration->Callbacks); if (!InitialiseLibCec()) throw gcnew Exception("Could not initialise LibCecSharp"); } @@ -226,7 +226,7 @@ namespace CecSharp return m_libCec->SetLogicalAddress((cec_logical_address) logicalAddress); } - bool SetPhysicalAddress(int16_t physicalAddress) + bool SetPhysicalAddress(uint16_t physicalAddress) { return m_libCec->SetPhysicalAddress(physicalAddress); } @@ -388,9 +388,31 @@ namespace CecSharp return m_libCec->GetDevicePhysicalAddress((cec_logical_address)iAddress); } + bool SetStreamPath(CecLogicalAddress iAddress) + { + return m_libCec->SetStreamPath((cec_logical_address)iAddress); + } + + bool SetStreamPath(uint16_t iPhysicalAddress) + { + return m_libCec->SetStreamPath(iPhysicalAddress); + } + + CecLogicalAddresses ^GetLogicalAddresses(void) + { + CecLogicalAddresses ^addr = gcnew CecLogicalAddresses(); + cec_logical_addresses libAddr = m_libCec->GetLogicalAddresses(); + for (unsigned int iPtr = 0; iPtr < 16; iPtr++) + addr->Addresses[iPtr] = (CecLogicalAddress)libAddr.addresses[iPtr]; + addr->Primary = (CecLogicalAddress)libAddr.primary; + return addr; + } + bool GetCurrentConfiguration(LibCECConfiguration ^configuration) { libcec_configuration config; + config.Clear(); + if (m_libCec->GetCurrentConfiguration(&config)) { configuration->BaseDevice = (CecLogicalAddress)config.baseDevice;