From 60a245d1a3541f661f66a308e61641abfdf7aec9 Mon Sep 17 00:00:00 2001 From: Lars Op den Kamp Date: Tue, 1 Nov 2011 01:22:14 +0100 Subject: [PATCH] cec: operator= for cec_datapacket and cec_command --- include/cectypes.h | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) 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(); -- 2.34.1