X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=include%2Fcectypes.h;h=5f2edc2f59a604eb01bf9065945bb1be350be150;hb=60a245d1a3541f661f66a308e61641abfdf7aec9;hp=afd5b162cbb4bdaf9b5339b99a96a3481d75c6aa;hpb=5744fbbac9fbf40e485643a7a4851f926054758b;p=deb_libcec.git diff --git a/include/cectypes.h b/include/cectypes.h index afd5b16..5f2edc2 100644 --- a/include/cectypes.h +++ b/include/cectypes.h @@ -599,6 +599,15 @@ typedef struct cec_datapacket uint8_t size; #ifdef __cplusplus + cec_datapacket &operator =(const struct cec_datapacket &packet) + { + clear(); + for (uint8_t iPtr = 0; iPtr < packet.size; iPtr++) + push_back(packet[iPtr]); + + return *this; + } + bool empty(void) const { return size == 0; } bool full(void) const { return size == 100; } uint8_t operator[](uint8_t pos) const { return pos < size ? data[pos] : 0; } @@ -645,6 +654,20 @@ typedef struct cec_command int32_t transmit_timeout; #ifdef __cplusplus + cec_command &operator =(const struct cec_command &command) + { + initiator = command.initiator; + destination = command.destination; + ack = command.ack; + eom = command.eom; + opcode = command.opcode; + opcode_set = command.opcode_set; + transmit_timeout = command.transmit_timeout; + parameters = command.parameters; + + return *this; + } + static void format(cec_command &command, cec_logical_address initiator, cec_logical_address destination, cec_opcode opcode) { command.clear();