X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Flib%2FLibCECC.cpp;h=4a7e0be9b8260f8d0a491929be7a9db930f18922;hb=99aeafb929fa132a096c236c4ae1eb78c2a595ec;hp=3711686e3685e56f907699e1c974f14fde0bf177;hpb=f42d3e0fb1f63456b87232019d9cce731acad640;p=deb_libcec.git diff --git a/src/lib/LibCECC.cpp b/src/lib/LibCECC.cpp index 3711686..4a7e0be 100644 --- a/src/lib/LibCECC.cpp +++ b/src/lib/LibCECC.cpp @@ -30,8 +30,8 @@ * http://www.pulse-eight.net/ */ -#include -#include +#include "../../include/cec.h" +#include "../../include/cecc.h" using namespace CEC; using namespace std; @@ -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(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; } @@ -381,4 +381,49 @@ int cec_set_stream_path_physical(uint16_t iPhysicalAddress) return cec_parser ? (cec_parser->SetStreamPath(iPhysicalAddress) ? 1 : 0) : -1; } +cec_logical_addresses cec_get_logical_addresses(void) +{ + cec_logical_addresses addr; + addr.Clear(); + if (cec_parser) + addr = cec_parser->GetLogicalAddresses(); + 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; +} + //@}