AgIsoStack++
A control-function-focused implementation of the major ISOBUS and J1939 protocols
Loading...
Searching...
No Matches
can_callbacks.cpp
Go to the documentation of this file.
1//================================================================================================
8//================================================================================================
10
11namespace isobus
12{
13 ParameterGroupNumberCallbackData::ParameterGroupNumberCallbackData(std::uint32_t parameterGroupNumber, CANLibCallback callback, void *parentPointer, std::shared_ptr<InternalControlFunction> internalControlFunction) :
14 callback(callback),
15 parameterGroupNumber(parameterGroupNumber),
16 parent(parentPointer),
17 internalControlFunctionFilter(internalControlFunction)
18 {
19 }
20
22 {
23 return ((obj.callback == this->callback) &&
24 (obj.parameterGroupNumber == this->parameterGroupNumber) &&
25 (obj.parent == this->parent) &&
26 (obj.internalControlFunctionFilter == this->internalControlFunctionFilter));
27 }
28
33
38
40 {
41 return parent;
42 }
43
44 std::shared_ptr<InternalControlFunction> ParameterGroupNumberCallbackData::get_internal_control_function() const
45 {
47 }
48} // namespace isobus
An object to represent common callbacks used within this CAN stack.
A storage class to hold data about callbacks for a specific PGN.
void * get_parent() const
Returns the parent pointer for this data object.
void * parent
A generic variable that can provide context to which object the callback was meant for.
CANLibCallback callback
The callback that will get called when a matching PGN is received.
std::shared_ptr< InternalControlFunction > get_internal_control_function() const
Returns the ICF being used as a filter for this callback.
CANLibCallback get_callback() const
Returns the callback pointer for this data object.
bool operator==(const ParameterGroupNumberCallbackData &obj) const
Equality operator for this class.
std::uint32_t parameterGroupNumber
The PGN assocuiated with this callback.
ParameterGroupNumberCallbackData(std::uint32_t parameterGroupNumber, CANLibCallback callback, void *parentPointer, std::shared_ptr< InternalControlFunction > internalControlFunction)
A constructor for holding callback data.
std::shared_ptr< InternalControlFunction > internalControlFunctionFilter
An optional way to filter callbacks based on the destination of messages from the partner.
std::uint32_t get_parameter_group_number() const
Returns the PGN associated with this callback data.
This namespace encompasses all of the ISO11783 stack's functionality to reduce global namespace pollu...
void(*)(const CANMessage &message, void *parentPointer) CANLibCallback
A callback for control functions to get CAN messages.