cec: added SetConfiguration()/cec_set_configuration() to the interface
[deb_libcec.git] / src / lib / LibCECC.cpp
index 1a7b0454bc21ca22693d59ccdc60052df63853c4..c6f1563a5cf829453b12c8ec43d70530ac610755 100644 (file)
@@ -42,15 +42,15 @@ using namespace std;
 //@{
 ICECAdapter *cec_parser;
 
-int cec_init(const char *strDeviceName, cec_logical_address iLogicalAddress, uint16_t iPhysicalAddress)
+int cec_initialise(const libcec_configuration *configuration)
 {
-  cec_parser = (ICECAdapter *) CECCreate(strDeviceName, iLogicalAddress, iPhysicalAddress);
+  cec_parser = (ICECAdapter *) CECInitialise(configuration);
   return (cec_parser != NULL) ? 1 : 0;
 }
 
-int cec_init_typed(const char *strDeviceName, cec_device_type_list devicesTypes)
+int cec_init_typed(const char *strDeviceName, cec_device_type_list deviceTypes)
 {
-  cec_parser = (ICECAdapter *) CECInit(strDeviceName, devicesTypes);
+  cec_parser = (ICECAdapter *) CECInit(strDeviceName, deviceTypes);
   return (cec_parser != NULL) ? 1 : 0;
 }
 
@@ -390,4 +390,24 @@ cec_logical_addresses cec_get_logical_addresses(void)
   return addr;
 }
 
+int cec_get_current_configuration(libcec_configuration *configuration)
+{
+  return cec_parser ? (cec_parser->GetCurrentConfiguration(configuration) ? 1 : 0) : -1;
+}
+
+int cec_can_persist_configuration(void)
+{
+  return cec_parser ? (cec_parser->CanPersistConfiguration() ? 1 : 0) : -1;
+}
+
+int cec_persist_configuration(libcec_configuration *configuration)
+{
+  return cec_parser ? (cec_parser->PersistConfiguration(configuration) ? 1 : 0) : -1;
+}
+
+int cec_set_configuration(libcec_configuration *configuration)
+{
+  return cec_parser ? (cec_parser->SetConfiguration(configuration) ? 1 : 0) : -1;
+}
+
 //@}