VR-Forces 4.1 Class Documentation
List of all members | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes | Friends
makVrv::DtDeCommunicator Class Reference

The class responsible for managing communication between multiple DtDe instances typically running in processes on other machines. More...

Public Types

typedef std::list< DtDeRecordIgRecords

Public Member Functions

virtual ~DtDeCommunicator ()
 DTOR.
virtual bool initialize ()
 Initialize, called by Ig after it's member is set.
virtual void listenForMasterIg ()
 Start listening for a master.
virtual bool hasMasterIg () const
 Check to see if the client has a Master IG.
virtual void disconnectMasterIg (const std::string &masterName)
 Disconnect from the Master IG (starts listening automatically)
bool connectToSlaveIg (const std::string &slaveAddr, int port, std::string &igNameOut)
 Attempt to connect to a slave.
void disconnectSlaveIg (const std::string &name)
 Disconnect a slave IG with a given name.
virtual void tick ()
 Tick the driver.
virtual void addIgRecord (const DtDeRecord &record)
 Get the current driver configuration.
virtual void removeIgRecord (const DtDeRecord &record)
 Remove a client.
DtDeRecordhostIgRecord ()
 Get the record for the host IG (aka this de instance that owns the communicator.
DtDeRecordfindRecordByIgName (const std::string &igName)
 Find a record by Ig's name.
DtDeRecordfindRecordByDisplayName (const std::string &displayName)
 Find a record by the Ig's Display name.
bool masterIgOnly () const
 Check to see if only a single master de is in use.
const IgRecordsconnectedIgs () const
 Get a set of the current IG instances.
virtual const std::string & name () const
 Return the name of this driver.

Static Public Member Functions

static const char * className ()
 Returns the name of this class.

Protected Member Functions

 DtDeCommunicator (DtDe &de, DtDriverConfiguration &config)
 CTOR. Create derived class instead.

Protected Attributes

DtDemyDe
DtDriverConfigurationmyConfiguration
std::string myName
IgRecords myIgRecords
DtTcpServermyTcpServer
DtIgCommunicatorSignalermySignaler

Static Protected Attributes

static const char * myClassName

Friends

class DtDeCommunicatorCreator

Detailed Description

The class responsible for managing communication between multiple DtDe instances typically running in processes on other machines.

Member Typedef Documentation

Constructor & Destructor Documentation

virtual makVrv::DtDeCommunicator::~DtDeCommunicator ( )
virtual

DTOR.

makVrv::DtDeCommunicator::DtDeCommunicator ( DtDe de,
DtDriverConfiguration config 
)
protected

CTOR. Create derived class instead.

Member Function Documentation

virtual bool makVrv::DtDeCommunicator::initialize ( )
virtual

Initialize, called by Ig after it's member is set.

virtual void makVrv::DtDeCommunicator::listenForMasterIg ( )
virtual

Start listening for a master.

Exceptions
DtCorruptedStateif the DtIG is configured to be a master.
virtual bool makVrv::DtDeCommunicator::hasMasterIg ( ) const
virtual

Check to see if the client has a Master IG.

virtual void makVrv::DtDeCommunicator::disconnectMasterIg ( const std::string &  masterName)
virtual

Disconnect from the Master IG (starts listening automatically)

bool makVrv::DtDeCommunicator::connectToSlaveIg ( const std::string &  slaveAddr,
int  port,
std::string &  igNameOut 
)

Attempt to connect to a slave.

Exceptions
DtCorruptedStateif the DtIG is NOT configured to be a master. If connectToSlaveIg() returns true, igNameOut will contain the name of the connected slave IG.
void makVrv::DtDeCommunicator::disconnectSlaveIg ( const std::string &  name)

Disconnect a slave IG with a given name.

virtual void makVrv::DtDeCommunicator::tick ( )
virtual

Tick the driver.

virtual void makVrv::DtDeCommunicator::addIgRecord ( const DtDeRecord record)
virtual

Get the current driver configuration.

Add a client.

virtual void makVrv::DtDeCommunicator::removeIgRecord ( const DtDeRecord record)
virtual

Remove a client.

DtDeRecord& makVrv::DtDeCommunicator::hostIgRecord ( )

Get the record for the host IG (aka this de instance that owns the communicator.

DtDeRecord* makVrv::DtDeCommunicator::findRecordByIgName ( const std::string &  igName)

Find a record by Ig's name.

DtDeRecord* makVrv::DtDeCommunicator::findRecordByDisplayName ( const std::string &  displayName)

Find a record by the Ig's Display name.

bool makVrv::DtDeCommunicator::masterIgOnly ( ) const

Check to see if only a single master de is in use.

const IgRecords& makVrv::DtDeCommunicator::connectedIgs ( ) const

Get a set of the current IG instances.

virtual const std::string& makVrv::DtDeCommunicator::name ( ) const
virtual

Return the name of this driver.

Composed of the host name and process id.

static const char* makVrv::DtDeCommunicator::className ( )
static

Returns the name of this class.

Required for DtSubjectAnnouncer::findInstance().

Friends And Related Function Documentation

friend class DtDeCommunicatorCreator
friend

Member Data Documentation

const char* makVrv::DtDeCommunicator::myClassName
staticprotected
DtDe& makVrv::DtDeCommunicator::myDe
protected
DtDriverConfiguration& makVrv::DtDeCommunicator::myConfiguration
protected
std::string makVrv::DtDeCommunicator::myName
protected
IgRecords makVrv::DtDeCommunicator::myIgRecords
protected
DtTcpServer* makVrv::DtDeCommunicator::myTcpServer
protected
DtIgCommunicatorSignaler& makVrv::DtDeCommunicator::mySignaler
protected

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

Document ID: Generated on Tue Jan 29 18:21:16 EST 2013 from SVN revision 123193
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (www.mak.com)