X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2FLibCecSharp%2FCecSharpTypes.h;h=e88166746116a63e47d46609757dd828479ffaee;hb=94e9a2afff9e6bfc18fa401fc9824432475a5927;hp=55c756ef874e05cf88f3011b99f69c4e9d8cc3e8;hpb=4ef3b314fa1f81ba7190cc5c7c3ee273ef7eb1eb;p=deb_libcec.git diff --git a/src/LibCecSharp/CecSharpTypes.h b/src/LibCecSharp/CecSharpTypes.h index 55c756e..e881667 100644 --- a/src/LibCecSharp/CecSharpTypes.h +++ b/src/LibCecSharp/CecSharpTypes.h @@ -369,6 +369,7 @@ namespace CecSharp return Addresses[(unsigned int)iAddress] != CecLogicalAddress::Unregistered; } + property CecLogicalAddress Primary; property array ^ Addresses; }; @@ -640,11 +641,14 @@ namespace CecSharp void DestroyDelegates() { - m_bHasCallbacks = false; - delete m_callbacks; - m_logMessageGCHandle.Free(); - m_keypressGCHandle.Free(); - m_commandGCHandle.Free(); + if (m_bHasCallbacks) + { + m_bHasCallbacks = false; + delete m_callbacks; + m_logMessageGCHandle.Free(); + m_keypressGCHandle.Free(); + m_commandGCHandle.Free(); + } } CecLogMessageManagedDelegate ^ m_logMessageDelegate; @@ -666,22 +670,26 @@ namespace CecSharp public ref class LibCECConfiguration { public: - LibCECConfiguration(CecCallbackMethods ^callbacks) + LibCECConfiguration(void) { DeviceName = ""; + DeviceTypes = gcnew CecDeviceTypeList(); PhysicalAddress = CEC_DEFAULT_PHYSICAL_ADDRESS; BaseDevice = (CecLogicalAddress)CEC_DEFAULT_BASE_DEVICE; HDMIPort = CEC_DEFAULT_HDMI_PORT; ClientVersion = CecClientVersion::VersionPre1_5; GetSettingsFromROM = false; - UseTVMenuLanguage = CEC_DEFAULT_SETTING_USE_TV_MENU_LANGUAGE ? true : false; - PowerOnStartup = CEC_DEFAULT_SETTING_POWER_ON_STARTUP ? true : false; - PowerOffShutdown = CEC_DEFAULT_SETTING_POWER_OFF_SHUTDOWN ? true : false; - PowerOffScreensaver = CEC_DEFAULT_SETTING_POWER_OFF_SCREENSAVER ? true : false; - PowerOffOnStandby = CEC_DEFAULT_SETTING_POWER_OFF_ON_STANDBY ? true : false; + UseTVMenuLanguage = CEC_DEFAULT_SETTING_USE_TV_MENU_LANGUAGE == 1; + PowerOnStartup = CEC_DEFAULT_SETTING_POWER_ON_STARTUP == 1; + PowerOffShutdown = CEC_DEFAULT_SETTING_POWER_OFF_SHUTDOWN == 1; + PowerOffScreensaver = CEC_DEFAULT_SETTING_POWER_OFF_SCREENSAVER == 1; + PowerOffOnStandby = CEC_DEFAULT_SETTING_POWER_OFF_ON_STANDBY == 1; + } - Callbacks = callbacks; + void SetCallbacks(CecCallbackMethods ^callbacks) + { + Callbacks = callbacks; } property System::String ^ DeviceName;