cec: added vendor detection for panasonic and broadcast active view and set menu...
[deb_libcec.git] / include / cectypes.h
index afd5b162cbb4bdaf9b5339b99a96a3481d75c6aa..99b265687c4f83c4ccd5c07aa3a084d41980dacb 100644 (file)
@@ -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();
@@ -686,9 +709,10 @@ typedef struct cec_command
 
 typedef enum cec_vendor_id
 {
-  CEC_VENDOR_SAMSUNG = 0x00F0,
-  CEC_VENDOR_LG      = 0xE091,
-  CEC_VENDOR_UNKNOWN = 0
+  CEC_VENDOR_SAMSUNG   = 0x00F0,
+  CEC_VENDOR_LG        = 0xE091,
+  CEC_VENDOR_PANASONIC = 0x8045,
+  CEC_VENDOR_UNKNOWN   = 0
 } cec_vendor_id;
 
 typedef struct cec_vendor
@@ -700,7 +724,9 @@ typedef struct cec_vendor
     case CEC_VENDOR_SAMSUNG:
       return "Samsung";
     case CEC_VENDOR_LG:
-        return "LG";
+      return "LG";
+    case CEC_VENDOR_PANASONIC:
+      return "Panasonic";
     default:
       return "Unknown";
     }
@@ -715,10 +741,12 @@ typedef struct cec_vendor
 #define MSGEND                       0xFE
 #define MSGESC                       0xFD
 #define ESCOFFSET                    3
-#define CEC_MIN_VERSION              8
-#define CEC_LIB_VERSION              8
 #define CEC_BUTTON_TIMEOUT           500
 
+#define CEC_MIN_LIB_VERSION          1
+#define CEC_LIB_VERSION_MAJOR        1
+#define CEC_LIB_VERSION_MINOR        0
+
 #ifdef __cplusplus
 };
 };