cec: added 'scan' command to cec-client, that displays info about devices on the...
[deb_libcec.git] / src / lib / implementations / CECCommandHandler.h
index 0505c7cc81ff23e77ec1a78ae0bc825d4d1e152b..7db751448054ada9711fbf92c0b1ed831d8db373 100644 (file)
@@ -32,6 +32,7 @@
  */
 
 #include <cectypes.h>
+#include <vector>
 
 namespace CEC
 {
@@ -47,29 +48,46 @@ namespace CEC
     virtual cec_vendor_id GetVendorId(void) { return CEC_VENDOR_UNKNOWN; };
 
   protected:
-    bool HandleDeviceCecVersion(const cec_command &command);
-    bool HandleDeviceVendorCommandWithId(const cec_command &command);
-    bool HandleDeviceVendorId(const cec_command &command);
-    bool HandleGetCecVersion(const cec_command &command);
-    bool HandleGiveDeckStatus(const cec_command &command);
-    bool HandleGiveDevicePowerStatus(const cec_command &command);
-    bool HandleGiveDeviceVendorId(const cec_command &command);
-    bool HandleGiveOSDName(const cec_command &command);
-    bool HandleGivePhysicalAddress(const cec_command &command);
-    bool HandleMenuRequest(const cec_command &command);
-    bool HandleReportPowerStatus(const cec_command &command);
-    bool HandleRequestActiveSource(const cec_command &command);
-    bool HandleRoutingChange(const cec_command &command);
-    bool HandleSetMenuLanguage(const cec_command &command);
-    bool HandleSetStreamPath(const cec_command &command);
-    bool HandleUserControlPressed(const cec_command &command);
-    bool HandleUserControlRelease(const cec_command &command);
-    void UnhandledCommand(const cec_command &command);
+    virtual bool HandleActiveSource(const cec_command &command);
+    virtual bool HandleDeckControl(const cec_command &command);
+    virtual bool HandleDeviceCecVersion(const cec_command &command);
+    virtual bool HandleDeviceVendorCommandWithId(const cec_command &command);
+    virtual bool HandleDeviceVendorId(const cec_command &command);
+    virtual bool HandleGetCecVersion(const cec_command &command);
+    virtual bool HandleGiveAudioStatus(const cec_command &command);
+    virtual bool HandleGiveDeckStatus(const cec_command &command);
+    virtual bool HandleGiveDevicePowerStatus(const cec_command &command);
+    virtual bool HandleGiveDeviceVendorId(const cec_command &command);
+    virtual bool HandleGiveOSDName(const cec_command &command);
+    virtual bool HandleGivePhysicalAddress(const cec_command &command);
+    virtual bool HandleGiveSystemAudioModeStatus(const cec_command &command);
+    virtual bool HandleImageViewOn(const cec_command &command);
+    virtual bool HandleMenuRequest(const cec_command &command);
+    virtual bool HandleReportAudioStatus(const cec_command &command);
+    virtual bool HandleReportPhysicalAddress(const cec_command &command);
+    virtual bool HandleReportPowerStatus(const cec_command &command);
+    virtual bool HandleRequestActiveSource(const cec_command &command);
+    virtual bool HandleRoutingChange(const cec_command &command);
+    virtual bool HandleRoutingInformation(const cec_command &command);
+    virtual bool HandleSetMenuLanguage(const cec_command &command);
+    virtual bool HandleSetOSDName(const cec_command &command);
+    virtual bool HandleSetStreamPath(const cec_command &command);
+    virtual bool HandleSetSystemAudioModeRequest(const cec_command &command);
+    virtual bool HandleStandby(const cec_command &command);
+    virtual bool HandleSystemAudioStatus(const cec_command &command);
+    virtual bool HandleTextViewOn(const cec_command &command);
+    virtual bool HandleUserControlPressed(const cec_command &command);
+    virtual bool HandleUserControlRelease(const cec_command &command);
+    virtual void UnhandledCommand(const cec_command &command);
 
-    void SendToCommandBuffer(const cec_command &command);
+    virtual unsigned int GetMyDevices(std::vector<CCECBusDevice *> &devices) const;
+    virtual CCECBusDevice *GetDevice(cec_logical_address iLogicalAddress) const;
+    virtual CCECBusDevice *GetDeviceByPhysicalAddress(uint16_t iPhysicalAddress) const;
+    virtual CCECBusDevice *GetDeviceByType(cec_device_type type) const;
+
+    virtual void SetVendorId(const cec_command &command);
+    virtual void SetPhysicalAddress(cec_logical_address iAddress, uint16_t iNewAddress);
 
-    CCECBusDevice *GetDevice(cec_logical_address iLogicalAddress) const;
-    CCECBusDevice *GetThisDevice(void) const;
     CCECBusDevice *m_busDevice;
   };
 };