- CCECProcessor * m_processor; /**< a pointer to the processor */
- libcec_configuration m_configuration; /**< the configuration of this client */
- bool m_bInitialised; /**< true when initialised, false otherwise */
- bool m_bRegistered; /**< true when registered in the processor, false otherwise */
- PLATFORM::CMutex m_mutex; /**< mutex for changes to this instance */
- PLATFORM::CMutex m_logMutex; /**< mutex that is held when sending a log message back to the client */
- cec_user_control_code m_iCurrentButton; /**< the control code of the button that's currently held down (if any) */
- int64_t m_buttontime; /**< the timestamp when the button was pressed (in seconds since epoch), or 0 if none was pressed. */
- PLATFORM::SyncedBuffer<cec_log_message> m_logBuffer; /**< @deprecated will be removed in v2.0. buffer for log messages */
- PLATFORM::SyncedBuffer<cec_keypress> m_keyBuffer; /**< @deprecated will be removed in v2.0. buffer for keypresses */
- PLATFORM::SyncedBuffer<cec_command> m_commandBuffer; /**< @deprecated will be removed in v2.0. buffer for commands */
+ virtual void CallbackAddCommand(const cec_command &command);
+ virtual void CallbackAddKey(const cec_keypress &key);
+ virtual void CallbackAddLog(const cec_log_message &message);
+ virtual void CallbackAlert(const libcec_alert type, const libcec_parameter ¶m);
+ virtual void CallbackConfigurationChanged(const libcec_configuration &config);
+ virtual int CallbackMenuStateChanged(const cec_menu_state newState);
+ virtual void CallbackSourceActivated(bool bActivated, const cec_logical_address logicalAddress);
+
+ CCECProcessor * m_processor; /**< a pointer to the processor */
+ libcec_configuration m_configuration; /**< the configuration of this client */
+ bool m_bInitialised; /**< true when initialised, false otherwise */
+ bool m_bRegistered; /**< true when registered in the processor, false otherwise */
+ PLATFORM::CMutex m_mutex; /**< mutex for changes to this instance */
+ PLATFORM::CMutex m_cbMutex; /**< mutex that is held when doing anything with callbacks */
+ cec_user_control_code m_iCurrentButton; /**< the control code of the button that's currently held down (if any) */
+ int64_t m_buttontime; /**< the timestamp when the button was pressed (in seconds since epoch), or 0 if none was pressed. */
+ int64_t m_iPreventForwardingPowerOffCommand; /**< prevent forwarding standby commands until this time */
+ int64_t m_iLastKeypressTime; /**< last time a key press was sent to the client */
+ cec_keypress m_lastKeypress; /**< the last key press that was sent to the client */