Logo
中文版
详情联系: neusar-support@reachauto.com
ara::diag::GenericRoutine类 参考abstract

#include <generic_routine.h>

ara::diag::GenericRoutine 的协作图:
Collaboration graph

struct  OperationOutput
 Response data of positive respone message. 更多...
 

Public 成员函数

 GenericRoutine (const ara::core::InstanceSpecifier &specifier, ReentrancyType reentrancyType)
 Class for an GenericRoutine. 更多...
 
virtual ~GenericRoutine () noexcept
 Destructor of class GenericRoutine. 更多...
 
virtual ara::core::Future< OperationOutputStart (std::uint16_t routineId, ara::core::Span< std::uint8_t > requestData, MetaInfo &metaInfo, CancellationHandler &cancellationHandler)=0
 Called for RoutineControl with SubFunction Start request for this DiagnosticRoutineIdentifier. 更多...
 
virtual ara::core::Future< OperationOutputStop (std::uint16_t routineId, ara::core::Span< std::uint8_t > requestData, MetaInfo &metaInfo, CancellationHandler &cancellationHandler)=0
 Called for RoutineControl with SubFunction Stop request for this DiagnosticRoutineIdentifier. 更多...
 
virtual ara::core::Future< OperationOutputRequestResults (std::uint16_t routineId, ara::core::Span< std::uint8_t > requestData, MetaInfo &metaInfo, CancellationHandler &cancellationHandler)=0
 Called for RoutineControl with SubFunction RequestResults request for this DiagnosticRoutineIdentifier. 更多...
 
ara::core::Result< void > Offer ()
 This Offer will enable the DM to forward request messages to this handler. 更多...
 
void StopOffer ()
 This StopOffer will disable the forwarding of request messages from DM. 更多...
 

详细描述

@briefGeneric Routine interface.

Swsid
SWS_DM_00605
符合标准
yes
非标原因
N/A
种类
class
符号
GenericRoutine
范围
namespace ara::diag
基类
N/A
分类
ara
头文件
ara/diag/generic_routine.h
注解
The GenericRoutine service implements a generic Routine handler.
模板参数
N/A

在文件 第 行定义.

构造及析构函数说明

◆ GenericRoutine()

ara::diag::GenericRoutine::GenericRoutine ( const ara::core::InstanceSpecifier &  specifier,
ReentrancyType  reentrancyType 
)
explicit

Class for an GenericRoutine.

模板参数
N/A
参数
[in]specifierInstanceSpecifier to an PortPrototype of an DiagnosticRoutineGenericInterface
[in]reentrancyTypespecifies if interface is callable fully- or non-reentrant
[out]N/A
[in,out]N/A
返回
N/A
注解
N/A
异常
N/A
Swsid
SWS_DM_00552
符合标准
yes
非标原因
N/A
种类
function
可见
public
线程安全
no
Fireandforget
no
错误
N/A
头文件
ara/diag/generic_routine.h
异常安全
N/A
分类
ara

在文件 第 行定义.

◆ ~GenericRoutine()

ara::diag::GenericRoutine::~GenericRoutine ( )
virtualnoexcept

Destructor of class GenericRoutine.

模板参数
N/A
参数
[in]N/A
[out]N/A
[in,out]N/A
返回
N/A
注解
N/A
异常
N/A
Swsid
SWS_DM_00553
符合标准
yes
非标原因
N/A
种类
function
可见
public
线程安全
no
Fireandforget
no
错误
N/A
头文件
ara/diag/generic_routine.h
异常安全
noexcept
分类
ara

在文件 第 行定义.

成员函数说明

◆ Offer()

ara::core::Result< void > ara::diag::GenericRoutine::Offer ( )

This Offer will enable the DM to forward request messages to this handler.

模板参数
N/A
参数
[in]N/A
[out]N/A
[in,out]N/A
返回
ara::core::Result<void>
注解
N/A
异常
N/A
Swsid
SWS_DM_00557
符合标准
yes
非标原因
N/A
种类
function
可见
public
线程安全
no
Fireandforget
no
错误
DiagErrorDomain::DiagReportingErrc::kGenericError
错误
DiagErrorDomain::DiagOfferErrc:::kAlreadyOffered
头文件
ara/diag/generic_routine.h
异常安全
N/A
分类
ara

在文件 第 行定义.

引用了 ara::diag::kAlreadyOffered.

◆ RequestResults()

virtual ara::core::Future<OperationOutput> ara::diag::GenericRoutine::RequestResults ( std::uint16_t  routineId,
ara::core::Span< std::uint8_t >  requestData,
MetaInfo metaInfo,
CancellationHandler cancellationHandler 
)
pure virtual

Called for RoutineControl with SubFunction RequestResults request for this DiagnosticRoutineIdentifier.

模板参数
N/A
参数
[in]routineIdthe corresponding RoutineIdentifier
[in]requestDataContent of request message (without RoutineIdentifier)
[in]metaInfocontains additional meta information
[in]cancellationHandlerinforms if the current conversation is canceled
[out]N/A
[in,out]N/A
返回
ara::core::Future<OperationOutput>
注解
N/A
异常
N/A
Swsid
SWS_DM_00556
符合标准
yes
非标原因
N/A
种类
function
可见
public
线程安全
no
Fireandforget
no
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kGeneralReject
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kServiceNotSupported
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kSubfunctionNotSupported
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kIncorrectMessageLengthOrInvalidFormat
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kResponseTooLong
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kBusyRepeatRequest
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kConditionsNotCorrect
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kRequestSequenceError
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kNoResponseFromSubnetComponent
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kFailurePreventsExecutionOfRequestedAction
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kRequestOutOfRange
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kSecurityAccessDenied
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kInvalidKey
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kExceedNumberOfAttempts
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kRequiredTimeDelayNotExpired
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kUploadDownloadNotAccepted
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kTransferDataSuspended
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kGeneralProgrammingFailure
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kWrongBlockSequenceCounter
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kSubFunctionNotSupportedInActiveSession
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kServiceNotSupportedInActiveSession
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kRpmTooHigh
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kRpmTooLow
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kEngineIsRunning
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kEngineIsNotRunning
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kEngineRunTimeTooLow
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kTemperatureTooHigh
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kTemperatureTooLow
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kVehicleSpeedTooHigh
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kVehicleSpeedTooLow
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kThrottlePedalTooHigh
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kThrottlePedalTooLow
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kTransmissionRangeNotInNeutral
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kTransmissionRangeNotInGear
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kBrakeSwitchNotClosed
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kShifterLeverNotInPark
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kTorqueConverterClutchLocked
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kVoltageTooHigh
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kVoltageTooLow
头文件
ara/diag/generic_routine.h
异常安全
N/A
分类
ara

◆ Start()

virtual ara::core::Future<OperationOutput> ara::diag::GenericRoutine::Start ( std::uint16_t  routineId,
ara::core::Span< std::uint8_t >  requestData,
MetaInfo metaInfo,
CancellationHandler cancellationHandler 
)
pure virtual

Called for RoutineControl with SubFunction Start request for this DiagnosticRoutineIdentifier.

模板参数
N/A
参数
[in]routineIdthe corresponding RoutineIdentifier
[in]requestDataContent of request message (without RoutineIdentifier)
[in]metaInfocontains additional meta information
[in]cancellationHandlerinforms if the current conversation is canceled
[out]N/A
[in,out]N/A
返回
ara::core::Future<OperationOutput>
注解
N/A
异常
N/A
Swsid
SWS_DM_00554
符合标准
yes
非标原因
N/A
种类
function
可见
public
线程安全
no
Fireandforget
no
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kGeneralReject
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kServiceNotSupported
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kSubfunctionNotSupported
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kIncorrectMessageLengthOrInvalidFormat
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kResponseTooLong
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kBusyRepeatRequest
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kConditionsNotCorrect
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kRequestSequenceError
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kNoResponseFromSubnetComponent
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kFailurePreventsExecutionOfRequestedAction
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kRequestOutOfRange
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kSecurityAccessDenied
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kInvalidKey
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kExceedNumberOfAttempts
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kRequiredTimeDelayNotExpired
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kUploadDownloadNotAccepted
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kTransferDataSuspended
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kGeneralProgrammingFailure
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kWrongBlockSequenceCounter
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kSubFunctionNotSupportedInActiveSession
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kServiceNotSupportedInActiveSession
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kRpmTooHigh
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kRpmTooLow
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kEngineIsRunning
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kEngineIsNotRunning
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kEngineRunTimeTooLow
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kTemperatureTooHigh
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kTemperatureTooLow
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kVehicleSpeedTooHigh
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kVehicleSpeedTooLow
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kThrottlePedalTooHigh
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kThrottlePedalTooLow
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kTransmissionRangeNotInNeutral
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kTransmissionRangeNotInGear
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kBrakeSwitchNotClosed
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kShifterLeverNotInPark
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kTorqueConverterClutchLocked
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kVoltageTooHigh
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kVoltageTooLow
头文件
ara/diag/generic_routine.h
异常安全
N/A
分类
ara

◆ Stop()

virtual ara::core::Future<OperationOutput> ara::diag::GenericRoutine::Stop ( std::uint16_t  routineId,
ara::core::Span< std::uint8_t >  requestData,
MetaInfo metaInfo,
CancellationHandler cancellationHandler 
)
pure virtual

Called for RoutineControl with SubFunction Stop request for this DiagnosticRoutineIdentifier.

模板参数
N/A
参数
[in]routineIdthe corresponding RoutineIdentifier
[in]requestDataContent of request message (without RoutineIdentifier)
[in]metaInfocontains additional meta information
[in]cancellationHandlerinforms if the current conversation is canceled
[out]N/A
[in,out]N/A
返回
ara::core::Future< OperationOutput >
注解
N/A
异常
N/A
Swsid
SWS_DM_00555
符合标准
yes
非标原因
N/A
种类
function
可见
public
线程安全
no
Fireandforget
no
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kGeneralReject
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kServiceNotSupported
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kSubfunctionNotSupported
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kIncorrectMessageLengthOrInvalidFormat
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kResponseTooLong
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kBusyRepeatRequest
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kConditionsNotCorrect
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kRequestSequenceError
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kNoResponseFromSubnetComponent
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kFailurePreventsExecutionOfRequestedAction
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kRequestOutOfRange
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kSecurityAccessDenied
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kInvalidKey
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kExceedNumberOfAttempts
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kRequiredTimeDelayNotExpired
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kUploadDownloadNotAccepted
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kTransferDataSuspended
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kGeneralProgrammingFailure
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kWrongBlockSequenceCounter
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kSubFunctionNotSupportedInActiveSession
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kServiceNotSupportedInActiveSession
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kRpmTooHigh
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kRpmTooLow
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kEngineIsRunning
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kEngineIsNotRunning
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kEngineRunTimeTooLow
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kTemperatureTooHigh
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kTemperatureTooLow
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kVehicleSpeedTooHigh
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kVehicleSpeedTooLow
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kThrottlePedalTooHigh
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kThrottlePedalTooLow
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kTransmissionRangeNotInNeutral
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kTransmissionRangeNotInGear
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kBrakeSwitchNotClosed
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kShifterLeverNotInPark
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kTorqueConverterClutchLocked
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kVoltageTooHigh
错误
DiagUdsNrcErrorDomain::DiagUdsNrcErrc::kVoltageTooLow
头文件
ara/diag/generic_routine.h
异常安全
N/A
分类
ara

◆ StopOffer()

void ara::diag::GenericRoutine::StopOffer ( )

This StopOffer will disable the forwarding of request messages from DM.

模板参数
N/A
参数
[in]N/A
[out]N/A
[in,out]N/A
返回
N/A
注解
N/A
异常
N/A
Swsid
SWS_DM_00558
符合标准
yes
非标原因
N/A
种类
function
可见
public
线程安全
no
Fireandforget
no
错误
N/A
头文件
ara/diag/generic_routine.h
异常安全
N/A
分类
ara

在文件 第 行定义.