![]() |
VR-Forces 4.6 Class Documentation
|
IGI Manager managers both IGI clients and IGI interfaces. More...
Public Types | |
| enum | { theInternalControlId = 1 } |
| enum | { id_AddInterfaceMap = 1 } |
| typedef unsigned short | IGIInterfaceID |
| The IGIInterfaceID type. | |
Public Member Functions | |
| DtMessageDispatcher (bool isMaster) | |
| Protected CTOR, construct using the Instance class. | |
| virtual | ~DtMessageDispatcher () |
| DTOR. | |
| void | registerProctor (int classId, DtProctor *handler) |
| Register an proctor class. | |
| DtProctor * | findProctor (int classId) |
| Find a handler. | |
| void | deliverFromClients () |
| Deliver any messages from clients. | |
| void | deliverToClients () |
| Deliver all queued messages to clients. | |
| void | queueForDelivery (DtMessage *msg, bool toClients=true, bool toLocalInterface=false) |
| Deliver the message, note the msg will be 'owned' and deleted upon send. | |
| void | addClient (DtMessageClient *client) |
| Add a client to the manager. | |
| void | removeClient (DtMessageClient *client) |
| Remove a client from the manager. | |
| void | setUdpClient (DtUdpMessageClient *udpClient) |
| void | removeUdpClient () |
| bool | hasClients () const |
| Check to see if the IGI Manager has clients. | |
| bool | isMaster () const |
| Check to see if the Manager is the master manager. | |
| void | setIsMaster (bool isMaster) |
| Set if the manager is the master manager. | |
Protected Types | |
| typedef std::list < DtMessageClient * > | ClientList |
| typedef std::map< std::string, IGIInterfaceID > | NameIdMap |
| typedef std::map < IGIInterfaceID, DtProxy * > | IdInterfaceMap |
| typedef std::list< DtProxy * > | InterfaceList |
| typedef std::map< int, DtProctor * > | ProctorTable |
| typedef std::vector< DtMessage * > | MessageList |
Protected Member Functions | |
| void | sendInterfaceMapToClients (IGIInterfaceID id, const std::string &name) |
| Send an interface map to clients. | |
Protected Attributes | |
| bool | myIsMasterFlag |
| Holds whether the IGI Manager is the master manager. | |
| IGIInterfaceID | myFreeInterfaceId |
| Internal id used to generate IDs. | |
| ClientList | myClients |
| My list of clients. | |
| DtUdpMessageClient * | myUdpClient |
| NameIdMap | myIdLookUp |
| IdInterfaceMap | myInstanceLookUp |
| InterfaceList | myUnknownInterfaceList |
| ProctorTable | myProctors |
| MessageList | myMessageQueue |
IGI Manager managers both IGI clients and IGI interfaces.
| typedef unsigned short makVrv::DtMessageDispatcher::IGIInterfaceID |
The IGIInterfaceID type.
An IGIInterfaceID uniquely defines an instance.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
| makVrv::DtMessageDispatcher::DtMessageDispatcher | ( | bool | isMaster | ) |
Protected CTOR, construct using the Instance class.
|
virtual |
DTOR.
Register an proctor class.
To remove an proctor class, register a NULL pointer.
| DtInvalidInput | if an proctor is already registered with that classId. |
| void makVrv::DtMessageDispatcher::deliverFromClients | ( | ) |
Deliver any messages from clients.
| void makVrv::DtMessageDispatcher::deliverToClients | ( | ) |
Deliver all queued messages to clients.
| void makVrv::DtMessageDispatcher::queueForDelivery | ( | DtMessage * | msg, |
| bool | toClients = true, |
||
| bool | toLocalInterface = false |
||
| ) |
Deliver the message, note the msg will be 'owned' and deleted upon send.
| void makVrv::DtMessageDispatcher::addClient | ( | DtMessageClient * | client | ) |
Add a client to the manager.
| void makVrv::DtMessageDispatcher::removeClient | ( | DtMessageClient * | client | ) |
Remove a client from the manager.
| void makVrv::DtMessageDispatcher::setUdpClient | ( | DtUdpMessageClient * | udpClient | ) |
| void makVrv::DtMessageDispatcher::removeUdpClient | ( | ) |
| bool makVrv::DtMessageDispatcher::hasClients | ( | ) | const |
Check to see if the IGI Manager has clients.
| bool makVrv::DtMessageDispatcher::isMaster | ( | ) | const |
Check to see if the Manager is the master manager.
| void makVrv::DtMessageDispatcher::setIsMaster | ( | bool | isMaster | ) |
Set if the manager is the master manager.
|
protected |
Send an interface map to clients.
|
protected |
Holds whether the IGI Manager is the master manager.
The server should always be the master manager.
|
protected |
Internal id used to generate IDs.
|
protected |
My list of clients.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |