X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=include%2Fcectypes.h;h=5213b3770ab417c5bb434e24d8d8cd10b24ff459;hb=d0a712a65c05b4bf7bf25eafb8b4c999b6888a42;hp=10f8a566862c4dfa1e6de4efa67337140b9b1984;hpb=1a87cacc08dda28c8f4c42a20bd7fdbe12364bf6;p=deb_libcec.git diff --git a/include/cectypes.h b/include/cectypes.h index 10f8a56..5213b37 100644 --- a/include/cectypes.h +++ b/include/cectypes.h @@ -37,6 +37,12 @@ #include #include +#if defined(_WIN32) || defined(_WIN64) +#define CEC_CDECL __cdecl +#else +#define CEC_CDECL +#endif + #if !defined(DECLSPEC) #if defined(_WIN32) || defined(_WIN64) #include @@ -65,14 +71,17 @@ namespace CEC { #define ESCOFFSET 3 #define CEC_BUTTON_TIMEOUT 500 #define CEC_POWER_STATE_REFRESH_TIME 30000 +#define CEC_FW_VERSION_UNKNOWN 0xFFFF #define CEC_DEFAULT_TRANSMIT_TIMEOUT 1000 #define CEC_DEFAULT_TRANSMIT_WAIT 2000 #define CEC_DEFAULT_TRANSMIT_RETRIES 1 +#define CEC_PING_ADAPTER_TRIES 5 +#define CEC_FW_VERSION_TRIES 5 #define CEC_MIN_LIB_VERSION 1 #define CEC_LIB_VERSION_MAJOR 1 -#define CEC_LIB_VERSION_MINOR 3 +#define CEC_LIB_VERSION_MINOR 4 typedef enum cec_abort_reason { @@ -866,6 +875,35 @@ typedef struct cec_logical_addresses #endif } cec_logical_addresses; + +typedef int (CEC_CDECL* CBCecLogMessageType)(void *param, const CEC::cec_log_message &); +typedef int (CEC_CDECL* CBCecKeyPressType)(void *param, const cec_keypress &key); +typedef int (CEC_CDECL* CBCecCommandType)(void *param, const cec_command &command); + +typedef struct ICECCallbacks +{ + /*! + * @brief Transfer a log message from libCEC to the client. + * @param message The message to transfer. + * @return 1 when ok, 0 otherwise. + */ + CBCecLogMessageType CBCecLogMessage; + + /*! + * @brief Transfer a keypress from libCEC to the client. + * @param key The keypress to transfer. + * @return 1 when ok, 0 otherwise. + */ + CBCecKeyPressType CBCecKeyPress; + + /*! + * @brief Transfer a CEC command from libCEC to the client. + * @param command The command to transfer. + * @return 1 when ok, 0 otherwise. + */ + CBCecCommandType CBCecCommand; +} ICECCallbacks; + #ifdef UNUSED #elif defined(__GNUC__) #define UNUSED(x) UNUSED_ ## x __attribute__((unused))