cisst-saw
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Public Member Functions | Static Public Member Functions | Friends | List of all members
mtsCollectorState Class Reference

#include <mtsCollectorState.h>

Inheritance diagram for mtsCollectorState:
mtsCollectorBase mtsTaskFromSignal mtsTaskContinuous mtsTask mtsComponent cmnGenericObject

Public Member Functions

 mtsCollectorState (const std::string &collectorName)
 
 mtsCollectorState (const std::string &targetComponentName, const std::string &targetStateTableName, const CollectorFileFormat fileFormat)
 
 ~mtsCollectorState (void)
 
bool SetStateTable (const std::string &componentName, const std::string &stateTableName="")
 
bool AddSignal (const std::string &signalName="")
 
void SetSamplingInterval (const unsigned int samplingInterval)
 
bool Connect (void)
 
bool Disconnect (void)
 
void StartCollection (const mtsDouble &delayInSeconds)
 
void StopCollection (const mtsDouble &delayInSeconds)
 
- Public Member Functions inherited from mtsCollectorBase
 mtsCollectorBase (const std::string &collectorName, const CollectorFileFormat fileFormat)
 
virtual ~mtsCollectorBase (void)
 
void SetOutput (const std::string &fileName, const CollectorFileFormat fileFormat)
 
void SetOutput (std::ostream &outputStream, const CollectorFileFormat fileFormat)
 
void SetOutput (std::ostream &outputStream)
 
void SetOutputToDefault (const CollectorFileFormat fileFormat)
 
void SetOutputToDefault (void)
 
void CloseOutput (void)
 
const std::string & GetOutputFileName (void) const
 
void OpenFileIfNeeded (void)
 
void SetWorkingDirectory (const mtsStdString &directory)
 
void GetWorkingDirectory (mtsStdString &placeHolder) const
 
void SetOutputStreamFloatingNotation (const CollectorFileFloatingNotation floatingNotation)
 
void SetOutputStreamPrecision (const int precision)
 
void SetOutputStreamWidth (const int width)
 
void SetOutputStreamFill (const char fillCharacter)
 
- Public Member Functions inherited from mtsTaskFromSignal
 mtsTaskFromSignal (const std::string &name, unsigned int sizeStateTable=256)
 
virtual ~mtsTaskFromSignal ()
 
void Kill (void)
 
mtsInterfaceRequiredAddInterfaceRequiredWithoutSystemEventHandlers (const std::string &interfaceRequiredName, mtsRequiredType required=MTS_REQUIRED)
 
mtsInterfaceProvidedAddInterfaceProvidedWithoutSystemEvents (const std::string &newInterfaceName, mtsInterfaceQueueingPolicy queueingPolicy=MTS_COMPONENT_POLICY, bool isProxy=false)
 
- 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)
 
void Start (void)
 
void Suspend (void)
 
- 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)
 
virtual void Configure (const std::string &CMN_UNUSED(filename)="")
 
void SetInitializationDelay (double delay)
 
void Create (void)
 
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 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
mtsInterfaceProvided
AddProvidedInterface (const std::string &interfaceProvidedName)
 
virtual mtsInterfaceOutputAddInterfaceOutput (const std::string &interfaceOutputName)
 
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, const bool skipDisconnect=false)
 
mtsInterfaceRequiredAddInterfaceRequired (const std::string &interfaceRequiredName, mtsRequiredType isRequired=MTS_REQUIRED)
 
CISST_DEPRECATED
mtsInterfaceRequired
AddRequiredInterface (const std::string &requiredInterfaceName)
 
virtual mtsInterfaceInputAddInterfaceInput (const std::string &interfaceInputName)
 
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, const bool skipDisconnect=false)
 
const mtsManagerComponentServicesGetManagerComponentServices (void) const
 
mtsManagerComponentServicesGetManagerComponentServices (void)
 
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
 
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
 
bool SetReplayMode (void)
 
bool SetReplayData (const std::string &stateTableName, const std::string &fileName)
 
bool SetReplayTime (const double time)
 
std::vector< std::string > GetNamesOfInterfacesProvidedOrOutput (void) const
 
std::vector< std::string > GetNamesOfInterfacesProvided (void) const
 
std::vector< std::string > GetNamesOfInterfacesOutput (void) const
 
std::vector< std::string > GetNamesOfInterfacesRequiredOrInput (void) const
 
std::vector< std::string > GetNamesOfInterfacesRequired (void) const
 
std::vector< std::string > GetNamesOfInterfacesInput (void) const
 
- Public Member Functions inherited from cmnGenericObject
virtual ~cmnGenericObject (void)
 
virtual const
cmnClassServicesBase
Services (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 throw (std::out_of_range)
 
virtual std::string ScalarDescription (const size_t CMN_UNUSED(index), const std::string &CMN_UNUSED(userDescription)) const
 

Static Public Member Functions

static bool ConvertBinaryToText (const std::string sourceBinaryLogFileName, const std::string targetPlainTextLogFileName, const char delimiter= ',')
 

Friends

class mtsCollectorStateTest
 
class mtsStateTable
 

Additional Inherited Members

- Public Types inherited from mtsCollectorBase
enum  CollectorFileFormat { COLLECTOR_FILE_FORMAT_PLAIN_TEXT, COLLECTOR_FILE_FORMAT_BINARY, COLLECTOR_FILE_FORMAT_CSV, COLLECTOR_FILE_FORMAT_UNDEFINED }
 
enum  CollectorFileFloatingNotation { COLLECTOR_FILE_FLOATING_NOTATION_NONE, COLLECTOR_FILE_FLOATING_NOTATION_FIXED, COLLECTOR_FILE_FLOATING_NOTATION_SCIENTIFIC }
 
- Public Types inherited from mtsTaskContinuous
typedef mtsTask BaseType
 
- Public Types inherited from mtsTask
typedef mtsComponent BaseType
 
- Public Types inherited from mtsComponent
typedef mtsComponent ThisType
 
- Public Attributes inherited from mtsCollectorBase
mtsFunctionVoid CollectionStartedEventTrigger
 
mtsFunctionWrite CollectionStoppedEventTrigger
 
mtsFunctionWrite ProgressEventTrigger
 
- Static Public Attributes inherited from mtsTask
static std::runtime_error UnknownException
 
- Protected Types inherited from mtsCollectorBase
enum  CollectorStatus { COLLECTOR_STOP, COLLECTOR_WAIT_START, COLLECTOR_COLLECTING, COLLECTOR_WAIT_STOP }
 
typedef cmnNamedMap
< SignalMapElement
SignalMapType
 
typedef cmnNamedMap
< SignalMapType
TaskMapType
 
- Protected Types inherited from mtsTaskFromSignal
typedef mtsTaskContinuous BaseType
 
- Protected Types inherited from mtsComponent
typedef cmnNamedMap
< mtsStateTable
StateTableMapType
 
typedef cmnNamedMap
< mtsInterfaceProvided
InterfacesProvidedMapType
 
typedef cmnNamedMap
< mtsInterfaceOutput
InterfacesOutputMapType
 
typedef cmnNamedMap
< mtsInterfaceRequired
InterfacesRequiredMapType
 
typedef cmnNamedMap
< mtsInterfaceInput
InterfacesInputMapType
 
- Protected Member Functions inherited from mtsCollectorBase
void SetDelimiter (void)
 
void SetOutputStreamParams (void)
 
void StartCollectionCommand (void)
 
void StartCollectionInCommand (const mtsDouble &delayInSeconds)
 
void StopCollectionCommand (void)
 
void StopCollectionInCommand (const mtsDouble &delayInSeconds)
 
void Init (void)
 
void Cleanup (void)
 
void ClearTaskMap (void)
 
void SetupControlInterface (void)
 
- Protected Member Functions inherited from mtsTaskFromSignal
void * RunInternal (void *argument)
 
void PostCommandQueuedMethod (void)
 
- Protected Member Functions inherited from mtsTaskContinuous
virtual void StartInternal (void)
 
- Protected Member Functions inherited from mtsTask
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)
 
- 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. More...
 
bool AddInterfaceInternal (const bool useMangerComponentServices=false)
 Add internal interfaces. More...
 
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)
 
void InterfaceInternalCommands_ComponentCreate (const mtsDescriptionComponent &componentDescription, bool &result)
 
void InterfaceInternalCommands_ComponentStartOther (const mtsComponentStatusControl &arg)
 
- Protected Attributes inherited from mtsCollectorBase
CollectorStatus Status
 
CollectorFileFormat FileFormat
 
TaskMapType TaskMap
 
bool ConnectedFlag
 
bool FirstRunningFlag
 
unsigned int SampleCounter
 
unsigned int SampleCounterForEvent
 
double TimeIntervalForProgressEvent
 
double TimeOfLastProgressEvent
 
std::string OutputFileName
 
std::string OutputHeaderFileName
 
mtsStdString WorkingDirectoryMember
 
std::ostream * OutputStream
 
std::ofstream * OutputFile
 
std::ostream * OutputHeaderStream
 
std::ofstream * OutputHeaderFile
 
CollectorFileFloatingNotation FloatingNotation
 
std::streamsize Precision
 
std::streamsize Width
 
char FillCharacter
 
bool FileOpened
 
char Delimiter
 
std::stringstream StringStreamBufferForSerialization
 
cmnSerializerSerializer
 
mtsInterfaceProvidedControlInterface
 
- 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
 
mtsInterfaceProvidedInterfaceProvidedToManager
 
bool UseSeparateLogFileFlag
 
cmnLogger::StreamBufTypeLoDMultiplexerStreambuf
 
std::ofstream * LogFile
 
StateTableMapType StateTables
 
mtsManagerComponentServicesManagerComponentServices
 
mtsFunctionWrite EventGeneratorChangeState
 
bool ReplayMode
 
InterfacesProvidedMapType InterfacesProvided
 
InterfacesOutputMapType InterfacesOutput
 
InterfacesRequiredMapType InterfacesRequired
 
InterfacesInputMapType InterfacesInput
 
- Static Protected Attributes inherited from mtsCollectorBase
static mtsComponentManagerComponentManager
 

Detailed Description

This class provides a way to collect data in the state table without loss and make a log file. The type of a log file can be plain text (ascii), csv, or binary. A state table of which data is to be collected can be specified in the constructor. This is intended for future usage where a task can have more than two state tables.

Constructor & Destructor Documentation

mtsCollectorState::mtsCollectorState ( const std::string &  collectorName)

Constructor using the component name and table name.

mtsCollectorState::mtsCollectorState ( const std::string &  targetComponentName,
const std::string &  targetStateTableName,
const CollectorFileFormat  fileFormat 
)

Constructor using a component pointer and table name.

mtsCollectorState::~mtsCollectorState ( void  )

Member Function Documentation

bool mtsCollectorState::AddSignal ( const std::string &  signalName = "")

Add the signal specified to a list of registered signals.

bool mtsCollectorState::Connect ( void  )

Connect. Once the state collector has been configured, i.e. the methods SetStateTable and SetOutput have been use, the collector should be added to the manager and then the Connect method should be called.

static bool mtsCollectorState::ConvertBinaryToText ( const std::string  sourceBinaryLogFileName,
const std::string  targetPlainTextLogFileName,
const char  delimiter = ',' 
)
static

Convert a binary log file into a plain text one.

bool mtsCollectorState::Disconnect ( void  )

Disconnect. Attempt to disconnect from the observed component.

void mtsCollectorState::SetSamplingInterval ( const unsigned int  samplingInterval)
inline

Set a sampling interval so that data collector can skip several values. This is useful when a frequency of the component is somewhat high and you don't want to collect ALL data from it.

bool mtsCollectorState::SetStateTable ( const std::string &  componentName,
const std::string &  stateTableName = "" 
)

Defines which table to collect data from. This is defined by the component name and the table name. If the table name is not provided, the collector will use the default component's state table.

void mtsCollectorState::StartCollection ( const mtsDouble delayInSeconds)
virtual

Methods defined as virtual in base class to control stop/start collection with delay. For the state table collection, these methods are mainly pass through, i.e. they call the corresponding commands from the state table component.

Implements mtsCollectorBase.

void mtsCollectorState::StopCollection ( const mtsDouble delayInSeconds)
virtual

End collecting data. Data collection will end after delayedStop second(s). If it is zero (by default), it means 'stop now'.

Implements mtsCollectorBase.

Friends And Related Function Documentation

friend class mtsCollectorStateTest
friend
friend class mtsStateTable
friend

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