X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Flib%2FCECParserC.cpp;h=5d7bf61223d952afa496d6346439e584dfb8591a;hb=5f39c4d854ec7441761bc6db870b6bbc73016309;hp=1aae849a7815f47550ee9784d726b0afeb1c32ba;hpb=df7339c665f732faedee7c1d3cde816cc41e3302;p=deb_libcec.git diff --git a/src/lib/CECParserC.cpp b/src/lib/CECParserC.cpp index 1aae849..5d7bf61 100644 --- a/src/lib/CECParserC.cpp +++ b/src/lib/CECParserC.cpp @@ -47,11 +47,11 @@ bool cec_init(const char *strDeviceName, cec_logical_address iLogicalAddress /* return (cec_parser != NULL); } -bool cec_close(void) +void cec_destroy(void) { + cec_close(); delete cec_parser; cec_parser = NULL; - return true; } bool cec_open(const char *strPort, int iTimeout) @@ -61,6 +61,12 @@ bool cec_open(const char *strPort, int iTimeout) return false; } +void cec_close(void) +{ + if (cec_parser) + cec_parser->Close(); +} + bool cec_ping(void) { if (cec_parser) @@ -124,17 +130,31 @@ bool cec_get_next_keypress(cec_keypress *key) return false; } -bool cec_transmit(const CEC::cec_frame &data, bool bWaitForAck /* = true */, int64_t iTimeout /* = 2000 */) +bool cec_get_next_command(cec_command *command) +{ + if (cec_parser) + return cec_parser->GetNextCommand(command); + return false; +} + +bool cec_transmit(const CEC::cec_frame &data, bool bWaitForAck /* = true */) +{ + if (cec_parser) + return cec_parser->Transmit(data, bWaitForAck); + return false; +} + +bool cec_set_logical_address(cec_logical_address iLogicalAddress) { if (cec_parser) - return cec_parser->Transmit(data, bWaitForAck, iTimeout); + return cec_parser->SetLogicalAddress(iLogicalAddress); return false; } -bool cec_set_ack_mask(uint16_t ackmask) +bool cec_set_ack_mask(uint16_t iMask) { if (cec_parser) - return cec_parser->SetAckMask((cec_logical_address) ackmask); + return cec_parser->SetAckMask(iMask); return false; }