+ return m_libCec != NULL;
+ }
+
+ void GetConfiguration(marshal_context ^context, libcec_configuration &config)
+ {
+ config.Clear();
+
+ _snprintf_s(config.strDeviceName, 13, context->marshal_as<const char*>(m_configuration->DeviceName));
+ for (unsigned int iPtr = 0; iPtr < 5; iPtr++)
+ config.deviceTypes.types[iPtr] = (cec_device_type)m_configuration->DeviceTypes->Types[iPtr];
+
+ config.iPhysicalAddress = m_configuration->PhysicalAddress;
+ config.baseDevice = (cec_logical_address)m_configuration->BaseDevice;
+ config.iHDMIPort = m_configuration->HDMIPort;
+ config.clientVersion = (cec_client_version)m_configuration->ClientVersion;
+ config.bGetSettingsFromROM = m_configuration->GetSettingsFromROM;
+ config.bPowerOnStartup = m_configuration->PowerOnStartup;
+ config.bPowerOffShutdown = m_configuration->PowerOffShutdown;
+ config.bPowerOffScreensaver = m_configuration->PowerOffScreensaver;
+ config.bPowerOffOnStandby = m_configuration->PowerOffOnStandby;
+ config.callbacks = &g_cecCallbacks;