VR-Forces 4.3 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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 charclassName ()
 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 charmyClassName

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 Wed Mar 11 21:20:57 EDT 2015 from SVN revision 150940
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)