Woman, Life, Freedom


Adaptive AUTOSAR
ARA public interface header documentation
ara::com::someip::sd::fsm::ServiceNotseenState Class Reference

Client's service state when the service is not seen. More...

#include <service_notseen_state.h>

Inheritance diagram for ara::com::someip::sd::fsm::ServiceNotseenState:
ara::com::someip::sd::fsm::ClientServiceState ara::com::helper::MachineState< helper::SdClientState >

Public Member Functions

 ServiceNotseenState (helper::TtlTimer *ttlTimer, std::condition_variable *conditionVariable) noexcept
 Constructor. More...
 
 ServiceNotseenState (const ServiceNotseenState &)=delete
 
ServiceNotseenStateoperator= (const ServiceNotseenState &)=delete
 
void Activate (helper::SdClientState previousState) override
 Activate the state. More...
 
void RequestService ()
 Request service client for the first time. More...
 
void Dispose () noexcept
 Dispose the state to end the blocking caused by ServiceRequested. More...
 
- Public Member Functions inherited from ara::com::someip::sd::fsm::ClientServiceState
 ClientServiceState (const ClientServiceState &)=delete
 
ClientServiceStateoperator= (const ClientServiceState &)=delete
 
- Public Member Functions inherited from ara::com::helper::MachineState< helper::SdClientState >
 MachineState (const MachineState &)=delete
 
MachineStateoperator= (const MachineState &)=delete
 
helper::SdClientState GetState () const noexcept
 Get the machine state. More...
 
void Register (AbstractStateMachine< helper::SdClientState > *finiteStateMachine) noexcept
 Register the state to a finite state machine (FSM) More...
 

Protected Member Functions

void Deactivate (helper::SdClientState nextState) override
 Deactivating the current state before transiting to the next state. More...
 
- Protected Member Functions inherited from ara::com::someip::sd::fsm::ClientServiceState
 ClientServiceState (helper::TtlTimer *timer)
 Constructor. More...
 
- Protected Member Functions inherited from ara::com::helper::MachineState< helper::SdClientState >
void Transit (helper::SdClientState nextState)
 Transit to the next state. More...
 
 MachineState (helper::SdClientState state) noexcept
 Constructor. More...
 

Additional Inherited Members

- Protected Attributes inherited from ara::com::someip::sd::fsm::ClientServiceState
helper::TtlTimer *const Timer
 Timer to handle service offer entry TTL.
 

Detailed Description

Client's service state when the service is not seen.

The state happens when the client's service is not requested and also the server's service is down.

Note
The state is not copyable

Constructor & Destructor Documentation

◆ ServiceNotseenState()

ara::com::someip::sd::fsm::ServiceNotseenState::ServiceNotseenState ( helper::TtlTimer ttlTimer,
std::condition_variable *  conditionVariable 
)
noexcept

Constructor.

Parameters
ttlTimerFinite machine state global TTL timer pointer
conditionVariableCondition variable to be notified when the state activated

Member Function Documentation

◆ Activate()

void ara::com::someip::sd::fsm::ServiceNotseenState::Activate ( helper::SdClientState  previousState)
overridevirtual

Activate the state.

Parameters
previousStatePrevious state before transiting to this state

Implements ara::com::helper::MachineState< helper::SdClientState >.

◆ Deactivate()

void ara::com::someip::sd::fsm::ServiceNotseenState::Deactivate ( helper::SdClientState  nextState)
overrideprotectedvirtual

Deactivating the current state before transiting to the next state.

Parameters
nextStateNext state coming after deactivation

Implements ara::com::helper::MachineState< helper::SdClientState >.

◆ Dispose()

void ara::com::someip::sd::fsm::ServiceNotseenState::Dispose ( )
noexcept

Dispose the state to end the blocking caused by ServiceRequested.

Remarks
The side effect of this function call is irreversible.
See also
ServiceRequested

◆ RequestService()

void ara::com::someip::sd::fsm::ServiceNotseenState::RequestService ( )

Request service client for the first time.

Note
Due to blocking, this function should be called from a separate thread.