libdoip  0.1.0
DoIP (Diagnostics over Internet Protocol) ISO 13400 C++17 Library
doip::message Namespace Reference

Factory functions for creating specific DoIP message types. More...

Functions

DoIPMessage makeVehicleIdentificationRequest ()
 Creates a vehicle identification request message. More...
 
DoIPMessage makeVehicleIdentificationResponse (const DoIpVin &vin, const DoIPAddress &logicalAddress, const DoIpEid &entityType, const DoIpGid &groupId, DoIPFurtherAction furtherAction=DoIPFurtherAction::NoFurtherAction, DoIPSyncStatus syncStatus=DoIPSyncStatus::GidVinSynchronized)
 Creates a vehicle identification response message. More...
 
DoIPMessage makeNegativeAckMessage (DoIPNegativeAck nack)
 Creates a generic DoIP negative response (NACK). More...
 
DoIPMessage makeDiagnosticMessage (const DoIPAddress &sa, const DoIPAddress &ta, const ByteArray &msg_payload)
 Creates a diagnostic message. More...
 
DoIPMessage makeDiagnosticPositiveResponse (const DoIPAddress &sa, const DoIPAddress &ta, const ByteArray &msg_payload)
 void b More...
 
DoIPMessage makeDiagnosticNegativeResponse (const DoIPAddress &sa, const DoIPAddress &ta, DoIPNegativeDiagnosticAck nack, const ByteArray &msg_payload)
 Creates a diagnostic negative ACK message (NACK). More...
 
DoIPMessage makeAliveCheckRequest ()
 Create an 'alive check' request. More...
 
DoIPMessage makeAliveCheckResponse (const DoIPAddress &sa)
 Create an 'alive check' response. More...
 
DoIPMessage makeRoutingActivationRequest (const DoIPAddress &ea, DoIPRoutingActivationType actType=DoIPRoutingActivationType::Default)
 Creates a routing activation request message. More...
 
DoIPMessage makeRoutingActivationResponse (const DoIPMessage &routingReq, const DoIPAddress &ea, DoIPRoutingActivationType actType=DoIPRoutingActivationType::Default)
 Creates a routing activation response message. More...
 

Detailed Description

Factory functions for creating specific DoIP message types.

These functions provide a clean, type-safe interface for creating different types of DoIP messages without polluting the base class.

Function Documentation

◆ makeAliveCheckRequest()

DoIPMessage doip::message::makeAliveCheckRequest ( )
inline

Create an 'alive check' request.

Returns
DoIPMessage

Definition at line 637 of file DoIPMessage.h.

References doip::AliveCheckRequest.

Referenced by doip::DoIPDefaultConnection::sendAliveCheckRequest().

◆ makeAliveCheckResponse()

DoIPMessage doip::message::makeAliveCheckResponse ( const DoIPAddress sa)
inline

Create an 'alive check' response.

Parameters
sathe source address
Returns
DoIPMessage

Definition at line 647 of file DoIPMessage.h.

References doip::AliveCheckResponse, and doip::ByteArray::writeU16BE().

Referenced by doip::DoIPClient::sendAliveCheckResponse().

◆ makeDiagnosticMessage()

DoIPMessage doip::message::makeDiagnosticMessage ( const DoIPAddress sa,
const DoIPAddress ta,
const ByteArray msg_payload 
)
inline

Creates a diagnostic message.

Parameters
sathe source address
tathe target address
msg_payloadthe original diagnostic messages (e.g. UDS message)
Returns
DoIPMessage the DoIP message

Definition at line 567 of file DoIPMessage.h.

References doip::DiagnosticMessage, and doip::ByteArray::writeU16BE().

Referenced by doip::DoIPDefaultConnection::receiveDownstreamResponse(), doip::DoIPClient::sendDiagnosticMessage(), and doip::DoIPDefaultConnection::sendDownstreamResponse().

◆ makeDiagnosticNegativeResponse()

DoIPMessage doip::message::makeDiagnosticNegativeResponse ( const DoIPAddress sa,
const DoIPAddress ta,
DoIPNegativeDiagnosticAck  nack,
const ByteArray msg_payload 
)
inline

Creates a diagnostic negative ACK message (NACK).

Parameters
sathe source address
tathe target address
nackthe negative acknowledgment code
msg_payloadthe original diagnostic messages (e.g. UDS message)
Returns
DoIPMessage the DoIP message

Definition at line 615 of file DoIPMessage.h.

References doip::DiagnosticMessageNegativeAck, and doip::ByteArray::writeU16BE().

Referenced by doip::DoIPDefaultConnection::receiveDownstreamResponse(), and doip::DoIPDefaultConnection::sendDiagnosticMessageResponse().

◆ makeDiagnosticPositiveResponse()

DoIPMessage doip::message::makeDiagnosticPositiveResponse ( const DoIPAddress sa,
const DoIPAddress ta,
const ByteArray msg_payload 
)
inline

void b

Creates a diagnostic positive ACK message.

Parameters
sathe source address
tathe target address
msg_payloadthe original diagnostic messages (e.g. UDS message)
Returns
DoIPMessage the DoIP message

Definition at line 590 of file DoIPMessage.h.

References doip::DIAGNOSTIC_MESSAGE_ACK, doip::DiagnosticMessageAck, and doip::ByteArray::writeU16BE().

Referenced by doip::DoIPDefaultConnection::sendDiagnosticMessageResponse().

◆ makeNegativeAckMessage()

DoIPMessage doip::message::makeNegativeAckMessage ( DoIPNegativeAck  nack)
inline

Creates a generic DoIP negative response (NACK).

Parameters
nackthe negative response code
Returns
DoIPMessage the DoIP message

Definition at line 555 of file DoIPMessage.h.

References doip::NegativeAck.

◆ makeRoutingActivationRequest()

DoIPMessage doip::message::makeRoutingActivationRequest ( const DoIPAddress ea,
DoIPRoutingActivationType  actType = DoIPRoutingActivationType::Default 
)
inline

Creates a routing activation request message.

Parameters
eathe entity address
actTypethe activation type
Returns
DoIPMessage the activation request message

Definition at line 660 of file DoIPMessage.h.

References doip::RoutingActivationRequest, doip::ByteArray::writeEnum(), and doip::ByteArray::writeU16BE().

Referenced by doip::DoIPClient::sendRoutingActivationRequest().

◆ makeRoutingActivationResponse()

DoIPMessage doip::message::makeRoutingActivationResponse ( const DoIPMessage routingReq,
const DoIPAddress ea,
DoIPRoutingActivationType  actType = DoIPRoutingActivationType::Default 
)
inline

Creates a routing activation response message.

Parameters
routingReqthe routing request message
eathe entity address
actTypethe activation type
Returns
DoIPMessage the activation response message

Definition at line 682 of file DoIPMessage.h.

References doip::DoIPMessage::getSourceAddress(), doip::RoutingActivationResponse, and doip::ByteArray::writeU16BE().

◆ makeVehicleIdentificationRequest()

DoIPMessage doip::message::makeVehicleIdentificationRequest ( )
inline

Creates a vehicle identification request message.

Returns
DoIPMessage the vehicle identification request

Definition at line 513 of file DoIPMessage.h.

References doip::VehicleIdentificationRequest.

Referenced by doip::DoIPClient::sendVehicleIdentificationRequest().

◆ makeVehicleIdentificationResponse()

DoIPMessage doip::message::makeVehicleIdentificationResponse ( const DoIpVin vin,
const DoIPAddress logicalAddress,
const DoIpEid entityType,
const DoIpGid groupId,
DoIPFurtherAction  furtherAction = DoIPFurtherAction::NoFurtherAction,
DoIPSyncStatus  syncStatus = DoIPSyncStatus::GidVinSynchronized 
)
inline

Creates a vehicle identification response message.

Parameters
vinthe vehicle identification number (VIN)
logicalAddressthe logical address of the entity
entityTypethe entity identifier (EID)
groupIdthe group identifier (GID)
furtherActionthe further action code
syncStatusthe synchronization status
Returns
DoIPMessage the vehicle identification response message

Definition at line 528 of file DoIPMessage.h.

References doip::GenericFixedId< IdLength, zeroPadding, padChar >::begin(), doip::GenericFixedId< IdLength, zeroPadding, padChar >::end(), doip::GenericFixedId< IdLength, zeroPadding, padChar >::size(), doip::VehicleIdentificationResponse, doip::ByteArray::writeEnum(), and doip::ByteArray::writeU16BE().