X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Flib%2FLibCECC.cpp;h=c95741c2356d930be974fe677db0636d5aa6fbea;hb=305500533ee1524692ceaf3cb5f38d24225c5920;hp=a3be5f3bea89df0498af40851132a293f4ce6040;hpb=d75be19be59f575e3794761118ff7643bfaf9809;p=deb_libcec.git diff --git a/src/lib/LibCECC.cpp b/src/lib/LibCECC.cpp index a3be5f3..c95741c 100644 --- a/src/lib/LibCECC.cpp +++ b/src/lib/LibCECC.cpp @@ -42,12 +42,18 @@ using namespace std; //@{ ICECAdapter *cec_parser; -int cec_init(const char *strDeviceName, cec_logical_address iLogicalAddress /* = CECDEVICE_PLAYBACKDEVICE1 */, uint8_t iPhysicalAddress /* = CEC_DEFAULT_PHYSICAL_ADDRESS */) +int cec_init(const char *strDeviceName, cec_logical_address iLogicalAddress, uint16_t iPhysicalAddress) { cec_parser = (ICECAdapter *) CECCreate(strDeviceName, iLogicalAddress, iPhysicalAddress); return (cec_parser != NULL) ? 1 : 0; } +int cec_init_typed(const char *strDeviceName, cec_device_type_list devicesTypes) +{ + cec_parser = (ICECAdapter *) CECInit(strDeviceName, devicesTypes); + return (cec_parser != NULL) ? 1 : 0; +} + void cec_destroy(void) { cec_close(); @@ -131,10 +137,10 @@ int cec_get_next_command(cec_command *command) return -1; } -int cec_transmit(const CEC::cec_command &data) +int cec_transmit(const CEC::cec_command *data) { if (cec_parser) - return cec_parser->Transmit(data) ? 1 : 0; + return cec_parser->Transmit(*data) ? 1 : 0; return -1; } @@ -173,6 +179,13 @@ int cec_set_active_view(void) return -1; } +int cec_set_active_source(cec_device_type type) +{ + if (cec_parser) + return cec_parser->SetActiveSource(type) ? 1 : 0; + return -1; +} + int cec_set_inactive_view(void) { if (cec_parser) @@ -222,4 +235,11 @@ cec_power_status cec_get_device_power_status(cec_logical_address iLogicalAddress return CEC_POWER_STATUS_UNKNOWN; } +int cec_poll_device(cec_logical_address iLogicalAddress) +{ + if (cec_parser) + return cec_parser->PollDevice(iLogicalAddress); + return -1; +} + //@}