/*
* This file is part of the libCEC(R) library.
*
- * libCEC(R) is Copyright (C) 2011-2012 Pulse-Eight Limited. All rights reserved.
+ * libCEC(R) is Copyright (C) 2011-2013 Pulse-Eight Limited. All rights reserved.
* libCEC(R) is an original work, containing original code.
*
* libCEC(R) is a trademark of Pulse-Eight Limited.
MSGCODE_SET_OSD_NAME,
MSGCODE_WRITE_EEPROM,
MSGCODE_GET_ADAPTER_TYPE,
+ MSGCODE_SET_ACTIVE_SOURCE,
+
MSGCODE_FRAME_EOM = 0x80,
MSGCODE_FRAME_ACK = 0x40,
} cec_adapter_messagecode;
bool IsACK(void) const;
/*!
- * @return True when this message has been replied with an error code, false otherwise.
+ * @brief Checks whether the given messagecode is an error message.
+ * @param code The code to check.
+ * @return True when it's an error, false otherwise.
+ */
+ static bool MessageCodeIsError(const cec_adapter_messagecode code);
+
+ /*!
+ * @return True when this message contains an error code, false otherwise.
*/
bool IsError(void) const;
+ /*!
+ * @return True when this message has been replied with an error code, false otherwise.
+ */
+ bool ReplyIsError(void) const;
+
/*!
* @return True when this message has been replied with an error code and needs to be retried, false otherwise.
*/
*/
cec_adapter_messagecode Reply(void) const;
- uint8_t maxTries; /**< the maximum number of times to try to send this message */
cec_datapacket response; /**< the response to this message */
cec_datapacket packet; /**< the actual data */
cec_adapter_message_state state; /**< the current state of this message */
int32_t transmit_timeout; /**< the timeout to use when sending this message */
uint8_t lineTimeout; /**< the default CEC line timeout to use when sending this message */
+ bool bFireAndForget; /**< true to auto delete, don't wait for a response */
private:
bool bNextByteIsEscaped; /**< true when the next byte that is added will be escaped, false otherwise */