ApraLinuxUtils 1.0.0
C++ utility library for embedded Linux systems
 
Loading...
Searching...
No Matches
I2CTransactionMessage.cpp
Go to the documentation of this file.
1/*
2 * I2CTransactionMessage.cpp
3 *
4 * Copyright (c) 2024 Apra Labs
5 *
6 * This file is part of ApraUtils.
7 *
8 * Licensed under the MIT License.
9 * See LICENSE file in the project root for full license information.
10 */
11
13#include "utils/Macro.h"
14#include <iostream>
15#include <inttypes.h>
16#include <stdio.h>
17
18namespace apra
19{
20
22 Message(), m_error(), m_chipNumber(0), m_stopOnAnyTransactionFailure(
23 true), m_transactionDelayUsec(0), m_messages(), m_callbackContext(
24 NULL), m_callback(NULL)
25{
27}
29 vector<I2C_Message> messageQueue, uint64_t transactionDelayUsec) :
30 Message(), m_error(), m_chipNumber(chipNumber), m_stopOnAnyTransactionFailure(
31 true), m_transactionDelayUsec(transactionDelayUsec), m_messages(
32 messageQueue), m_callbackContext(NULL), m_callback(NULL)
33{
35}
36
40
55
60
62{
63 m_error = error;
64}
65
67{
68 return m_messages;
69}
70
71void I2C_Transaction_Message::registerEventHandle(void *callback, void *context)
72{
73 m_callback = (I2CEventCallback *) (callback);
74 m_callbackContext = context;
75}
76
78{
79 if (m_callback)
80 {
81 (*m_callback)(m_callbackContext, *this);
82 }
83}
84
85} /* namespace apra */
void * I2CEventCallback(void *context, apra::I2C_Transaction_Message message)
@ REQUEST_RESPONSE
Definition MessageType.h:17
vector< I2C_Message > & getAllMessages()
void registerEventHandle(void *callback, void *context)
I2C_Transaction_Message & operator=(const I2C_Transaction_Message &other)
MESSAGE_TYPE m_type
Definition Message.h:36
void setType(MESSAGE_TYPE t)
Definition Message.cpp:27
uint64_t m_handle
Definition Message.h:37