diff --git a/executables/referenceApp/application/include/uds/ReadIdentifierPot.h b/executables/referenceApp/application/include/uds/ReadIdentifierPot.h index 33a28a2edf1..97162c55dae 100644 --- a/executables/referenceApp/application/include/uds/ReadIdentifierPot.h +++ b/executables/referenceApp/application/include/uds/ReadIdentifierPot.h @@ -14,7 +14,7 @@ class ReadIdentifierPot : public DataIdentifierJob private: DiagReturnCode::Type process( - IncomingDiagConnection& connection, + IIncomingDiagConnection& connection, uint8_t const request[], uint16_t requestLength) override; diff --git a/executables/referenceApp/application/src/uds/ReadIdentifierPot.cpp b/executables/referenceApp/application/src/uds/ReadIdentifierPot.cpp index 4d27848370b..1cc22c63915 100644 --- a/executables/referenceApp/application/src/uds/ReadIdentifierPot.cpp +++ b/executables/referenceApp/application/src/uds/ReadIdentifierPot.cpp @@ -8,7 +8,7 @@ #include "outputPwm/OutputPwm.h" #endif -#include "uds/connection/IncomingDiagConnection.h" +#include "uds/connection/IIncomingDiagConnection.h" namespace uds { @@ -29,7 +29,7 @@ ReadIdentifierPot::ReadIdentifierPot(DiagSessionMask const sessionMask) } DiagReturnCode::Type ReadIdentifierPot::process( - IncomingDiagConnection& connection, + IIncomingDiagConnection& connection, uint8_t const* const /* request */, uint16_t const /* requestLength */) { diff --git a/libs/bsw/uds/include/uds/async/AsyncDiagHelper.h b/libs/bsw/uds/include/uds/async/AsyncDiagHelper.h index f3a61dc9147..50c53159d39 100644 --- a/libs/bsw/uds/include/uds/async/AsyncDiagHelper.h +++ b/libs/bsw/uds/include/uds/async/AsyncDiagHelper.h @@ -26,7 +26,7 @@ class AsyncDiagHelper ::async::ContextType getDiagContext() const override; StoredRequest* allocateRequest( - IncomingDiagConnection& connection, + IIncomingDiagConnection& connection, uint8_t const* request, uint16_t requestLength) override; void processAndReleaseRequest(AbstractDiagJob& job, StoredRequest& request) override; diff --git a/libs/bsw/uds/include/uds/async/AsyncDiagJob.h b/libs/bsw/uds/include/uds/async/AsyncDiagJob.h index ec05a99643c..5085bee3cf4 100644 --- a/libs/bsw/uds/include/uds/async/AsyncDiagJob.h +++ b/libs/bsw/uds/include/uds/async/AsyncDiagJob.h @@ -44,15 +44,15 @@ class AsyncDiagJob : public T protected: DiagReturnCode::Type process( - IncomingDiagConnection& connection, + IIncomingDiagConnection& connection, uint8_t const request[], uint16_t requestLength) override; private: void asyncProcess( - IncomingDiagConnection* connection, uint8_t const request[], uint16_t requestLength); + IIncomingDiagConnection* connection, uint8_t const request[], uint16_t requestLength); using ProcessClosureType - = ::async::Call<::etl::closure>; + = ::async::Call<::etl::closure>; AsyncDiagJobHelper fAsyncJobHelper; ProcessClosureType fProcess; @@ -87,7 +87,7 @@ void AsyncDiagJob::responseSent( template DiagReturnCode::Type AsyncDiagJob::process( - IncomingDiagConnection& connection, uint8_t const request[], uint16_t const requestLength) + IIncomingDiagConnection& connection, uint8_t const request[], uint16_t const requestLength) { if (fAsyncJobHelper.hasPendingAsyncRequest()) { @@ -108,7 +108,7 @@ DiagReturnCode::Type AsyncDiagJob::process( template void AsyncDiagJob::asyncProcess( - IncomingDiagConnection* connection, uint8_t const request[], uint16_t const requestLength) + IIncomingDiagConnection* connection, uint8_t const request[], uint16_t const requestLength) { DiagReturnCode::Type responseCode = T::process(*connection, request, requestLength); if (responseCode != DiagReturnCode::OK) diff --git a/libs/bsw/uds/include/uds/async/AsyncDiagJobHelper.h b/libs/bsw/uds/include/uds/async/AsyncDiagJobHelper.h index 905ca81b355..6ff4a9ac0bc 100644 --- a/libs/bsw/uds/include/uds/async/AsyncDiagJobHelper.h +++ b/libs/bsw/uds/include/uds/async/AsyncDiagJobHelper.h @@ -11,7 +11,7 @@ namespace uds { class AbstractDiagJob; -class IncomingDiagConnection; +class IIncomingDiagConnection; /** * Helper class for handling nested diagnostic requests @@ -39,7 +39,7 @@ class AsyncDiagJobHelper * Note: Call this function only if hasPendingAsyncRequest() returns true * \return Reference to connection bound to this request */ - IncomingDiagConnection& getPendingConnection() const; + IIncomingDiagConnection& getPendingConnection() const; /** * Try to enqueue a request. @@ -47,13 +47,13 @@ class AsyncDiagJobHelper * \return Result of enqueuing */ DiagReturnCode::Type enqueueRequest( - IncomingDiagConnection& connection, uint8_t const* request, uint16_t requestLength); + IIncomingDiagConnection& connection, uint8_t const* request, uint16_t requestLength); /** * Start processing an async request. * \param connection Reference to connection bound to this request */ - void startAsyncRequest(IncomingDiagConnection& connection); + void startAsyncRequest(IIncomingDiagConnection& connection); /** * End processing an async request. This call will retrigger processing of @@ -66,7 +66,7 @@ class AsyncDiagJobHelper IAsyncDiagHelper& fAsyncHelper; AbstractDiagJob& fJob; - IncomingDiagConnection* fPendingAsyncConnection; + IIncomingDiagConnection* fPendingAsyncConnection; ::etl::intrusive_list> fPendingRequests; ::async::Function fTriggerNextRequests; diff --git a/libs/bsw/uds/include/uds/async/IAsyncDiagHelper.h b/libs/bsw/uds/include/uds/async/IAsyncDiagHelper.h index afe7bffe392..5104e9a6a96 100644 --- a/libs/bsw/uds/include/uds/async/IAsyncDiagHelper.h +++ b/libs/bsw/uds/include/uds/async/IAsyncDiagHelper.h @@ -8,7 +8,7 @@ namespace uds { class AbstractDiagJob; -class IncomingDiagConnection; +class IIncomingDiagConnection; /** * Interface for storing/processing requests @@ -20,14 +20,14 @@ class IAsyncDiagHelper { public: StoredRequest( - IncomingDiagConnection& connection, uint8_t const* request, uint16_t requestLength); + IIncomingDiagConnection& connection, uint8_t const* request, uint16_t requestLength); - IncomingDiagConnection& getConnection() const; + IIncomingDiagConnection& getConnection() const; uint8_t const* getRequest() const; uint16_t getRequestLength() const; private: - IncomingDiagConnection* fConnection; + IIncomingDiagConnection* fConnection; uint8_t const* fRequest; uint16_t fRequestLength; }; @@ -46,7 +46,7 @@ class IAsyncDiagHelper * \param requestLength requestLength as received in AbstractDiagJob::process */ virtual StoredRequest* allocateRequest( - IncomingDiagConnection& connection, uint8_t const* request, uint16_t requestLength) + IIncomingDiagConnection& connection, uint8_t const* request, uint16_t requestLength) = 0; /** @@ -62,11 +62,11 @@ class IAsyncDiagHelper * Inline implementation */ inline IAsyncDiagHelper::StoredRequest::StoredRequest( - IncomingDiagConnection& connection, uint8_t const* const request, uint16_t const requestLength) + IIncomingDiagConnection& connection, uint8_t const* const request, uint16_t const requestLength) : fConnection(&connection), fRequest(request), fRequestLength(requestLength) {} -inline IncomingDiagConnection& IAsyncDiagHelper::StoredRequest::getConnection() const +inline IIncomingDiagConnection& IAsyncDiagHelper::StoredRequest::getConnection() const { return *fConnection; } diff --git a/libs/bsw/uds/include/uds/base/AbstractDiagJob.h b/libs/bsw/uds/include/uds/base/AbstractDiagJob.h index 4e07b1f1a30..90639e10773 100644 --- a/libs/bsw/uds/include/uds/base/AbstractDiagJob.h +++ b/libs/bsw/uds/include/uds/base/AbstractDiagJob.h @@ -22,6 +22,7 @@ class UdsController; namespace uds { class IncomingDiagConnection; +class IIncomingDiagConnection; class IDiagAuthenticator; class IDiagSessionManager; class DiagSubSession; @@ -188,7 +189,7 @@ class AbstractDiagJob : public ::etl::uncopyable * \see process() */ DiagReturnCode::Type - execute(IncomingDiagConnection& connection, uint8_t const request[], uint16_t requestLength); + execute(IIncomingDiagConnection& connection, uint8_t const request[], uint16_t requestLength); /** * Adds an AbstractDiagJob as child node @@ -305,7 +306,7 @@ class AbstractDiagJob : public ::etl::uncopyable * \see IncomingDiagConnection */ virtual DiagReturnCode::Type process( - IncomingDiagConnection& connection, uint8_t const* const request, uint16_t requestLength); + IIncomingDiagConnection& connection, uint8_t const* const request, uint16_t requestLength); /** * Compares two byte arrays. @@ -404,12 +405,12 @@ class AbstractDiagJob : public ::etl::uncopyable static DiagJobRoot* sfpDiagJobRoot; void acceptJob( - IncomingDiagConnection& connection, uint8_t const request[], uint16_t const requestLength); + IIncomingDiagConnection& connection, uint8_t const request[], uint16_t const requestLength); /** * Does suppress positive response bit handling */ void checkSuppressPositiveResponseBit( - IncomingDiagConnection& connection, uint8_t const request[]) const; + IIncomingDiagConnection& connection, uint8_t const request[]) const; /** Array containing the request implemented by this job */ uint8_t const* const fpImplementedRequest; diff --git a/libs/bsw/uds/include/uds/connection/IIncomingDiagConnection.h b/libs/bsw/uds/include/uds/connection/IIncomingDiagConnection.h new file mode 100644 index 00000000000..73db031167a --- /dev/null +++ b/libs/bsw/uds/include/uds/connection/IIncomingDiagConnection.h @@ -0,0 +1,155 @@ +#pragma once + +#include "uds/connection/ErrorCode.h" +#include "uds/connection/PositiveResponse.h" +#include "uds/DiagReturnCode.h" + +#include + +namespace uds +{ +class AbstractDiagJob; +class IDiagSessionManager; +class NestedDiagRequest; + +/** + * Interface for incoming diagnostic connections. + */ +class IIncomingDiagConnection +{ +public: + virtual ~IIncomingDiagConnection() = default; + + /** + * Opens the diagnostic connection. + * \param activatePending Whether to activate pending responses + */ + virtual void open(bool activatePending) = 0; + + /** + * Terminates the diagnostic connection. + */ + virtual void terminate() = 0; + + /** + * Adds an identifier to the response buffer. + */ + virtual void addIdentifier() = 0; + + /** + * Returns the number of identifiers added to the response. + */ + virtual uint16_t getNumIdentifiers() const = 0; + + /** + * Returns an identifier for a given index. + */ + virtual uint8_t getIdentifier(uint16_t idx) const = 0; + + /** + * Returns the maximum response length. + */ + virtual uint16_t getMaximumResponseLength() const = 0; + + /** + * Releases the request and returns a positive response buffer. + */ + virtual PositiveResponse& releaseRequestGetResponse() = 0; + + /** + * Sends a positive response. + */ + virtual ErrorCode sendPositiveResponse(AbstractDiagJob& sender) = 0; + + /** + * Sends a positive response with a specific payload length. + */ + virtual ErrorCode sendPositiveResponseInternal(uint16_t length, AbstractDiagJob& sender) = 0; + + /** + * Sends a negative response with the specified response code. + */ + virtual ErrorCode sendNegativeResponse(uint8_t responseCode, AbstractDiagJob& sender) = 0; + + /** + * Suppresses positive response transmission. + */ + virtual void suppressPositiveResponse() = 0; + + /** + * Disables response timeout. + */ + virtual void disableResponseTimeout() = 0; + + /** + * Disables global connection timeout. + */ + virtual void disableGlobalTimeout() = 0; + + /** + * Checks if the connection is busy sending a response. + */ + virtual bool isBusy() const = 0; + + /** + * Starts a nested diagnostic request. + */ + virtual DiagReturnCode::Type startNestedRequest( + AbstractDiagJob& sender, + NestedDiagRequest& nestedRequest, + uint8_t const request[], + uint16_t requestLength) = 0; + + /** + * Terminates the current nested request. + * \return true if nested request was terminated, false otherwise + */ + virtual bool terminateNestedRequest() = 0; + + /** + * Sends the response. + */ + virtual ErrorCode sendResponse() = 0; + + /** + * Returns the service ID of the diagnostic request. + */ + virtual uint8_t getServiceId() const = 0; + + /** + * Returns the target address of the diagnostic connection. + */ + virtual uint16_t getTargetAddress() const = 0; + + /** + * Returns the source address of the diagnostic connection. + */ + virtual uint16_t getSourceAddress() const = 0; + + /** + * Sets the diagnostic session manager. + */ + virtual void setDiagSessionManager(IDiagSessionManager* sessionManager) = 0; + + /** + * Sets the source address. + */ + virtual void setSourceAddress(uint16_t address) = 0; + + /** + * Sets the target address. + */ + virtual void setTargetAddress(uint16_t address) = 0; + + /** + * Sets the response source address. + */ + virtual void setResponseSourceAddress(uint16_t address) = 0; + + /** + * Sets the service ID. + */ + virtual void setServiceId(uint8_t id) = 0; +}; + +} // namespace uds \ No newline at end of file diff --git a/libs/bsw/uds/include/uds/connection/IncomingDiagConnection.h b/libs/bsw/uds/include/uds/connection/IncomingDiagConnection.h index 8838cbf5434..9e04a842ff6 100644 --- a/libs/bsw/uds/include/uds/connection/IncomingDiagConnection.h +++ b/libs/bsw/uds/include/uds/connection/IncomingDiagConnection.h @@ -9,6 +9,7 @@ #include "uds/DiagReturnCode.h" #include "uds/connection/ErrorCode.h" #include "uds/connection/PositiveResponse.h" +#include "uds/connection/IIncomingDiagConnection.h" #include #include @@ -43,12 +44,11 @@ class DiagDispatcher; * \see transport::ITransportMessageProcessedListener */ class IncomingDiagConnection -: public transport::ITransportMessageProcessedListener +: public IIncomingDiagConnection +, public transport::ITransportMessageProcessedListener , public etl::uncopyable { public: - virtual ~IncomingDiagConnection() = default; - void open(bool activatePending); public: @@ -218,6 +218,48 @@ class IncomingDiagConnection bool terminateNestedRequest(); + /** + * Returns the service ID of the diagnostic request. + */ + uint8_t getServiceId() const { return serviceId; } + + /** + * Returns the target address of the diagnostic connection. + */ + uint16_t getTargetAddress() const { return targetAddress; } + + /** + * Returns the source address of the diagnostic connection. + */ + uint16_t getSourceAddress() const { return sourceAddress; } + + // void setRequestNotificationListener( + // transport::ITransportMessageProcessedListener* listener) override + // { + // requestNotificationListener = listener; + // } + + void setDiagSessionManager(IDiagSessionManager* sessionManager) override + { + diagSessionManager = sessionManager; + } + + /** + * Gets the request message. + */ + transport::TransportMessage* getRequestMessage() { return requestMessage; } + + void setSourceAddress(uint16_t address) override { sourceAddress = address; } + + void setTargetAddress(uint16_t address) override { targetAddress = address; } + + void setResponseSourceAddress(uint16_t address) override + { + responseSourceAddress = address; + } + + void setServiceId(uint8_t id) override { serviceId = id; } + public: static uint8_t const MAXIMUM_NUMBER_OF_IDENTIFIERS = 6U; static uint8_t const PENDING_MESSAGE_PAYLOAD_LENGTH = 3U; diff --git a/libs/bsw/uds/include/uds/connection/NestedDiagRequest.h b/libs/bsw/uds/include/uds/connection/NestedDiagRequest.h index d6f4df04fd1..31db4f4ab7b 100644 --- a/libs/bsw/uds/include/uds/connection/NestedDiagRequest.h +++ b/libs/bsw/uds/include/uds/connection/NestedDiagRequest.h @@ -11,7 +11,7 @@ namespace uds { class AbstractDiagJob; -class IncomingDiagConnection; +class IIncomingDiagConnection; /** * Helper class for handling nested diagnostic requests. @@ -51,7 +51,7 @@ class NestedDiagRequest * \param connection Connection for executing * \result Result of processing */ - DiagReturnCode::Type processNextRequest(IncomingDiagConnection& connection); + DiagReturnCode::Type processNextRequest(IIncomingDiagConnection& connection); /** * Get buffer for response @@ -130,7 +130,7 @@ class NestedDiagRequest * \result Result of processing */ virtual DiagReturnCode::Type processNestedRequest( - IncomingDiagConnection& connection, uint8_t const request[], uint16_t requestLength) + IIncomingDiagConnection& connection, uint8_t const request[], uint16_t requestLength) = 0; /** * Adjust response code of nested request diff --git a/libs/bsw/uds/include/uds/jobs/ReadIdentifierFromMemory.h b/libs/bsw/uds/include/uds/jobs/ReadIdentifierFromMemory.h index 7d8de409a15..3e539597e44 100644 --- a/libs/bsw/uds/include/uds/jobs/ReadIdentifierFromMemory.h +++ b/libs/bsw/uds/include/uds/jobs/ReadIdentifierFromMemory.h @@ -29,7 +29,7 @@ class ReadIdentifierFromMemory : public DataIdentifierJob private: DiagReturnCode::Type process( - IncomingDiagConnection& connection, + IIncomingDiagConnection& connection, uint8_t const request[], uint16_t requestLength) override; diff --git a/libs/bsw/uds/include/uds/jobs/ReadIdentifierFromSliceRef.h b/libs/bsw/uds/include/uds/jobs/ReadIdentifierFromSliceRef.h index 837593353a4..b03cbd06ab7 100644 --- a/libs/bsw/uds/include/uds/jobs/ReadIdentifierFromSliceRef.h +++ b/libs/bsw/uds/include/uds/jobs/ReadIdentifierFromSliceRef.h @@ -24,7 +24,7 @@ class ReadIdentifierFromSliceRef : public DataIdentifierJob private: DiagReturnCode::Type process( - IncomingDiagConnection& connection, + IIncomingDiagConnection& connection, uint8_t const request[], uint16_t requestLength) override; diff --git a/libs/bsw/uds/include/uds/jobs/RoutineControlJob.h b/libs/bsw/uds/include/uds/jobs/RoutineControlJob.h index 86ea3462387..07bc469b971 100644 --- a/libs/bsw/uds/include/uds/jobs/RoutineControlJob.h +++ b/libs/bsw/uds/include/uds/jobs/RoutineControlJob.h @@ -47,11 +47,11 @@ class RoutineControlJob : public AbstractDiagJob {} virtual DiagReturnCode::Type - start(IncomingDiagConnection& connection, uint8_t const* const request, uint16_t requestLength) + start(IIncomingDiagConnection& connection, uint8_t const* const request, uint16_t requestLength) = 0; virtual DiagReturnCode::Type stop( - IncomingDiagConnection& /* connection */, + IIncomingDiagConnection& /* connection */, uint8_t const* const /* request */, uint16_t const /* requestLength */) { @@ -59,7 +59,7 @@ class RoutineControlJob : public AbstractDiagJob } virtual DiagReturnCode::Type requestResults( - IncomingDiagConnection& /* connection */, + IIncomingDiagConnection& /* connection */, uint8_t const* const /* request */, uint16_t const /* requestLength */) { @@ -93,7 +93,7 @@ class RoutineControlJob : public AbstractDiagJob RoutineControlJob& fRoutineControlJob; DiagReturnCode::Type process( - IncomingDiagConnection& connection, + IIncomingDiagConnection& connection, uint8_t const* const request, uint16_t requestLength) override; }; @@ -101,7 +101,7 @@ class RoutineControlJob : public AbstractDiagJob DiagReturnCode::Type verify(uint8_t const* const request, uint16_t requestLength) override; DiagReturnCode::Type process( - IncomingDiagConnection& connection, + IIncomingDiagConnection& connection, uint8_t const* const request, uint16_t requestLength) override; diff --git a/libs/bsw/uds/include/uds/jobs/WriteIdentifierToMemory.h b/libs/bsw/uds/include/uds/jobs/WriteIdentifierToMemory.h index 0aff3cc830c..bf81fa650c2 100644 --- a/libs/bsw/uds/include/uds/jobs/WriteIdentifierToMemory.h +++ b/libs/bsw/uds/include/uds/jobs/WriteIdentifierToMemory.h @@ -27,7 +27,7 @@ class WriteIdentifierToMemory : public DataIdentifierJob DiagReturnCode::Type verify(uint8_t const request[], uint16_t requestLength) override; DiagReturnCode::Type process( - IncomingDiagConnection& connection, + IIncomingDiagConnection& connection, uint8_t const request[], uint16_t requestLength) override; diff --git a/libs/bsw/uds/include/uds/services/communicationcontrol/CommunicationControl.h b/libs/bsw/uds/include/uds/services/communicationcontrol/CommunicationControl.h index a592a6e2529..1ccbcef9826 100644 --- a/libs/bsw/uds/include/uds/services/communicationcontrol/CommunicationControl.h +++ b/libs/bsw/uds/include/uds/services/communicationcontrol/CommunicationControl.h @@ -79,7 +79,7 @@ class CommunicationControl static uint8_t const VMS_CONTROL_TYPE_HI = 0x5FU; DiagReturnCode::Type process( - IncomingDiagConnection& connection, + IIncomingDiagConnection& connection, uint8_t const request[], uint16_t requestLength) override; diff --git a/libs/bsw/uds/include/uds/services/controldtcsetting/ControlDTCSetting.h b/libs/bsw/uds/include/uds/services/controldtcsetting/ControlDTCSetting.h index ff032ec1092..7df7e40c16f 100644 --- a/libs/bsw/uds/include/uds/services/controldtcsetting/ControlDTCSetting.h +++ b/libs/bsw/uds/include/uds/services/controldtcsetting/ControlDTCSetting.h @@ -22,7 +22,7 @@ class ControlDTCSetting : public Service static uint8_t const RESPONSE_LENGTH = 1U; DiagReturnCode::Type process( - IncomingDiagConnection& connection, + IIncomingDiagConnection& connection, uint8_t const request[], uint16_t requestLength) override; }; diff --git a/libs/bsw/uds/include/uds/services/ecureset/EnableRapidPowerShutdown.h b/libs/bsw/uds/include/uds/services/ecureset/EnableRapidPowerShutdown.h index 655e65eedb9..8c4aee0d515 100644 --- a/libs/bsw/uds/include/uds/services/ecureset/EnableRapidPowerShutdown.h +++ b/libs/bsw/uds/include/uds/services/ecureset/EnableRapidPowerShutdown.h @@ -19,7 +19,7 @@ class EnableRapidPowerShutdown : public Subfunction static uint8_t const ShutDownTime = 10U; // power down time virtual DiagReturnCode::Type process( - IncomingDiagConnection& connection, uint8_t const request[], uint16_t requestLength) final; + IIncomingDiagConnection& connection, uint8_t const request[], uint16_t requestLength) final; virtual void responseSent(IncomingDiagConnection& connection, ResponseSendResult result) final; IUdsLifecycleConnector& fUdsLifecycleConnector; diff --git a/libs/bsw/uds/include/uds/services/ecureset/HardReset.h b/libs/bsw/uds/include/uds/services/ecureset/HardReset.h index 9237efc8d95..de1bf51b80f 100644 --- a/libs/bsw/uds/include/uds/services/ecureset/HardReset.h +++ b/libs/bsw/uds/include/uds/services/ecureset/HardReset.h @@ -21,7 +21,7 @@ class HardReset : public Subfunction static uint16_t const RESET_TIME = 1000U; // ms DiagReturnCode::Type process( - IncomingDiagConnection& connection, + IIncomingDiagConnection& connection, uint8_t const request[], uint16_t requestLength) override; diff --git a/libs/bsw/uds/include/uds/services/ecureset/PowerDown.h b/libs/bsw/uds/include/uds/services/ecureset/PowerDown.h index b2f4c0ad13a..9d766cdec55 100644 --- a/libs/bsw/uds/include/uds/services/ecureset/PowerDown.h +++ b/libs/bsw/uds/include/uds/services/ecureset/PowerDown.h @@ -16,7 +16,7 @@ class PowerDown : public Subfunction static uint8_t const sfImplementedRequest[2]; virtual DiagReturnCode::Type process( - IncomingDiagConnection& connection, uint8_t const request[], uint16_t requestLength) final; + IIncomingDiagConnection& connection, uint8_t const request[], uint16_t requestLength) final; virtual void responseSent(IncomingDiagConnection& connection, ResponseSendResult result) final; IUdsLifecycleConnector& fUdsLifecycleConnector; diff --git a/libs/bsw/uds/include/uds/services/ecureset/SoftReset.h b/libs/bsw/uds/include/uds/services/ecureset/SoftReset.h index a77ef414859..ec1f0a91186 100644 --- a/libs/bsw/uds/include/uds/services/ecureset/SoftReset.h +++ b/libs/bsw/uds/include/uds/services/ecureset/SoftReset.h @@ -22,7 +22,7 @@ class SoftReset : public Subfunction static uint8_t const sfImplementedRequest[2]; DiagReturnCode::Type process( - IncomingDiagConnection& connection, + IIncomingDiagConnection& connection, uint8_t const request[], uint16_t requestLength) override; diff --git a/libs/bsw/uds/include/uds/services/readdata/MultipleReadDataByIdentifier.h b/libs/bsw/uds/include/uds/services/readdata/MultipleReadDataByIdentifier.h index 87b7884119d..c29a87c9579 100644 --- a/libs/bsw/uds/include/uds/services/readdata/MultipleReadDataByIdentifier.h +++ b/libs/bsw/uds/include/uds/services/readdata/MultipleReadDataByIdentifier.h @@ -74,7 +74,7 @@ class MultipleReadDataByIdentifier * \see AbstractDiagJob::process(); */ DiagReturnCode::Type process( - IncomingDiagConnection& connection, + IIncomingDiagConnection& connection, uint8_t const request[], uint16_t requestLength) override; @@ -93,7 +93,7 @@ class MultipleReadDataByIdentifier * \see NestedDiagRequest::processNestedRequest() */ DiagReturnCode::Type processNestedRequest( - IncomingDiagConnection& connection, + IIncomingDiagConnection& connection, uint8_t const request[], uint16_t requestLength) override; /** diff --git a/libs/bsw/uds/include/uds/services/sessioncontrol/DiagnosticSessionControl.h b/libs/bsw/uds/include/uds/services/sessioncontrol/DiagnosticSessionControl.h index 8e7415f3a52..48581c0ab65 100644 --- a/libs/bsw/uds/include/uds/services/sessioncontrol/DiagnosticSessionControl.h +++ b/libs/bsw/uds/include/uds/services/sessioncontrol/DiagnosticSessionControl.h @@ -76,7 +76,7 @@ class DiagnosticSessionControl void resetToDefaultSession() override; DiagReturnCode::Type acceptedJob( - IncomingDiagConnection& connection, + IIncomingDiagConnection& connection, AbstractDiagJob const& job, uint8_t const request[], uint16_t requestLength) override; @@ -126,7 +126,7 @@ class DiagnosticSessionControl static uint16_t const EXTENDED_DIAG_RESPONSE_PENDING = 3000U; // 10ms DiagReturnCode::Type process( - IncomingDiagConnection& connection, + IIncomingDiagConnection& connection, uint8_t const request[], uint16_t requestLength) override; @@ -137,7 +137,7 @@ class DiagnosticSessionControl void startTimeout(); DiagReturnCode::Type acceptedJob_ext( - IncomingDiagConnection const& connection, + IIncomingDiagConnection const& connection, AbstractDiagJob const& job, uint8_t const request[], uint16_t requestLength); diff --git a/libs/bsw/uds/include/uds/services/testerpresent/TesterPresent.h b/libs/bsw/uds/include/uds/services/testerpresent/TesterPresent.h index 9687b03b23f..900f423ac4d 100644 --- a/libs/bsw/uds/include/uds/services/testerpresent/TesterPresent.h +++ b/libs/bsw/uds/include/uds/services/testerpresent/TesterPresent.h @@ -17,7 +17,7 @@ class TesterPresent : public Service static uint8_t const RESPONSE_LENGTH = 1U; DiagReturnCode::Type process( - IncomingDiagConnection& connection, + IIncomingDiagConnection& connection, uint8_t const request[], uint16_t requestLength) override; }; diff --git a/libs/bsw/uds/include/uds/session/ApplicationDefaultSession.h b/libs/bsw/uds/include/uds/session/ApplicationDefaultSession.h index 9474e8d517e..d7233a38976 100644 --- a/libs/bsw/uds/include/uds/session/ApplicationDefaultSession.h +++ b/libs/bsw/uds/include/uds/session/ApplicationDefaultSession.h @@ -10,6 +10,7 @@ class ApplicationDefaultSession : public DiagSession { public: ApplicationDefaultSession() : DiagSession(DEFAULT, 0x01U) {} + ~ApplicationDefaultSession() = default; DiagReturnCode::Type isTransitionPossible(DiagSession::SessionType targetSession) override; diff --git a/libs/bsw/uds/include/uds/session/ApplicationExtendedSession.h b/libs/bsw/uds/include/uds/session/ApplicationExtendedSession.h index 801a2c6bad2..3d1bfe3c9f2 100644 --- a/libs/bsw/uds/include/uds/session/ApplicationExtendedSession.h +++ b/libs/bsw/uds/include/uds/session/ApplicationExtendedSession.h @@ -10,6 +10,7 @@ class ApplicationExtendedSession : public DiagSession { public: ApplicationExtendedSession() : DiagSession(EXTENDED, 0x03U) {} + ~ApplicationExtendedSession() = default; DiagReturnCode::Type isTransitionPossible(DiagSession::SessionType targetSession) override; diff --git a/libs/bsw/uds/include/uds/session/IDiagSessionManager.h b/libs/bsw/uds/include/uds/session/IDiagSessionManager.h index a2f67aeee66..2dc4e992f40 100644 --- a/libs/bsw/uds/include/uds/session/IDiagSessionManager.h +++ b/libs/bsw/uds/include/uds/session/IDiagSessionManager.h @@ -69,7 +69,7 @@ class IDiagSessionManager virtual bool persistAndRestoreSession() { return false; } virtual DiagReturnCode::Type acceptedJob( - IncomingDiagConnection& connection, + IIncomingDiagConnection& connection, AbstractDiagJob const& job, uint8_t const request[], uint16_t requestLength) diff --git a/libs/bsw/uds/include/uds/session/ProgrammingSession.h b/libs/bsw/uds/include/uds/session/ProgrammingSession.h index 3b01bda0c43..bf487503dc5 100644 --- a/libs/bsw/uds/include/uds/session/ProgrammingSession.h +++ b/libs/bsw/uds/include/uds/session/ProgrammingSession.h @@ -10,6 +10,7 @@ class ProgrammingSession : public DiagSession { public: ProgrammingSession() : DiagSession(PROGRAMMING, 0x04U) {} + ~ProgrammingSession() = default; DiagReturnCode::Type isTransitionPossible(DiagSession::SessionType targetSession) override; diff --git a/libs/bsw/uds/mock/CMakeLists.txt b/libs/bsw/uds/mock/CMakeLists.txt index d176fea2027..b93f400ff70 100644 --- a/libs/bsw/uds/mock/CMakeLists.txt +++ b/libs/bsw/uds/mock/CMakeLists.txt @@ -1,8 +1,8 @@ add_library(udsMock gmock/src/uds/session/DiagSessionMock.cpp) -target_include_directories(udsMock PUBLIC gmock/include) - -target_link_libraries( +target_include_directories( udsMock - PUBLIC gmock udsConfiguration - PRIVATE uds) + PUBLIC gmock/include + PRIVATE $) + +target_link_libraries(udsMock PUBLIC gmock udsConfiguration) \ No newline at end of file diff --git a/libs/bsw/uds/mock/gmock/include/uds/async/AsyncDiagHelperMock.h b/libs/bsw/uds/mock/gmock/include/uds/async/AsyncDiagHelperMock.h index 3afd14def77..40dc4b6bdea 100644 --- a/libs/bsw/uds/mock/gmock/include/uds/async/AsyncDiagHelperMock.h +++ b/libs/bsw/uds/mock/gmock/include/uds/async/AsyncDiagHelperMock.h @@ -16,7 +16,7 @@ class AsyncDiagHelperMock : public IAsyncDiagHelper MOCK_METHOD( StoredRequest*, allocateRequest, - (IncomingDiagConnection & connection, uint8_t const* request, uint16_t requestLength), + (IIncomingDiagConnection & connection, uint8_t const* request, uint16_t requestLength), (override)); MOCK_METHOD( diff --git a/libs/bsw/uds/mock/gmock/include/uds/base/AbstractDiagJobMock.h b/libs/bsw/uds/mock/gmock/include/uds/base/AbstractDiagJobMock.h index 33ae75ea8d1..05b8d9c8eee 100644 --- a/libs/bsw/uds/mock/gmock/include/uds/base/AbstractDiagJobMock.h +++ b/libs/bsw/uds/mock/gmock/include/uds/base/AbstractDiagJobMock.h @@ -3,7 +3,7 @@ #pragma once #include "uds/base/AbstractDiagJob.h" -#include "uds/connection/IncomingDiagConnection.h" +#include "uds/connection/IIncomingDiagConnection.h" #include @@ -29,7 +29,7 @@ class AbstractDiagJobMock : public AbstractDiagJob MOCK_METHOD( DiagReturnCode::Type, process, - (IncomingDiagConnection & connection, uint8_t const request[], uint16_t requestLength), + (IIncomingDiagConnection & connection, uint8_t const request[], uint16_t requestLength), (override)); }; diff --git a/libs/bsw/uds/mock/gmock/include/uds/base/DiagJobMock.h b/libs/bsw/uds/mock/gmock/include/uds/base/DiagJobMock.h index c85207dc61a..4748efae7d6 100644 --- a/libs/bsw/uds/mock/gmock/include/uds/base/DiagJobMock.h +++ b/libs/bsw/uds/mock/gmock/include/uds/base/DiagJobMock.h @@ -3,7 +3,7 @@ #pragma once #include "uds/base/AbstractDiagJob.h" -#include "uds/connection/IncomingDiagConnection.h" +#include "uds/connection/IIncomingDiagConnection.h" #include @@ -40,7 +40,7 @@ class DiagJobMock : public AbstractDiagJob MOCK_METHOD( DiagReturnCode::Type, process, - (IncomingDiagConnection&, uint8_t const[], uint16_t), + (IIncomingDiagConnection&, uint8_t const[], uint16_t), (override)); }; diff --git a/libs/bsw/uds/mock/gmock/include/uds/connection/IIncomingDiagConnectionMock.h b/libs/bsw/uds/mock/gmock/include/uds/connection/IIncomingDiagConnectionMock.h new file mode 100644 index 00000000000..b7d38dc839f --- /dev/null +++ b/libs/bsw/uds/mock/gmock/include/uds/connection/IIncomingDiagConnectionMock.h @@ -0,0 +1,56 @@ +#pragma once + +#include "StubMock.h" + +#include "uds/connection/IIncomingDiagConnection.h" + + +#include + +#include + +namespace uds +{ +class IIncomingDiagConnectionMock : + public IIncomingDiagConnection + , public StubMock +{ +public: + IIncomingDiagConnectionMock() : IIncomingDiagConnection{}, StubMock() {} + + MOCK_METHOD(void, open, (bool activatePending), (override)); + MOCK_METHOD(void, terminate, (), (override)); + MOCK_METHOD(void, addIdentifier, (), (override)); + MOCK_METHOD(uint16_t, getNumIdentifiers, (), (const, override)); + MOCK_METHOD(uint8_t, getIdentifier, (uint16_t idx), (const, override)); + MOCK_METHOD(uint16_t, getMaximumResponseLength, (), (const, override)); + MOCK_METHOD(PositiveResponse&, releaseRequestGetResponse, (), (override)); + MOCK_METHOD(ErrorCode, sendPositiveResponse, (AbstractDiagJob& sender), (override)); + MOCK_METHOD(ErrorCode, sendPositiveResponseInternal, (uint16_t length, AbstractDiagJob& sender), (override)); + MOCK_METHOD(ErrorCode, sendNegativeResponse, (uint8_t responseCode, AbstractDiagJob& sender), (override)); + MOCK_METHOD(void, suppressPositiveResponse, (), (override)); + MOCK_METHOD(void, disableResponseTimeout, (), (override)); + MOCK_METHOD(void, disableGlobalTimeout, (), (override)); + MOCK_METHOD(bool, isBusy, (), (const, override)); + MOCK_METHOD(DiagReturnCode::Type, startNestedRequest, (AbstractDiagJob& sender, NestedDiagRequest& nestedRequest, uint8_t const request[], uint16_t requestLength), (override)); + MOCK_METHOD(bool, terminateNestedRequest, (), (override)); + MOCK_METHOD(ErrorCode, sendResponse, (), (override)); + MOCK_METHOD(uint8_t, getServiceId, (), (const, override)); + MOCK_METHOD(uint16_t, getTargetAddress, (), (const, override)); + MOCK_METHOD(uint16_t, getSourceAddress, (), (const, override)); + MOCK_METHOD(void, setDiagSessionManager, (IDiagSessionManager* sessionManager), (override)); + MOCK_METHOD(void, setSourceAddress, (uint16_t address), (override)); + MOCK_METHOD(void, setTargetAddress, (uint16_t address), (override)); + MOCK_METHOD(void, setResponseSourceAddress, (uint16_t address), (override)); + MOCK_METHOD(void, setServiceId, (uint8_t id), (override)); + + virtual ~IIncomingDiagConnectionMock() = default; + + static IIncomingDiagConnectionMock& instance() + { + static IIncomingDiagConnectionMock instance; + return instance; + } +}; + +} // namespace uds \ No newline at end of file diff --git a/libs/bsw/uds/mock/gmock/include/uds/connection/IncomingDiagConnectionMock.h b/libs/bsw/uds/mock/gmock/include/uds/connection/IncomingDiagConnectionMock.h index a5320bff54a..f7cd9f3b6ca 100644 --- a/libs/bsw/uds/mock/gmock/include/uds/connection/IncomingDiagConnectionMock.h +++ b/libs/bsw/uds/mock/gmock/include/uds/connection/IncomingDiagConnectionMock.h @@ -2,7 +2,6 @@ #pragma once -#include "ResponseMock.h" #include "StubMock.h" #include "uds/base/AbstractDiagJob.h" #include "uds/connection/IncomingDiagConnection.h" @@ -15,6 +14,8 @@ namespace uds { +class PositiveResponse; + class IncomingDiagConnectionMock : public IncomingDiagConnection { public: diff --git a/libs/bsw/uds/mock/gmock/include/uds/connection/NestedDiagRequestMock.h b/libs/bsw/uds/mock/gmock/include/uds/connection/NestedDiagRequestMock.h index fd24783f262..732f7f34294 100644 --- a/libs/bsw/uds/mock/gmock/include/uds/connection/NestedDiagRequestMock.h +++ b/libs/bsw/uds/mock/gmock/include/uds/connection/NestedDiagRequestMock.h @@ -33,7 +33,7 @@ class NestedDiagRequestMock : public NestedDiagRequest MOCK_METHOD( DiagReturnCode::Type, processNestedRequest, - (IncomingDiagConnection & connection, uint8_t const request[], uint16_t requestLength), + (IIncomingDiagConnection & connection, uint8_t const request[], uint16_t requestLength), (override)); MOCK_METHOD(void, handleNestedResponseCode, (DiagReturnCode::Type responseCode), (override)); MOCK_METHOD(void, handleOverflow, (), (override)); diff --git a/libs/bsw/uds/mock/gmock/include/uds/connection/ResponseMock.h b/libs/bsw/uds/mock/gmock/include/uds/connection/ResponseMock.h index a37e03c191b..12a02cfa5ae 100644 --- a/libs/bsw/uds/mock/gmock/include/uds/connection/ResponseMock.h +++ b/libs/bsw/uds/mock/gmock/include/uds/connection/ResponseMock.h @@ -3,7 +3,6 @@ #pragma once #include "StubMock.h" -#include "uds/base/AbstractDiagJob.h" #include "uds/connection/PositiveResponse.h" #include @@ -15,15 +14,15 @@ class PositiveResponseMockHelper , public PositiveResponse { public: - PositiveResponseMockHelper(IncomingDiagConnection& /* connection */) : StubMock() {} + PositiveResponseMockHelper() : StubMock() {} MOCK_METHOD(size_t, appendData, (uint8_t const[], size_t)); MOCK_METHOD(uint8_t*, getData, ()); - MOCK_METHOD(::uds::ErrorCode, send, (AbstractDiagJob&)); + MOCK_METHOD(size_t, getLength, ()); - static PositiveResponseMockHelper& instance(IncomingDiagConnection& connection) + static PositiveResponseMockHelper& instance() { - static PositiveResponseMockHelper instance(connection); + static PositiveResponseMockHelper instance; return instance; } }; diff --git a/libs/bsw/uds/mock/gmock/include/uds/session/DiagSessionManagerMock.h b/libs/bsw/uds/mock/gmock/include/uds/session/DiagSessionManagerMock.h index 26d150f851c..34617f5a32d 100644 --- a/libs/bsw/uds/mock/gmock/include/uds/session/DiagSessionManagerMock.h +++ b/libs/bsw/uds/mock/gmock/include/uds/session/DiagSessionManagerMock.h @@ -2,6 +2,7 @@ #pragma once +#include "uds/connection/IIncomingDiagConnection.h" #include "uds/connection/IncomingDiagConnection.h" #include "uds/session/IDiagSessionChangedListener.h" #include "uds/session/IDiagSessionManager.h" @@ -23,7 +24,7 @@ class DiagSessionManagerMock : public IDiagSessionManager MOCK_METHOD( DiagReturnCode::Type, acceptedJob, - (IncomingDiagConnection&, AbstractDiagJob const&, uint8_t const[], uint16_t), + (IIncomingDiagConnection&, AbstractDiagJob const&, uint8_t const[], uint16_t), (override)); MOCK_METHOD( void, diff --git a/libs/bsw/uds/mock/gmock/src/uds/connection/ResponseMock.cpp b/libs/bsw/uds/mock/gmock/src/uds/connection/ResponseMock.cpp index 71daee552fc..61308ae5e7b 100644 --- a/libs/bsw/uds/mock/gmock/src/uds/connection/ResponseMock.cpp +++ b/libs/bsw/uds/mock/gmock/src/uds/connection/ResponseMock.cpp @@ -1,21 +1,20 @@ // Copyright 2024 Accenture. #include "uds/connection/ResponseMock.h" - -#include "uds/connection/IncomingDiagConnectionMock.h" - #include +class PositiveResponse; + namespace uds { size_t PositiveResponse::appendData(uint8_t const data[], size_t length) { - if (PositiveResponseMockHelper::instance(IncomingDiagConnectionMockHelper::instance()).isStub()) + if (PositiveResponseMockHelper::instance().isStub()) { return length; } - return PositiveResponseMockHelper::instance(IncomingDiagConnectionMockHelper::instance()) + return PositiveResponseMockHelper::instance() .appendData(data, length); } @@ -41,23 +40,22 @@ bool PositiveResponse::appendUint32(uint32_t const data) uint8_t* PositiveResponse::getData() { - if (PositiveResponseMockHelper::instance(IncomingDiagConnectionMockHelper::instance()).isStub()) + if (PositiveResponseMockHelper::instance().isStub()) { static uint8_t rspbuf[256]; return rspbuf; } - return PositiveResponseMockHelper::instance(IncomingDiagConnectionMockHelper::instance()) + return PositiveResponseMockHelper::instance() .getData(); } -::uds::ErrorCode PositiveResponse::send(AbstractDiagJob& sender) +size_t PositiveResponse::getLength() const { - if (PositiveResponseMockHelper::instance(IncomingDiagConnectionMockHelper::instance()).isStub()) + if (PositiveResponseMockHelper::instance().isStub()) { - return ::uds::ErrorCode::OK; + return PositiveResponseMockHelper::instance().getLength(); } - return PositiveResponseMockHelper::instance(IncomingDiagConnectionMockHelper::instance()) - .send(sender); + return 0; } void PositiveResponse::init(uint8_t buffer[], size_t maximumLength) { fIsOverflow = false; } diff --git a/libs/bsw/uds/src/uds/DiagDispatcher.cpp b/libs/bsw/uds/src/uds/DiagDispatcher.cpp index feb1a6a7ea1..0cc686dd341 100644 --- a/libs/bsw/uds/src/uds/DiagDispatcher.cpp +++ b/libs/bsw/uds/src/uds/DiagDispatcher.cpp @@ -7,6 +7,7 @@ #include "transport/TransportConfiguration.h" #include "uds/DiagCodes.h" #include "uds/UdsLogger.h" +#include "uds/connection/IIncomingDiagConnection.h" #include "uds/connection/IncomingDiagConnection.h" #include "uds/session/IDiagSessionManager.h" @@ -296,12 +297,14 @@ ESR_NO_INLINE AbstractTransportLayer::ErrorCode DiagDispatcher::send( return AbstractTransportLayer::ErrorCode::TP_SEND_FAIL; } - // FIXME: This reinterpret_cast works for now but is somewhat fragile auto connection = etl::find_if( _incomingDiagConnectionPool.begin(), _incomingDiagConnectionPool.end(), - [pNotificationListener](void* const conn) -> bool - { return reinterpret_cast(pNotificationListener) == conn; }); + [pNotificationListener](void* const conn) -> bool { + return static_cast( + static_cast(conn)) + == pNotificationListener; + }); if (connection != _incomingDiagConnectionPool.end()) { diff --git a/libs/bsw/uds/src/uds/async/AsyncDiagHelper.cpp b/libs/bsw/uds/src/uds/async/AsyncDiagHelper.cpp index e68bdd31ec4..3ee6b5efeaf 100644 --- a/libs/bsw/uds/src/uds/async/AsyncDiagHelper.cpp +++ b/libs/bsw/uds/src/uds/async/AsyncDiagHelper.cpp @@ -2,7 +2,7 @@ #include "uds/async/AsyncDiagHelper.h" -#include "uds/connection/IncomingDiagConnection.h" +#include "uds/connection/IIncomingDiagConnection.h" #include @@ -25,13 +25,13 @@ AsyncDiagHelper::verify(uint8_t const* const /* request */, uint16_t const /* re ::async::ContextType AsyncDiagHelper::getDiagContext() const { return fDiagContext; } AsyncDiagHelper::StoredRequest* AsyncDiagHelper::allocateRequest( - IncomingDiagConnection& connection, uint8_t const* request, uint16_t requestLength) + IIncomingDiagConnection& connection, uint8_t const* request, uint16_t requestLength) { if (!fStoredRequestPool.full()) { return fStoredRequestPool.template create< AsyncDiagHelper::StoredRequest, - IncomingDiagConnection&, + IIncomingDiagConnection&, uint8_t const*, uint16_t>(connection, etl::move(request), etl::move(requestLength)); } @@ -41,7 +41,7 @@ AsyncDiagHelper::StoredRequest* AsyncDiagHelper::allocateRequest( void AsyncDiagHelper::processAndReleaseRequest(AbstractDiagJob& job, StoredRequest& request) { - IncomingDiagConnection& connection = request.getConnection(); + IIncomingDiagConnection& connection = request.getConnection(); DiagReturnCode::Type const responseCode = job.process(connection, request.getRequest(), request.getRequestLength()); fStoredRequestPool.destroy(&request); diff --git a/libs/bsw/uds/src/uds/async/AsyncDiagJobHelper.cpp b/libs/bsw/uds/src/uds/async/AsyncDiagJobHelper.cpp index e27966fb3ec..dcf15c674db 100644 --- a/libs/bsw/uds/src/uds/async/AsyncDiagJobHelper.cpp +++ b/libs/bsw/uds/src/uds/async/AsyncDiagJobHelper.cpp @@ -21,13 +21,13 @@ bool AsyncDiagJobHelper::hasPendingAsyncRequest() const return fPendingAsyncConnection != nullptr; } -IncomingDiagConnection& AsyncDiagJobHelper::getPendingConnection() const +IIncomingDiagConnection& AsyncDiagJobHelper::getPendingConnection() const { return *fPendingAsyncConnection; } DiagReturnCode::Type AsyncDiagJobHelper::enqueueRequest( - IncomingDiagConnection& connection, uint8_t const* const request, uint16_t const requestLength) + IIncomingDiagConnection& connection, uint8_t const* const request, uint16_t const requestLength) { IAsyncDiagHelper::StoredRequest* const storedRequest = fAsyncHelper.allocateRequest(connection, request, requestLength); @@ -40,7 +40,7 @@ DiagReturnCode::Type AsyncDiagJobHelper::enqueueRequest( return DiagReturnCode::ISO_BUSY_REPEAT_REQUEST; } -void AsyncDiagJobHelper::startAsyncRequest(IncomingDiagConnection& connection) +void AsyncDiagJobHelper::startAsyncRequest(IIncomingDiagConnection& connection) { fPendingAsyncConnection = &connection; } diff --git a/libs/bsw/uds/src/uds/base/AbstractDiagJob.cpp b/libs/bsw/uds/src/uds/base/AbstractDiagJob.cpp index 5bd5cc3723e..03d64b82ae6 100644 --- a/libs/bsw/uds/src/uds/base/AbstractDiagJob.cpp +++ b/libs/bsw/uds/src/uds/base/AbstractDiagJob.cpp @@ -39,7 +39,7 @@ void AbstractDiagJob::setDefaultDiagSessionManager(IDiagSessionManager& sessionM } DiagReturnCode::Type AbstractDiagJob::execute( - IncomingDiagConnection& connection, uint8_t const* const request, uint16_t const requestLength) + IIncomingDiagConnection& connection, uint8_t const* const request, uint16_t const requestLength) { DiagReturnCode::Type status = verify(request, requestLength); DiagJobRoot* jobRoot = getDiagJobRoot(); @@ -50,7 +50,7 @@ DiagReturnCode::Type AbstractDiagJob::execute( acceptJob(connection, request, requestLength); return DiagReturnCode::ISO_REQUEST_OUT_OF_RANGE; } - if (!getDiagAuthenticator().isAuthenticated(connection.sourceAddress)) + if (!getDiagAuthenticator().isAuthenticated(connection.getSourceAddress())) { acceptJob(connection, request, requestLength); return getDiagAuthenticator().getNotAuthenticatedReturnCode(); @@ -290,7 +290,7 @@ bool AbstractDiagJob::isChild(uint8_t const* const prefix, uint16_t const length } DiagReturnCode::Type AbstractDiagJob::process( - IncomingDiagConnection& connection, uint8_t const* const request, uint16_t const requestLength) + IIncomingDiagConnection& connection, uint8_t const* const request, uint16_t const requestLength) { DiagReturnCode::Type result = DiagReturnCode::NOT_RESPONSIBLE; AbstractDiagJob* pCurrentJob = fpFirstChild; @@ -337,7 +337,7 @@ DiagSession const& AbstractDiagJob::getSession() const } void AbstractDiagJob::acceptJob( - IncomingDiagConnection& connection, uint8_t const* const request, uint16_t const requestLength) + IIncomingDiagConnection& connection, uint8_t const* const request, uint16_t const requestLength) { if (fRequestLength > 0U) { @@ -346,7 +346,7 @@ void AbstractDiagJob::acceptJob( } void AbstractDiagJob::checkSuppressPositiveResponseBit( - IncomingDiagConnection& connection, uint8_t const* const request) const + IIncomingDiagConnection& connection, uint8_t const* const request) const { if (fSuppressPositiveResponseBitEnabled) { diff --git a/libs/bsw/uds/src/uds/connection/IncomingDiagConnection.cpp b/libs/bsw/uds/src/uds/connection/IncomingDiagConnection.cpp index 200b21cf141..f9de43ecbc9 100644 --- a/libs/bsw/uds/src/uds/connection/IncomingDiagConnection.cpp +++ b/libs/bsw/uds/src/uds/connection/IncomingDiagConnection.cpp @@ -699,7 +699,7 @@ void IncomingDiagConnection::terminate() } _connectionTerminationIsPending = false; _sender = nullptr; - diagDispatcher->diagConnectionTerminated(*this); + diagDispatcher->diagConnectionTerminated(static_cast(*this)); } } // namespace uds diff --git a/libs/bsw/uds/src/uds/connection/NestedDiagRequest.cpp b/libs/bsw/uds/src/uds/connection/NestedDiagRequest.cpp index a0751d62338..4f178ca79ef 100644 --- a/libs/bsw/uds/src/uds/connection/NestedDiagRequest.cpp +++ b/libs/bsw/uds/src/uds/connection/NestedDiagRequest.cpp @@ -2,6 +2,8 @@ #include "uds/connection/NestedDiagRequest.h" +#include "uds/connection/IIncomingDiagConnection.h" + #include #include @@ -53,7 +55,7 @@ bool NestedDiagRequest::prepareNextRequest() return (responseCode == DiagReturnCode::OK) && (_nestedRequest.size() > 0U); } -DiagReturnCode::Type NestedDiagRequest::processNextRequest(IncomingDiagConnection& connection) +DiagReturnCode::Type NestedDiagRequest::processNextRequest(IIncomingDiagConnection& connection) { _numIdentifiers = 0U; _numPrefixIdentifiers = 0U; diff --git a/libs/bsw/uds/src/uds/jobs/DataIdentifierJob.cpp b/libs/bsw/uds/src/uds/jobs/DataIdentifierJob.cpp index 0c42633bf50..0b321d86f6f 100644 --- a/libs/bsw/uds/src/uds/jobs/DataIdentifierJob.cpp +++ b/libs/bsw/uds/src/uds/jobs/DataIdentifierJob.cpp @@ -2,8 +2,6 @@ #include "uds/jobs/DataIdentifierJob.h" -#include "uds/services/readdata/ReadDataByIdentifier.h" - namespace uds { DiagReturnCode::Type diff --git a/libs/bsw/uds/src/uds/jobs/ReadIdentifierFromMemory.cpp b/libs/bsw/uds/src/uds/jobs/ReadIdentifierFromMemory.cpp index 43935ad3879..78ee3e8a49e 100644 --- a/libs/bsw/uds/src/uds/jobs/ReadIdentifierFromMemory.cpp +++ b/libs/bsw/uds/src/uds/jobs/ReadIdentifierFromMemory.cpp @@ -2,7 +2,7 @@ #include "uds/jobs/ReadIdentifierFromMemory.h" -#include "uds/connection/IncomingDiagConnection.h" +#include "uds/connection/IIncomingDiagConnection.h" namespace uds { @@ -27,7 +27,7 @@ ReadIdentifierFromMemory::ReadIdentifierFromMemory( } DiagReturnCode::Type ReadIdentifierFromMemory::process( - IncomingDiagConnection& connection, + IIncomingDiagConnection& connection, uint8_t const* const /* request */, uint16_t const /* requestLength */) { diff --git a/libs/bsw/uds/src/uds/jobs/ReadIdentifierFromSliceRef.cpp b/libs/bsw/uds/src/uds/jobs/ReadIdentifierFromSliceRef.cpp index 44090244283..ef8d69182db 100644 --- a/libs/bsw/uds/src/uds/jobs/ReadIdentifierFromSliceRef.cpp +++ b/libs/bsw/uds/src/uds/jobs/ReadIdentifierFromSliceRef.cpp @@ -2,7 +2,7 @@ #include "uds/jobs/ReadIdentifierFromSliceRef.h" -#include "uds/connection/IncomingDiagConnection.h" +#include "uds/connection/IIncomingDiagConnection.h" namespace uds { @@ -18,7 +18,7 @@ ReadIdentifierFromSliceRef::ReadIdentifierFromSliceRef( } DiagReturnCode::Type ReadIdentifierFromSliceRef::process( - IncomingDiagConnection& connection, + IIncomingDiagConnection& connection, uint8_t const* const /* request */, uint16_t const /* requestLength */) { diff --git a/libs/bsw/uds/src/uds/jobs/RoutineControlJob.cpp b/libs/bsw/uds/src/uds/jobs/RoutineControlJob.cpp index 442a039182f..5817f3dcb3c 100644 --- a/libs/bsw/uds/src/uds/jobs/RoutineControlJob.cpp +++ b/libs/bsw/uds/src/uds/jobs/RoutineControlJob.cpp @@ -2,7 +2,7 @@ #include "uds/jobs/RoutineControlJob.h" -#include "uds/connection/IncomingDiagConnection.h" +#include "uds/connection/IIncomingDiagConnection.h" #include @@ -36,7 +36,7 @@ RoutineControlJob::verify(uint8_t const* const request, uint16_t const /* reques } DiagReturnCode::Type RoutineControlJob::process( - IncomingDiagConnection& connection, uint8_t const* const request, uint16_t const requestLength) + IIncomingDiagConnection& connection, uint8_t const* const request, uint16_t const requestLength) { switch (connection.getIdentifier(1U)) { @@ -80,7 +80,7 @@ DiagReturnCode::Type RoutineControlJob::RoutineControlJobNode::verify( } DiagReturnCode::Type RoutineControlJob::RoutineControlJobNode::process( - IncomingDiagConnection& connection, uint8_t const* const request, uint16_t const requestLength) + IIncomingDiagConnection& connection, uint8_t const* const request, uint16_t const requestLength) { return fRoutineControlJob.process(connection, request, requestLength); } diff --git a/libs/bsw/uds/src/uds/jobs/WriteIdentifierToMemory.cpp b/libs/bsw/uds/src/uds/jobs/WriteIdentifierToMemory.cpp index 5a78e7231e6..b4590f97cd6 100644 --- a/libs/bsw/uds/src/uds/jobs/WriteIdentifierToMemory.cpp +++ b/libs/bsw/uds/src/uds/jobs/WriteIdentifierToMemory.cpp @@ -2,7 +2,7 @@ #include "uds/jobs/WriteIdentifierToMemory.h" -#include "uds/connection/IncomingDiagConnection.h" +#include "uds/connection/IIncomingDiagConnection.h" #include @@ -36,7 +36,7 @@ WriteIdentifierToMemory::verify(uint8_t const* const request, uint16_t const req } DiagReturnCode::Type WriteIdentifierToMemory::process( - IncomingDiagConnection& connection, uint8_t const* const request, uint16_t const requestLength) + IIncomingDiagConnection& connection, uint8_t const* const request, uint16_t const requestLength) { (void)connection.releaseRequestGetResponse(); (void)::etl::copy( diff --git a/libs/bsw/uds/src/uds/services/communicationcontrol/CommunicationControl.cpp b/libs/bsw/uds/src/uds/services/communicationcontrol/CommunicationControl.cpp index a9db3676d28..ba222ca6192 100644 --- a/libs/bsw/uds/src/uds/services/communicationcontrol/CommunicationControl.cpp +++ b/libs/bsw/uds/src/uds/services/communicationcontrol/CommunicationControl.cpp @@ -102,7 +102,7 @@ void CommunicationControl::resetCommunicationSubState() // METRIC STCYC 25 // The method is already in use as is DiagReturnCode::Type CommunicationControl::process( - IncomingDiagConnection& connection, uint8_t const* const request, uint16_t const requestLength) + IIncomingDiagConnection& connection, uint8_t const* const request, uint16_t const requestLength) { DiagReturnCode::Type ret = sessionAccepted(); if (DiagReturnCode::OK != ret) diff --git a/libs/bsw/uds/src/uds/services/controldtcsetting/ControlDTCSetting.cpp b/libs/bsw/uds/src/uds/services/controldtcsetting/ControlDTCSetting.cpp index dbb83dd1cc7..b353853e447 100644 --- a/libs/bsw/uds/src/uds/services/controldtcsetting/ControlDTCSetting.cpp +++ b/libs/bsw/uds/src/uds/services/controldtcsetting/ControlDTCSetting.cpp @@ -24,7 +24,7 @@ ControlDTCSetting::ControlDTCSetting() } DiagReturnCode::Type ControlDTCSetting::process( - IncomingDiagConnection& connection, + IIncomingDiagConnection& connection, uint8_t const* const request, uint16_t const /* requestLength */) { diff --git a/libs/bsw/uds/src/uds/services/ecureset/EnableRapidPowerShutdown.cpp b/libs/bsw/uds/src/uds/services/ecureset/EnableRapidPowerShutdown.cpp index c5ce5eb4e8c..b5031b2c135 100644 --- a/libs/bsw/uds/src/uds/services/ecureset/EnableRapidPowerShutdown.cpp +++ b/libs/bsw/uds/src/uds/services/ecureset/EnableRapidPowerShutdown.cpp @@ -23,7 +23,7 @@ EnableRapidPowerShutdown::EnableRapidPowerShutdown(IUdsLifecycleConnector& udsLi {} DiagReturnCode::Type EnableRapidPowerShutdown::process( - IncomingDiagConnection& connection, + IIncomingDiagConnection& connection, uint8_t const* const /* request */, uint16_t const /* requestLength */) { diff --git a/libs/bsw/uds/src/uds/services/ecureset/HardReset.cpp b/libs/bsw/uds/src/uds/services/ecureset/HardReset.cpp index b1e7226bf44..9ec17bb92ec 100644 --- a/libs/bsw/uds/src/uds/services/ecureset/HardReset.cpp +++ b/libs/bsw/uds/src/uds/services/ecureset/HardReset.cpp @@ -22,7 +22,7 @@ HardReset::HardReset(IUdsLifecycleConnector& udsLifecycleConnector, DiagDispatch {} DiagReturnCode::Type HardReset::process( - IncomingDiagConnection& connection, + IIncomingDiagConnection& connection, uint8_t const* const /* request */, uint16_t const /* requestLength */) { diff --git a/libs/bsw/uds/src/uds/services/ecureset/PowerDown.cpp b/libs/bsw/uds/src/uds/services/ecureset/PowerDown.cpp index c480c2af478..d39d1e7a365 100644 --- a/libs/bsw/uds/src/uds/services/ecureset/PowerDown.cpp +++ b/libs/bsw/uds/src/uds/services/ecureset/PowerDown.cpp @@ -23,7 +23,7 @@ PowerDown::PowerDown(IUdsLifecycleConnector& udsLifecycleConnector) {} DiagReturnCode::Type PowerDown::process( - IncomingDiagConnection& connection, + IIncomingDiagConnection& connection, uint8_t const* const /* request */, uint16_t const /* requestLength */) { diff --git a/libs/bsw/uds/src/uds/services/ecureset/SoftReset.cpp b/libs/bsw/uds/src/uds/services/ecureset/SoftReset.cpp index 5e85ca9cdc3..98d6fba7630 100644 --- a/libs/bsw/uds/src/uds/services/ecureset/SoftReset.cpp +++ b/libs/bsw/uds/src/uds/services/ecureset/SoftReset.cpp @@ -27,7 +27,7 @@ SoftReset::SoftReset(IUdsLifecycleConnector& udsLifecycleConnector, DiagDispatch {} DiagReturnCode::Type SoftReset::process( - IncomingDiagConnection& connection, + IIncomingDiagConnection& connection, uint8_t const* const /* request */, uint16_t const /* requestLength */) { diff --git a/libs/bsw/uds/src/uds/services/readdata/MultipleReadDataByIdentifier.cpp b/libs/bsw/uds/src/uds/services/readdata/MultipleReadDataByIdentifier.cpp index 101eb61c9b8..b3e3870a119 100644 --- a/libs/bsw/uds/src/uds/services/readdata/MultipleReadDataByIdentifier.cpp +++ b/libs/bsw/uds/src/uds/services/readdata/MultipleReadDataByIdentifier.cpp @@ -81,7 +81,7 @@ MultipleReadDataByIdentifier::verify(uint8_t const* const request, uint16_t cons } DiagReturnCode::Type MultipleReadDataByIdentifier::process( - IncomingDiagConnection& connection, uint8_t const* const request, uint16_t const requestLength) + IIncomingDiagConnection& connection, uint8_t const* const request, uint16_t const requestLength) { if (requestLength == 2U) { @@ -90,7 +90,9 @@ DiagReturnCode::Type MultipleReadDataByIdentifier::process( if (fGetDidLimit.is_valid()) { - uint8_t const didLimit = fGetDidLimit(*connection.requestMessage); + // Main issue in the separation of concern of IIncomingDiagConnection with transport. + uint8_t const didLimit = fGetDidLimit( + *static_cast(connection).getRequestMessage()); if ((didLimit > 0U) && ((requestLength / 2U) > didLimit)) { return DiagReturnCode::ISO_INVALID_FORMAT; @@ -129,7 +131,7 @@ MultipleReadDataByIdentifier::prepareNestedRequest(::etl::span co } DiagReturnCode::Type MultipleReadDataByIdentifier::processNestedRequest( - IncomingDiagConnection& connection, uint8_t const* const request, uint16_t const requestLength) + IIncomingDiagConnection& connection, uint8_t const* const request, uint16_t const requestLength) { DiagReturnCode::Type responseCode = DiagReturnCode::NOT_RESPONSIBLE; AbstractDiagJob* currentJob = &fFirstJob; diff --git a/libs/bsw/uds/src/uds/services/sessioncontrol/DiagnosticSessionControl.cpp b/libs/bsw/uds/src/uds/services/sessioncontrol/DiagnosticSessionControl.cpp index 6f24d3936ce..92ad5c157b9 100644 --- a/libs/bsw/uds/src/uds/services/sessioncontrol/DiagnosticSessionControl.cpp +++ b/libs/bsw/uds/src/uds/services/sessioncontrol/DiagnosticSessionControl.cpp @@ -88,7 +88,7 @@ void DiagnosticSessionControl::responseSent( } DiagReturnCode::Type DiagnosticSessionControl::process( - IncomingDiagConnection& connection, uint8_t const* const request, uint16_t const requestLength) + IIncomingDiagConnection& connection, uint8_t const* const request, uint16_t const requestLength) { if ((fpCurrentSession == nullptr) || (requestLength != 1U)) { @@ -157,7 +157,7 @@ void DiagnosticSessionControl::resetToDefaultSession() } DiagReturnCode::Type DiagnosticSessionControl::acceptedJob( - IncomingDiagConnection& connection, + IIncomingDiagConnection& connection, AbstractDiagJob const& job, uint8_t const* const request, uint16_t const requestLength) @@ -166,7 +166,7 @@ DiagReturnCode::Type DiagnosticSessionControl::acceptedJob( } DiagReturnCode::Type DiagnosticSessionControl::acceptedJob_ext( - IncomingDiagConnection const& /* connection */, + IIncomingDiagConnection const& /* connection */, AbstractDiagJob const& job, uint8_t const* const /* request */, uint16_t const /* requestLength */) diff --git a/libs/bsw/uds/src/uds/services/testerpresent/TesterPresent.cpp b/libs/bsw/uds/src/uds/services/testerpresent/TesterPresent.cpp index 08a2d72da55..af6e7d99944 100644 --- a/libs/bsw/uds/src/uds/services/testerpresent/TesterPresent.cpp +++ b/libs/bsw/uds/src/uds/services/testerpresent/TesterPresent.cpp @@ -26,7 +26,7 @@ TesterPresent::TesterPresent() } DiagReturnCode::Type TesterPresent::process( - IncomingDiagConnection& connection, + IIncomingDiagConnection& connection, uint8_t const* const request, uint16_t const /* requestLength */) { diff --git a/libs/bsw/uds/test/src/uds/IntegrationTest.cpp b/libs/bsw/uds/test/src/uds/IntegrationTest.cpp index b4c6f14ec2e..868cf9938d8 100644 --- a/libs/bsw/uds/test/src/uds/IntegrationTest.cpp +++ b/libs/bsw/uds/test/src/uds/IntegrationTest.cpp @@ -79,7 +79,7 @@ class MyReadDataByIdentifier : public uds::AbstractDiagJob } uds::DiagReturnCode::Type process( - uds::IncomingDiagConnection& connection, + uds::IIncomingDiagConnection& connection, uint8_t const /* request */[], uint16_t /* requestLength */) override { diff --git a/libs/bsw/uds/test/src/uds/async/AsyncDiagJobTest.cpp b/libs/bsw/uds/test/src/uds/async/AsyncDiagJobTest.cpp index e3dc0eb2fbf..358aa563959 100644 --- a/libs/bsw/uds/test/src/uds/async/AsyncDiagJobTest.cpp +++ b/libs/bsw/uds/test/src/uds/async/AsyncDiagJobTest.cpp @@ -42,17 +42,17 @@ class DiagJobMock : public AbstractDiagJob MOCK_METHOD( DiagReturnCode::Type, doProcess, - (IncomingDiagConnection & connection, uint8_t const request[], uint16_t requestLength)); + (IIncomingDiagConnection & connection, uint8_t const request[], uint16_t requestLength)); DiagReturnCode::Type - callProcess(IncomingDiagConnection& connection, uint8_t const request[], uint16_t requestLength) + callProcess(IIncomingDiagConnection& connection, uint8_t const request[], uint16_t requestLength) { return process(connection, request, requestLength); } protected: DiagReturnCode::Type process( - IncomingDiagConnection& connection, + IIncomingDiagConnection& connection, uint8_t const request[], uint16_t requestLength) override { diff --git a/libs/bsw/uds/test/src/uds/connection/NestedDiagRequestTest.cpp b/libs/bsw/uds/test/src/uds/connection/NestedDiagRequestTest.cpp index 4a6830842c1..6be5badbd7a 100644 --- a/libs/bsw/uds/test/src/uds/connection/NestedDiagRequestTest.cpp +++ b/libs/bsw/uds/test/src/uds/connection/NestedDiagRequestTest.cpp @@ -40,7 +40,7 @@ class NestedDiagRequestMock : public NestedDiagRequest MOCK_METHOD( DiagReturnCode::Type, processNestedRequest, - (IncomingDiagConnection&, uint8_t const[], uint16_t)); + (IIncomingDiagConnection&, uint8_t const[], uint16_t)); MOCK_METHOD(void, handleNestedResponseCode, (DiagReturnCode::Type)); MOCK_METHOD(void, handleOverflow, ()); @@ -91,7 +91,7 @@ class AbstractDiagJobMock : public AbstractDiagJob protected: MOCK_METHOD(DiagReturnCode::Type, verify, (uint8_t const[], uint16_t)); MOCK_METHOD( - DiagReturnCode::Type, process, (IncomingDiagConnection&, uint8_t const[], uint16_t)); + DiagReturnCode::Type, process, (IIncomingDiagConnection&, uint8_t const[], uint16_t)); }; class IncomingDiagConnectionMock : public IncomingDiagConnection diff --git a/libs/bsw/uds/test/src/uds/jobs/RoutineControlJobTest.cpp b/libs/bsw/uds/test/src/uds/jobs/RoutineControlJobTest.cpp index 9a375c1ae0d..703c30a1698 100644 --- a/libs/bsw/uds/test/src/uds/jobs/RoutineControlJobTest.cpp +++ b/libs/bsw/uds/test/src/uds/jobs/RoutineControlJobTest.cpp @@ -46,7 +46,7 @@ class TestableRoutineControlJob : public RoutineControlJob {} DiagReturnCode::Type start( - IncomingDiagConnection& /* connection */, + IIncomingDiagConnection& /* connection */, uint8_t const /* request */[], uint16_t /* requestLength */) override { @@ -104,7 +104,7 @@ class TestableStop : public TestableRoutineControlJob MOCK_METHOD( DiagReturnCode::Type, stop, - (IncomingDiagConnection & connection, + (IIncomingDiagConnection & connection, uint8_t const* const request, uint16_t const requestLength), (override)); diff --git a/libs/bsw/uds/test/src/uds/services/CommunicationControlTest.cpp b/libs/bsw/uds/test/src/uds/services/CommunicationControlTest.cpp index b28099d66e3..54fd53faa84 100644 --- a/libs/bsw/uds/test/src/uds/services/CommunicationControlTest.cpp +++ b/libs/bsw/uds/test/src/uds/services/CommunicationControlTest.cpp @@ -26,7 +26,7 @@ class TestCommunicationControl : public CommunicationControl { public: virtual DiagReturnCode::Type - process(IncomingDiagConnection& connection, uint8_t const request[], uint16_t requestLength) + process(IIncomingDiagConnection& connection, uint8_t const request[], uint16_t requestLength) { return CommunicationControl::process(connection, request, requestLength); } diff --git a/libs/bsw/uds/test/src/uds/services/readdata/MultipleReadDataByIdentifierTest.cpp b/libs/bsw/uds/test/src/uds/services/readdata/MultipleReadDataByIdentifierTest.cpp index 9426e44822d..0c9804ce1b9 100644 --- a/libs/bsw/uds/test/src/uds/services/readdata/MultipleReadDataByIdentifierTest.cpp +++ b/libs/bsw/uds/test/src/uds/services/readdata/MultipleReadDataByIdentifierTest.cpp @@ -105,7 +105,7 @@ class MyMultipleReadDataByIdentifier : public MultipleReadDataByIdentifier } virtual DiagReturnCode::Type - process(IncomingDiagConnection& connection, uint8_t const request[], uint16_t requestLength) + process(IIncomingDiagConnection& connection, uint8_t const request[], uint16_t requestLength) { return MultipleReadDataByIdentifier::process(connection, request, requestLength); } diff --git a/libs/bsw/uds/test/src/uds/services/readdata/ReadDataByIdentifierTest.cpp b/libs/bsw/uds/test/src/uds/services/readdata/ReadDataByIdentifierTest.cpp index ca6c894c49f..56f9740b9cb 100644 --- a/libs/bsw/uds/test/src/uds/services/readdata/ReadDataByIdentifierTest.cpp +++ b/libs/bsw/uds/test/src/uds/services/readdata/ReadDataByIdentifierTest.cpp @@ -27,7 +27,7 @@ class MyReadDataByIdentifier : public ReadDataByIdentifier } virtual DiagReturnCode::Type process( - IncomingDiagConnection& /* connection */, + IIncomingDiagConnection& /* connection */, uint8_t const /* request */[], uint16_t /* requestLength */) { diff --git a/libs/bsw/uds/test/src/uds/services/routinecontrol/RoutineControlTest.cpp b/libs/bsw/uds/test/src/uds/services/routinecontrol/RoutineControlTest.cpp index fbe71f13097..52ee58969c4 100644 --- a/libs/bsw/uds/test/src/uds/services/routinecontrol/RoutineControlTest.cpp +++ b/libs/bsw/uds/test/src/uds/services/routinecontrol/RoutineControlTest.cpp @@ -27,7 +27,7 @@ class MyRoutineControl : public RoutineControl } virtual DiagReturnCode::Type process( - IncomingDiagConnection& /* connection */, + IIncomingDiagConnection& /* connection */, uint8_t const /* request */[], uint16_t /* requestLength */) { diff --git a/libs/bsw/uds/test/src/uds/services/sessioncontrol/DiagnosticSessionControlTest.cpp b/libs/bsw/uds/test/src/uds/services/sessioncontrol/DiagnosticSessionControlTest.cpp index d166aa48818..5ae3e2c6088 100644 --- a/libs/bsw/uds/test/src/uds/services/sessioncontrol/DiagnosticSessionControlTest.cpp +++ b/libs/bsw/uds/test/src/uds/services/sessioncontrol/DiagnosticSessionControlTest.cpp @@ -51,7 +51,7 @@ class TestableDiagnosticSessionControl : public DiagnosticSessionControl } DiagReturnCode::Type process( - IncomingDiagConnection& connection, + IIncomingDiagConnection& connection, uint8_t const request[], uint16_t requestLength) override { diff --git a/libs/bsw/uds/test/src/uds/services/writedata/WriteDataByIdentifierTest.cpp b/libs/bsw/uds/test/src/uds/services/writedata/WriteDataByIdentifierTest.cpp index 71ed2f50068..c6006be30d8 100644 --- a/libs/bsw/uds/test/src/uds/services/writedata/WriteDataByIdentifierTest.cpp +++ b/libs/bsw/uds/test/src/uds/services/writedata/WriteDataByIdentifierTest.cpp @@ -27,7 +27,7 @@ class TestableWriteDataByIdentifier : public WriteDataByIdentifier } virtual DiagReturnCode::Type process( - IncomingDiagConnection& /* connection */, + IIncomingDiagConnection& /* connection */, uint8_t const /* request */[], uint16_t /* requestLength */) {