Eclipse SUMO - Simulation of Urban MObility
StaticCommand< T > Class Template Reference

A wrapper for a Command function. More...

#include <StaticCommand.h>

Inheritance diagram for StaticCommand< T >:
Collaboration diagram for StaticCommand< T >:

Public Types

typedef SUMOTime(* Operation) (SUMOTime)
 Type of the function to execute. More...
 

Public Member Functions

void deschedule ()
 Marks this Command as being descheduled. More...
 
 StaticCommand (Operation operation)
 Constructor. More...
 
 ~StaticCommand ()
 Destructor. More...
 
Derived from Command
SUMOTime execute (SUMOTime currentTime)
 Executes the command. More...
 

Private Attributes

bool myAmDescheduledByParent
 Whether this command was descheduled (is invalid) and shall not be executed. More...
 
Operation myOperation
 The object's operation to perform. More...
 

Detailed Description

template<class T>
class StaticCommand< T >

A wrapper for a Command function.

See also
Design Patterns, Gamma et al.
Command
MSEventControl

Definition at line 40 of file StaticCommand.h.

Member Typedef Documentation

◆ Operation

template<class T >
typedef SUMOTime(* StaticCommand< T >::Operation) (SUMOTime)

Type of the function to execute.

Definition at line 43 of file StaticCommand.h.

Constructor & Destructor Documentation

◆ StaticCommand()

template<class T >
StaticCommand< T >::StaticCommand ( Operation  operation)
inline

Constructor.

Parameters
[in]receiverPointer to object of type T that will receive a call to one of it's methods.
[in]operationThe objects' method that will be called on execute()

Definition at line 53 of file StaticCommand.h.

◆ ~StaticCommand()

template<class T >
StaticCommand< T >::~StaticCommand ( )
inline

Destructor.

Definition at line 58 of file StaticCommand.h.

Member Function Documentation

◆ deschedule()

template<class T >
void StaticCommand< T >::deschedule ( )
inline

Marks this Command as being descheduled.

A simple boolean marker ("myAmDescheduledByParent") is set which prevents this command from being executed.

Definition at line 66 of file StaticCommand.h.

References StaticCommand< T >::myAmDescheduledByParent.

◆ execute()

template<class T >
SUMOTime StaticCommand< T >::execute ( SUMOTime  currentTime)
inlinevirtual

Executes the command.

If the command is not descheduled, the stored method of the stored instance is called.

Parameters
[in]currentTimeThe current simulation time
Returns
The time after which the command shall be executed again, 0 if this command shall be descheduled.
Exceptions
ProcessErrorDerived actions may throw this exception

Implements Command.

Definition at line 84 of file StaticCommand.h.

References StaticCommand< T >::myAmDescheduledByParent, and StaticCommand< T >::myOperation.

Field Documentation

◆ myAmDescheduledByParent

template<class T >
bool StaticCommand< T >::myAmDescheduledByParent
private

Whether this command was descheduled (is invalid) and shall not be executed.

Definition at line 100 of file StaticCommand.h.

Referenced by StaticCommand< T >::deschedule(), and StaticCommand< T >::execute().

◆ myOperation

template<class T >
Operation StaticCommand< T >::myOperation
private

The object's operation to perform.

Definition at line 97 of file StaticCommand.h.

Referenced by StaticCommand< T >::execute().


The documentation for this class was generated from the following file: