cec: refactor USB adapter communication. less locks, shorter locks, added documentati...
[deb_libcec.git] / src / lib / LibCECC.cpp
index b57b1074b66a4c9c1d06129d690289d5939a1251..4a7e0be9b8260f8d0a491929be7a9db930f18922 100644 (file)
@@ -42,7 +42,7 @@ using namespace std;
 //@{
 ICECAdapter *cec_parser;
 
-int cec_initialise(const libcec_configuration *configuration)
+int cec_initialise(libcec_configuration *configuration)
 {
   cec_parser = (ICECAdapter *) CECInitialise(configuration);
   return (cec_parser != NULL) ? 1 : 0;
@@ -390,4 +390,40 @@ 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;
+}
+
+void cec_rescan_devices(void)
+{
+  if (cec_parser)
+    cec_parser->RescanActiveDevices();
+}
+
+int cec_is_libcec_active_source(void)
+{
+  return cec_parser ? (cec_parser->IsLibCECActiveSource() ? 1 : 0) : -1;
+}
+
+int cec_get_device_information(const char *strPort, CEC::libcec_configuration *config, uint32_t iTimeoutMs)
+{
+  return cec_parser ? (cec_parser->GetDeviceInformation(strPort, config, iTimeoutMs) ? 1 : 0) : -1;
+}
+
 //@}