Woman, Life, Freedom


Adaptive AUTOSAR
ARA public interface header documentation
ara::diag::routing::TransferData Class Reference

A class to transfer data between diagnostic clients and the server. More...

#include <transfer_data.h>

Inheritance diagram for ara::diag::routing::TransferData:
ara::diag::routing::RoutableUdsService

Public Member Functions

 TransferData (const ara::core::InstanceSpecifier &specifier) noexcept
 Constructor. More...
 
bool TrySetTransferConfiguration (TransferDirection transferDirection, size_t memoryAddress, size_t memorySize) noexcept
 Try to set the service transfer data configuration. More...
 
bool TryResetTransferConfiguration () noexcept
 Try to reset the service transfer data configuration to default. More...
 
std::future< OperationOutputHandleMessage (const std::vector< uint8_t > &requestData, MetaInfo &metaInfo, CancellationHandler &&cancellationHandler) override
 Handle an UDS request message. More...
 
- Public Member Functions inherited from ara::diag::routing::RoutableUdsService
uint8_t GetSid () const noexcept
 Get SID. More...
 
ara::core::Result< void > Offer ()
 Offer handling DM requests. More...
 
bool IsOffered () const noexcept
 Get offering status of the service. More...
 
void StopOffer () noexcept
 Stop offering request handling.
 

Additional Inherited Members

- Static Public Attributes inherited from ara::diag::routing::RoutableUdsService
static const uint8_t cNegativeResponseCodeSid {0x7f}
 Negative response code service ID.
 
- Protected Member Functions inherited from ara::diag::routing::RoutableUdsService
 RoutableUdsService (const ara::core::InstanceSpecifier &specifier, uint8_t sid) noexcept
 Constructor. More...
 
void GenerateNegativeResponse (OperationOutput &response, uint8_t nrc) const
 Generate a negative response with a specific NRC. More...
 
template<class T >
bool TryExtractValue (MetaInfo &metaInfo, std::string key, T &value) const
 Try to extract a value from the given meta-info. More...
 
- Protected Attributes inherited from ara::diag::routing::RoutableUdsService
const uint8_t cSubFunctionNotSupported {0x12}
 Unsupported sub-function NRC.
 
const uint8_t cIncorrectMessageLength {0x13}
 Incorrect message length NRC.
 
const uint8_t cRequestSequenceError {0x24}
 Incorrect request sequence NRC.
 
- Static Protected Attributes inherited from ara::diag::routing::RoutableUdsService
static const uint8_t cPositiveResponseSidIncrement {0x40}
 SID increment for a positive response.
 

Detailed Description

A class to transfer data between diagnostic clients and the server.

Constructor & Destructor Documentation

◆ TransferData()

ara::diag::routing::TransferData::TransferData ( const ara::core::InstanceSpecifier specifier)
noexcept

Constructor.

Parameters
specifierOwner instance specifier

Member Function Documentation

◆ HandleMessage()

std::future< OperationOutput > ara::diag::routing::TransferData::HandleMessage ( const std::vector< uint8_t > &  requestData,
MetaInfo metaInfo,
CancellationHandler &&  cancellationHandler 
)
overridevirtual

Handle an UDS request message.

Parameters
requestDataRequest message byte array
metaInfoRequest message metainfo
cancellationHandlerCallback to be invoked when the current conversation is cancelled
Returns
Response byte array

Implements ara::diag::routing::RoutableUdsService.

◆ TryResetTransferConfiguration()

bool ara::diag::routing::TransferData::TryResetTransferConfiguration ( )
noexcept

Try to reset the service transfer data configuration to default.

Returns
False if the data transfer configuration has been already reset, otherwise true

◆ TrySetTransferConfiguration()

bool ara::diag::routing::TransferData::TrySetTransferConfiguration ( TransferDirection  transferDirection,
size_t  memoryAddress,
size_t  memorySize 
)
noexcept

Try to set the service transfer data configuration.

Parameters
transferDirectionDesired transfer data direction
memoryAddressMemory segment address used for transfering data
memorySizeMemory segment size used for transfering data
Returns
True if the data transfer configuration is set successfully, otherwise false