cisst-saw
Loading...
Searching...
No Matches
mtsManagerComponent Class Reference

#include <mtsManagerComponent.h>

Inheritance diagram for mtsManagerComponent:
mtsManagerComponentBase mtsTaskFromSignal mtsTaskContinuous mtsTask mtsComponent cmnGenericObject

Classes

struct  InterfaceComponentFunctionType
struct  LogInterface

Public Member Functions

 mtsManagerComponent ()
 ~mtsManagerComponent ()
void Startup (void) override
void Run (void) override
void Cleanup (void) override
Public Member Functions inherited from mtsManagerComponentBase
 mtsManagerComponentBase (const std::string &componentName)
virtual ~mtsManagerComponentBase ()
void Run (void) override
void Cleanup (void) override
Public Member Functions inherited from mtsTaskFromSignal
 mtsTaskFromSignal (const std::string &name, unsigned int sizeStateTable=256)
 mtsTaskFromSignal (const mtsTaskConstructorArg &arg)
virtual ~mtsTaskFromSignal ()
void Kill (void) override
mtsInterfaceRequiredAddInterfaceRequiredWithoutSystemEventHandlers (const std::string &interfaceRequiredName, mtsRequiredType required=MTS_REQUIRED) override
mtsInterfaceProvidedAddInterfaceProvidedWithoutSystemEvents (const std::string &newInterfaceName, mtsInterfaceQueueingPolicy queueingPolicy=MTS_COMPONENT_POLICY) override
Public Member Functions inherited from mtsTaskContinuous
 mtsTaskContinuous (const std::string &name, unsigned int sizeStateTable=256, bool newThread=true)
 mtsTaskContinuous (const mtsTaskContinuousConstructorArg &arg)
virtual ~mtsTaskContinuous ()
void Create (void *data=0) override
void Start (void) override
void Suspend (void) override
virtual bool CreatesThread (void) const
Public Member Functions inherited from mtsTask
 mtsTask (const std::string &name, unsigned int sizeStateTable=256)
virtual ~mtsTask ()
virtual void OnStartupException (const std::exception &excp)
virtual void OnRunException (const std::exception &excp)
void Configure (const std::string &CMN_UNUSED(filename)="") override
void SetInitializationDelay (double delay)
void Create (void) override
double GetAveragePeriod (void) const
const std::string GetDefaultStateTableName (void) const
mtsStateTableGetDefaultStateTable (void)
virtual bool WaitToStart (double timeout)
virtual bool WaitToTerminate (double timeout)
virtual void WaitForWakeup (void)
virtual void Wakeup (void)
void ProcessManagerCommandsIfNotActive ()
bool CheckForOwnThread (void) const
virtual bool IsPeriodic (void) const
virtual bool IsOverranPeriod (void) const
virtual void ResetOverranPeriod (void)
Public Member Functions inherited from mtsComponent
 mtsComponent (const std::string &deviceName)
virtual ~mtsComponent ()
const std::string & GetName (void) const
void GetName (std::string &placeHolder) const
void AddTag (const std::string &tag)
const std::set< std::string > & GetTags (void) const
void SetName (const std::string &componentName)
virtual void Configure (const std::string &filename="")
bool CreateAndWait (double timeoutInSeconds)
bool StartAndWait (double timeoutInSeconds)
bool KillAndWait (double timeoutInSeconds)
mtsInterfaceProvidedAddInterfaceProvided (const std::string &interfaceProvidedName, mtsInterfaceQueueingPolicy queueingPolicy=MTS_COMPONENT_POLICY)
CISST_DEPRECATED mtsInterfaceProvidedAddProvidedInterface (const std::string &interfaceProvidedName)
virtual mtsInterfaceOutputAddInterfaceOutput (const std::string &interfaceOutputName)
std::vector< std::string > GetNamesOfInterfacesProvidedOrOutput (void) const
std::vector< std::string > GetNamesOfInterfacesProvided (void) const
std::vector< std::string > GetNamesOfInterfacesOutput (void) const
bool InterfaceExists (const std::string &interfaceName, cmnLogLevel lod=CMN_LOG_LEVEL_INIT_VERBOSE) const
bool InterfaceProvidedOrOutputExists (const std::string &interfaceName, cmnLogLevel lod=CMN_LOG_LEVEL_INIT_VERBOSE) const
bool InterfaceRequiredOrInputExists (const std::string &interfaceName, cmnLogLevel lod=CMN_LOG_LEVEL_INIT_VERBOSE) const
mtsInterfaceProvidedGetInterfaceProvided (const std::string &interfaceProvidedName) const
mtsInterfaceOutputGetInterfaceOutput (const std::string &interfaceOutputName) const
size_t GetNumberOfInterfacesProvided (void) const
size_t GetNumberOfInterfacesOutput (void) const
bool RemoveInterfaceProvided (const std::string &interfaceProvidedName)
mtsInterfaceRequiredAddInterfaceRequired (const std::string &interfaceRequiredName, mtsRequiredType isRequired=MTS_REQUIRED)
CISST_DEPRECATED mtsInterfaceRequiredAddRequiredInterface (const std::string &requiredInterfaceName)
virtual mtsInterfaceInputAddInterfaceInput (const std::string &interfaceInputName)
std::vector< std::string > GetNamesOfInterfacesRequiredOrInput (void) const
std::vector< std::string > GetNamesOfInterfacesRequired (void) const
std::vector< std::string > GetNamesOfInterfacesInput (void) const
const mtsInterfaceProvidedGetInterfaceProvidedFor (const std::string &interfaceRequiredName)
mtsInterfaceRequiredGetInterfaceRequired (const std::string &interfaceRequiredName)
mtsInterfaceInputGetInterfaceInput (const std::string &interfaceInputName) const
size_t GetNumberOfInterfacesRequired (void) const
size_t GetNumberOfInterfacesInput (void) const
bool RemoveInterfaceRequired (const std::string &interfaceRequiredName)
mtsStateTableGetStateTable (const std::string &stateTableName)
bool AddStateTable (mtsStateTable *existingStateTable, bool addInterfaceProvided=true)
void UseSeparateLogFileDefault (bool forwardToLogger=true)
void UseSeparateLogFileDefaultWithDate (bool forwardToLogger=true)
void UseSeparateLogFile (const std::string &filename, bool forwardToLogger=true)
cmnLogger::StreamBufTypeGetLogMultiplexer (void) const override
bool AreAllInterfacesRequiredConnected (const bool log=false)
bool IsRunning (void) const
bool CISST_DEPRECATED Running (void) const
bool IsStarted (void) const
bool IsTerminated (void) const
bool IsEndTask (void) const
const mtsComponentStateGetState (void) const
void GetState (mtsComponentState &state) const
void ToStream (std::ostream &outputStream) const override
bool SetReplayMode (void)
bool SetReplayData (const std::string &stateTableName, const std::string &fileName)
bool SetReplayTime (const double time)
Public Member Functions inherited from cmnGenericObject
virtual ~cmnGenericObject (void)
virtual const cmnClassServicesBaseServices (void) const =0
bool ReconstructFrom (const cmnGenericObject &other)
std::string ToString (void) const
virtual void ToStreamRaw (std::ostream &outputStream, const char delimiter=' ', bool headerOnly=false, const std::string &headerPrefix="") const
virtual bool FromStreamRaw (std::istream &inputStream, const char delimiter=' ')
virtual void SerializeRaw (std::ostream &outputStream) const
virtual void DeSerializeRaw (std::istream &inputStream)
virtual size_t ScalarNumber (void) const
virtual bool ScalarNumberIsFixed (void) const
virtual double Scalar (const size_t CMN_UNUSED(index)) const CISST_THROW(std
virtual std::string ScalarDescription (const size_t CMN_UNUSED(index), const std::string &CMN_UNUSED(userDescription)) const

Static Public Member Functions

static std::string GetInterfaceUID (const std::string &processName, const std::string &componentName, const std::string &interfaceName)
Static Public Member Functions inherited from mtsManagerComponentBase
static bool IsManagerComponent (const std::string &componentName)
static bool IsNameOfInternalInterface (const std::string &interfaceName)
static bool IsNameOfInterfaceComponentRequired (const std::string &interfaceName)
static bool IsNameOfInterfaceComponentProvided (const std::string &interfaceName)
static bool IsNameOfInterfaceInternalRequired (const std::string &interfaceName)
static bool IsNameOfInterfaceInternalProvided (const std::string &interfaceName)
static const std::string GetNameOfManagerComponent (void)
static const std::string GetNameOfInterfaceComponentRequiredFor (const std::string &componentName)
static const std::string GetNameOfInterfaceComponentProvided (void)
static const std::string GetNameOfInterfaceInternalRequired (void)
static const std::string GetNameOfInterfaceInternalProvided (void)

Protected Types

typedef cmnNamedMap< mtsComponentComponentMapType
typedef cmnNamedMap< InterfaceComponentFunctionTypeInterfaceComponentFunctionMapType
Protected Types inherited from mtsTaskFromSignal
typedef mtsTaskContinuous BaseType
Protected Types inherited from mtsComponent
typedef cmnNamedMap< mtsInterfaceProvidedInterfacesProvidedMapType
typedef cmnNamedMap< mtsInterfaceOutputInterfacesOutputMapType
typedef cmnNamedMap< mtsInterfaceRequiredInterfacesRequiredMapType
typedef cmnNamedMap< mtsInterfaceInputInterfacesInputMapType
typedef cmnNamedMap< mtsStateTableStateTableMapType

Protected Member Functions

bool AddInterfaceComponent (void)
void ComponentCreate (const mtsDescriptionComponent &componentDescription, bool &result)
void ComponentAdd (const mtsComponentPointer &componentPtr, bool &result)
void ComponentRemove (const std::string &component, bool &result)
void ComponentGet (const std::string &componentName, mtsComponentPointer &componentPtr) const
void ComponentConfigure (const mtsDescriptionComponent &arg)
void ComponentConnect (const mtsDescriptionConnection &arg, bool &result)
void ComponentDisconnect (const mtsDescriptionConnection &arg, bool &result)
void ComponentStart (const mtsComponentStatusControl &arg)
void ComponentStop (const mtsComponentStatusControl &arg)
void ComponentResume (const mtsComponentStatusControl &arg)
void ComponentGetState (const mtsDescriptionComponent &component, mtsComponentState &state) const
void LoadLibrary (const mtsDescriptionLoadLibrary &lib, bool &result) const
void GetNamesOfProcesses (std::vector< std::string > &names) const
void GetNamesOfComponents (const std::string &processName, std::vector< std::string > &names) const
void GetDescriptionsOfComponents (const std::string &processName, std::vector< mtsDescriptionComponent > &descriptions) const
void GetNamesOfInterfaces (const mtsDescriptionComponent &component, mtsDescriptionInterface &interfaces) const
void GetDescriptionsOfInterfaces (const mtsDescriptionComponent &component, mtsDescriptionInterfaceFull &interfaces) const
void GetListOfConnections (std::vector< mtsDescriptionConnection > &listOfConnections) const
void GetListOfComponentClasses (const std::string &processName, std::vector< mtsDescriptionComponentClass > &listOfComponentClasses) const
void GetInterfaceProvidedDescription (const mtsDescriptionInterface &intfc, mtsInterfaceProvidedDescription &description) const
void GetInterfaceRequiredDescription (const mtsDescriptionInterface &intfc, mtsInterfaceRequiredDescription &description) const
mtsComponentGetComponent (const std::string &componentName) const
bool ConnectInternal (const std::string &clientComponentName, const std::string &clientInterfaceName, const std::string &serverComponentName, const std::string &serverInterfaceName, const std::string &requestComponentName)
bool DisconnectInternal (const std::string &clientComponentName, const std::string &clientInterfaceName, const std::string &serverComponentName, const std::string &serverInterfaceName, const std::string &requestComponentName)
bool FindByConnectionID (mtsDescriptionConnection &arg) const
bool AddNewClientComponent (const std::string &clientComponentName)
void HandleChangeStateFromComponent (const mtsComponentStateChange &componentStateChange)
bool ConnectToManagerComponent (const std::string &componentName)
 Connect a local component which has internal interfaces to the manager component (connect InterfaceInternal.Required - InterfaceComponent.Provided).
bool DisconnectFromManagerComponent (const std::string &componentName)
 Disconnect local component from manager component (disconnect InterfaceInternal.Required - InterfaceComponent.Provided).
Protected Member Functions inherited from mtsTaskFromSignal
void Init (void)
void * RunInternal (void *argument) override
void PostCommandQueuedMethod (void)
Protected Member Functions inherited from mtsTaskContinuous
virtual void StartInternal (void)
Protected Member Functions inherited from mtsTask
virtual const mtsManagerComponentServicesGetManagerComponentServices (void) const override
void RunEventHandler (void)
void ChangeStateEventHandler (const mtsComponentState &newState)
mtsExecutionResult RunEvent (bool check=true)
void DoRunInternal (void)
virtual void StartupInternal (void)
virtual void CleanupInternal (void)
void Sleep (double timeInSeconds)
mtsStateIndex::TimeTicksType GetTick (void) const
virtual void SaveThreadStartData (void *data)
virtual void SetThreadReturnValue (void *returnValue)
void ChangeState (mtsComponentState::Enum newState)
bool WaitForState (mtsComponentState desiredState, double timeout) override
Protected Member Functions inherited from mtsComponent
 mtsComponent (void)
 mtsComponent (const mtsComponent &other)
void Initialize (void)
mtsInterfaceRequiredAddInterfaceRequiredExisting (const std::string &interfaceRequiredName, mtsInterfaceRequired *interfaceRequired)
mtsInterfaceRequiredAddInterfaceRequiredUsingMailbox (const std::string &interfaceRequiredName, mtsMailBox *mailBox, mtsRequiredType required)
mtsInterfaceProvidedAddInterfaceProvidedUsingMailbox (const std::string &interfaceProvidedName, mtsMailBox *mailBox)
mtsInterfaceInputAddInterfaceInputExisting (const std::string &interfaceInputName, mtsInterfaceInput *interfaceInput)
mtsInterfaceOutputAddInterfaceOutputExisting (const std::string &interfaceOutputName, mtsInterfaceOutput *interfaceOutput)
void KillSeparateLogFile (void)
size_t ProcessMailBoxes (InterfacesProvidedMapType &interfaces)
size_t ProcessQueuedCommands (void)
size_t ProcessQueuedEvents (void)
mtsInterfaceRequiredEnableDynamicComponentManagement (void)
 Enable support for dynamic component management services.
bool AddInterfaceInternal (const bool useMangerComponentServices=false)
 Add internal interfaces.
void InterfaceInternalCommands_GetEndUserInterface (const mtsEndUserInterfaceArg &argin, mtsEndUserInterfaceArg &argout)
void InterfaceInternalCommands_AddObserverList (const mtsEventHandlerList &argin, mtsEventHandlerList &argout)
void InterfaceInternalCommands_RemoveEndUserInterface (const mtsEndUserInterfaceArg &argin, mtsEndUserInterfaceArg &argout)
void InterfaceInternalCommands_RemoveObserverList (const mtsEventHandlerList &argin, mtsEventHandlerList &argout)

Protected Attributes

ComponentMapType ComponentMap
ConnectionIDType ConnectionID
InterfaceComponentFunctionMapType InterfaceComponentFunctionMap
mtsFunctionWrite InterfaceComponentEvents_AddComponent
mtsFunctionWrite InterfaceComponentEvents_AddConnection
mtsFunctionWrite InterfaceComponentEvents_RemoveConnection
mtsFunctionWrite InterfaceComponentEvents_ChangeState
LogInterface Logger
Protected Attributes inherited from mtsTaskFromSignal
mtsCallableVoidBasePostCommandQueuedCallable
Protected Attributes inherited from mtsTaskContinuous
bool NewThread
bool CaptureThread
Protected Attributes inherited from mtsTask
osaThread Thread
double InitializationDelay
osaMutex StateChange
osaThreadSignal StateChangeSignal
mtsStateTable StateTable
bool OverranPeriod
void * ThreadStartData
void * ReturnValue
mtsCallableVoidBaseInterfaceProvidedToManagerCallable
mtsInterfaceRequiredExecIn
mtsInterfaceProvidedExecOut
mtsFunctionVoid RunEventInternal
bool RunEventCalled
mtsFunctionWrite ChangeStateEvent
Protected Attributes inherited from mtsComponent
std::string Name
mtsComponentState State
std::set< std::string > mTags
mtsInterfaceProvidedInterfaceProvidedToManager
bool UseSeparateLogFileFlag
cmnLogger::StreamBufTypeLoDMultiplexerStreambuf
std::ofstream * LogFile
InterfacesProvidedMapType InterfacesProvided
InterfacesOutputMapType InterfacesOutput
InterfacesRequiredMapType InterfacesRequired
InterfacesInputMapType InterfacesInput
StateTableMapType StateTables
mtsManagerComponentServicesManagerComponentServices
mtsFunctionWrite EventGeneratorChangeState
bool ReplayMode

Additional Inherited Members

Public Types inherited from mtsTaskContinuous
typedef mtsTask BaseType
Public Types inherited from mtsTask
typedef mtsComponent BaseType
Public Types inherited from mtsComponent
typedef mtsComponent ThisType
Static Public Attributes inherited from mtsTask
static std::runtime_error UnknownException

Member Typedef Documentation

◆ ComponentMapType

Typedef for component map: key is component name, value is component object.

◆ InterfaceComponentFunctionMapType

Constructor & Destructor Documentation

◆ mtsManagerComponent()

mtsManagerComponent::mtsManagerComponent ( )

◆ ~mtsManagerComponent()

mtsManagerComponent::~mtsManagerComponent ( )

Member Function Documentation

◆ AddInterfaceComponent()

bool mtsManagerComponent::AddInterfaceComponent ( void )
protected

◆ AddNewClientComponent()

bool mtsManagerComponent::AddNewClientComponent ( const std::string & clientComponentName)
protected

Create a new set of function objects, add a new instance of InterfaceComponent's required interface to this component, and connect it to InterfaceInternal's provided interface

◆ Cleanup()

void mtsManagerComponent::Cleanup ( void )
overridevirtual

Virtual method that gets overloaded, and is run after the component gets killed using Kill() method.

Reimplemented from mtsComponent.

◆ ComponentAdd()

void mtsManagerComponent::ComponentAdd ( const mtsComponentPointer & componentPtr,
bool & result )
protected

◆ ComponentConfigure()

void mtsManagerComponent::ComponentConfigure ( const mtsDescriptionComponent & arg)
protected

◆ ComponentConnect()

void mtsManagerComponent::ComponentConnect ( const mtsDescriptionConnection & arg,
bool & result )
protected

◆ ComponentCreate()

void mtsManagerComponent::ComponentCreate ( const mtsDescriptionComponent & componentDescription,
bool & result )
protected

Commands for InterfaceComponent's provided interface

◆ ComponentDisconnect()

void mtsManagerComponent::ComponentDisconnect ( const mtsDescriptionConnection & arg,
bool & result )
protected

◆ ComponentGet()

void mtsManagerComponent::ComponentGet ( const std::string & componentName,
mtsComponentPointer & componentPtr ) const
protected

◆ ComponentGetState()

void mtsManagerComponent::ComponentGetState ( const mtsDescriptionComponent & component,
mtsComponentState & state ) const
protected

◆ ComponentRemove()

void mtsManagerComponent::ComponentRemove ( const std::string & component,
bool & result )
protected

◆ ComponentResume()

void mtsManagerComponent::ComponentResume ( const mtsComponentStatusControl & arg)
protected

◆ ComponentStart()

void mtsManagerComponent::ComponentStart ( const mtsComponentStatusControl & arg)
protected

◆ ComponentStop()

void mtsManagerComponent::ComponentStop ( const mtsComponentStatusControl & arg)
protected

◆ ConnectInternal()

bool mtsManagerComponent::ConnectInternal ( const std::string & clientComponentName,
const std::string & clientInterfaceName,
const std::string & serverComponentName,
const std::string & serverInterfaceName,
const std::string & requestComponentName )
protected

◆ ConnectToManagerComponent()

bool mtsManagerComponent::ConnectToManagerComponent ( const std::string & componentName)
protected

Connect a local component which has internal interfaces to the manager component (connect InterfaceInternal.Required - InterfaceComponent.Provided).

◆ DisconnectFromManagerComponent()

bool mtsManagerComponent::DisconnectFromManagerComponent ( const std::string & componentName)
protected

Disconnect local component from manager component (disconnect InterfaceInternal.Required - InterfaceComponent.Provided).

◆ DisconnectInternal()

bool mtsManagerComponent::DisconnectInternal ( const std::string & clientComponentName,
const std::string & clientInterfaceName,
const std::string & serverComponentName,
const std::string & serverInterfaceName,
const std::string & requestComponentName )
protected

◆ FindByConnectionID()

bool mtsManagerComponent::FindByConnectionID ( mtsDescriptionConnection & arg) const
protected

◆ GetComponent()

mtsComponent * mtsManagerComponent::GetComponent ( const std::string & componentName) const
protected

Convenience method to get pointer to component

◆ GetDescriptionsOfComponents()

void mtsManagerComponent::GetDescriptionsOfComponents ( const std::string & processName,
std::vector< mtsDescriptionComponent > & descriptions ) const
protected

◆ GetDescriptionsOfInterfaces()

void mtsManagerComponent::GetDescriptionsOfInterfaces ( const mtsDescriptionComponent & component,
mtsDescriptionInterfaceFull & interfaces ) const
protected

◆ GetInterfaceProvidedDescription()

void mtsManagerComponent::GetInterfaceProvidedDescription ( const mtsDescriptionInterface & intfc,
mtsInterfaceProvidedDescription & description ) const
protected

◆ GetInterfaceRequiredDescription()

void mtsManagerComponent::GetInterfaceRequiredDescription ( const mtsDescriptionInterface & intfc,
mtsInterfaceRequiredDescription & description ) const
protected

◆ GetInterfaceUID()

std::string mtsManagerComponent::GetInterfaceUID ( const std::string & processName,
const std::string & componentName,
const std::string & interfaceName )
static

Generate unique representation of interface as string

◆ GetListOfComponentClasses()

void mtsManagerComponent::GetListOfComponentClasses ( const std::string & processName,
std::vector< mtsDescriptionComponentClass > & listOfComponentClasses ) const
protected

◆ GetListOfConnections()

void mtsManagerComponent::GetListOfConnections ( std::vector< mtsDescriptionConnection > & listOfConnections) const
protected

◆ GetNamesOfComponents()

void mtsManagerComponent::GetNamesOfComponents ( const std::string & processName,
std::vector< std::string > & names ) const
protected

◆ GetNamesOfInterfaces()

void mtsManagerComponent::GetNamesOfInterfaces ( const mtsDescriptionComponent & component,
mtsDescriptionInterface & interfaces ) const
protected

◆ GetNamesOfProcesses()

void mtsManagerComponent::GetNamesOfProcesses ( std::vector< std::string > & names) const
protected

◆ HandleChangeStateFromComponent()

void mtsManagerComponent::HandleChangeStateFromComponent ( const mtsComponentStateChange & componentStateChange)
protected

◆ LoadLibrary()

void mtsManagerComponent::LoadLibrary ( const mtsDescriptionLoadLibrary & lib,
bool & result ) const
protected

◆ Run()

void mtsManagerComponent::Run ( void )
overridevirtual

Pure virtual method that gets overloaded to run the actual task.

Implements mtsTask.

◆ Startup()

void mtsManagerComponent::Startup ( void )
overridevirtual

Virtual method that gets overloaded, and is run before the component is started.

Reimplemented from mtsComponent.

Member Data Documentation

◆ ComponentMap

ComponentMapType mtsManagerComponent::ComponentMap
protected

◆ ConnectionID

ConnectionIDType mtsManagerComponent::ConnectionID
protected

Counter to issue a new connection ID.

◆ InterfaceComponentEvents_AddComponent

mtsFunctionWrite mtsManagerComponent::InterfaceComponentEvents_AddComponent
protected

Event generators for InterfaceComponent's provided interface

◆ InterfaceComponentEvents_AddConnection

mtsFunctionWrite mtsManagerComponent::InterfaceComponentEvents_AddConnection
protected

◆ InterfaceComponentEvents_ChangeState

mtsFunctionWrite mtsManagerComponent::InterfaceComponentEvents_ChangeState
protected

◆ InterfaceComponentEvents_RemoveConnection

mtsFunctionWrite mtsManagerComponent::InterfaceComponentEvents_RemoveConnection
protected

◆ InterfaceComponentFunctionMap

InterfaceComponentFunctionMapType mtsManagerComponent::InterfaceComponentFunctionMap
protected

◆ Logger

LogInterface mtsManagerComponent::Logger
protected

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