Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

XFcCommunicationScheduler Class Reference

XFcCommunicationScheduler is user interface to use Xforge communication. More...

Inheritance diagram for XFcCommunicationScheduler:

Inheritance graph
[legend]
Collaboration diagram for XFcCommunicationScheduler:

Collaboration graph
[legend]
List of all members.

Public Member Functions

virtual XFCIMPORT ~XFcCommunicationScheduler ()
 Virtual destructor.

virtual XFCIMPORT INT runScheduler ()
 Runs scheduler.

XFCIMPORT INT getError () const
 Gets last runscheduler error.

XFCIMPORT INT32 addClient (XFcClientCommWin *aClient)
 Adds client.

XFCIMPORT INT32 getRoundTripTime (INT32 aClient) const
 Gets round client round trip time.

XFCIMPORT XFcClientCommWinremoveClient (INT32 aClient)
 Removes client.

XFCIMPORT XFcClientCommWingetClient (INT32 aClient)
 Gets client.

XFCIMPORT INT addCommunicationHandler (XFcCommunicationHandler *aHandler)
 Adds communication handler.

XFCIMPORT XFcCommunicationHandlergetCommunicationHandler (INT32 aHandler)
 Gets communication handler.

XFCIMPORT XFcCommunicationHandlerremoveCommunicationHandler (INT32 aHandler)
 Removes communication handler.

XFCIMPORT void setDataReceiver (XFcDataReceiver *aReceiver)
 Sets data receiver.

XFCIMPORT INT addDataReceiver (UINT32 aId, XFcDataReceiver *aReceiver)
 Adds data receiver to hash table.

XFCIMPORT XFcDataReceivergetDataReceiver (UINT32 aId)
 Gets data receiver.

XFCIMPORT XFcDataReceiverremoveDataReceiver (UINT32 aId)
 Removes data receiver.

XFCIMPORT XFcObjectDataFramegetPacketFrame (INT32 aClient, INT aSlot)
 Gets packet frame.

XFCIMPORT XFcObjectDataFramegetRecentStateFrame (INT32 aClient, INT32 aRecentId)
 Gets recent state frame.

XFCIMPORT void removeRecentStateFrame (INT32 aClient, INT32 aRecentId)
 Removes recent state frame.

XFCIMPORT void addCommunicationService (INT aType, XFcCommService *aCommService)
 Adds communication service.


Static Public Member Functions

XFcCommunicationScheduler * create ()
 Static constructor.


Protected Member Functions

XFcSchedulerObjectgetSchedulerObjectByType (INT aType)
 Gets scheduler object from list.

const XFcSchedulerObjectgetSchedulerObjectByType (INT aType) const
XFcSchedulerObjectgetSchedulerObjectByClientId (INT32 aIndex)
const XFcSchedulerObjectgetSchedulerObjectByClientId (INT32 aIndex) const
INT init ()
 Initializes class.

XFCIMPORT XFcCommunicationScheduler ()
 Protected constructor.


Protected Attributes

XFcSchedulerObject mCommunication [XFCNET_SUPPORTED_HANDLER_COUNT]
 Holds sceduler objects for bt and inet. First one is Bt and second is INET.


Private Attributes

XFcObjectDataServantmObjectDataServant
 Holds object data servant, its used to share data all registered data receiver.


Detailed Description

XFcCommunicationScheduler is user interface to use Xforge communication.

XFcore communication uses client to receiver communication. All data is send throught client that express physical receiver to data receiver. XFcCommunicationScheduler can hold multiple data receiver which can receive data from multiple different clients. Any data receiver is not connected to any certain client. Its doesn't own any data receiver or client so it does not delete any on destructor.


Constructor & Destructor Documentation

XFCIMPORT XFcCommunicationScheduler::XFcCommunicationScheduler   [protected]
 

Protected constructor.

virtual XFCIMPORT XFcCommunicationScheduler::~XFcCommunicationScheduler   [virtual]
 

Virtual destructor.


Member Function Documentation

XFCIMPORT INT32 XFcCommunicationScheduler::addClient XFcClientCommWin   aClient
 

Adds client.

Parameters:
aClient client data.
Returns:
client id if successful, or XFCNET_CLIENTADD_ERROR if unsuccessful.

XFCIMPORT INT XFcCommunicationScheduler::addCommunicationHandler XFcCommunicationHandler   aHandler
 

Adds communication handler.

Parameters:
aHandler communication handler.
Returns:
handler id if successful, or XFENET_COMMHANDLERADD_ERROR otherwise.

XFCIMPORT void XFcCommunicationScheduler::addCommunicationService INT    aType,
XFcCommService   aCommService
 

Adds communication service.

Parameters:
aType connection type, e.g. XFCNET_COMMUNICATIONTYPE_INET.
aCommService pointer to communication service.

XFCIMPORT INT XFcCommunicationScheduler::addDataReceiver UINT32    aId,
XFcDataReceiver   aReceiver
 

Adds data receiver to hash table.

Parameters:
aReceiver data receiver.
Returns:
1 if successful, or 0 if unsuccessful.

XFcCommunicationScheduler* XFcCommunicationScheduler::create   [static]
 

Static constructor.

Parameters:
aCommHnalderArraySize communication handler array size.
Returns:
new XFcCommunicationScheduler object if successful, or NULL if unsuccessful.

XFCIMPORT XFcClientCommWin* XFcCommunicationScheduler::getClient INT32    aClient
 

Gets client.

Parameters:
aClient client id.
Returns:
client.

XFCIMPORT XFcCommunicationHandler* XFcCommunicationScheduler::getCommunicationHandler INT32    aHandler
 

Gets communication handler.

Parameters:
aHandler handler id.
Returns:
handler if successful, or NULL otherwise.

XFCIMPORT XFcDataReceiver* XFcCommunicationScheduler::getDataReceiver UINT32    aId
 

Gets data receiver.

Parameters:
aId receiver id.
Returns:
data receiver.

XFCIMPORT INT XFcCommunicationScheduler::getError   const
 

Gets last runscheduler error.

Returns:
Error value.

XFCIMPORT XFcObjectDataFrame* XFcCommunicationScheduler::getPacketFrame INT32    aClient,
INT    aSlot
 

Gets packet frame.

Parameters:
aClient client id.
aSlot message identifier (XFENET_RECENTSTATE ...).
Returns:
packet frame class.

XFCIMPORT XFcObjectDataFrame* XFcCommunicationScheduler::getRecentStateFrame INT32    aClient,
INT32    aRecentId
 

Gets recent state frame.

Parameters:
aClient client id.
aRecentId recent state id.
Returns:
recent state frame.

XFCIMPORT INT32 XFcCommunicationScheduler::getRoundTripTime INT32    aClient const
 

Gets round client round trip time.

Parameters:
aClient client id.

const XFcSchedulerObject* XFcCommunicationScheduler::getSchedulerObjectByClientId INT32    aIndex const [protected]
 

XFcSchedulerObject* XFcCommunicationScheduler::getSchedulerObjectByClientId INT32    aIndex [protected]
 

const XFcSchedulerObject* XFcCommunicationScheduler::getSchedulerObjectByType INT    aType const [protected]
 

XFcSchedulerObject* XFcCommunicationScheduler::getSchedulerObjectByType INT    aType [protected]
 

Gets scheduler object from list.

INT XFcCommunicationScheduler::init   [protected]
 

Initializes class.

Parameters:
aCommHandlerArraySize communication handler array size.
Returns:
1 if successful, or 0 otherwise.

XFCIMPORT XFcClientCommWin* XFcCommunicationScheduler::removeClient INT32    aClient
 

Removes client.

Parameters:
aClient client id.
Returns:
client.

XFCIMPORT XFcCommunicationHandler* XFcCommunicationScheduler::removeCommunicationHandler INT32    aHandler
 

Removes communication handler.

Parameters:
aHandler handler id.
Returns:
handler if successful, or NULL otherwise.

XFCIMPORT XFcDataReceiver* XFcCommunicationScheduler::removeDataReceiver UINT32    aId
 

Removes data receiver.

Parameters:
aId receiver id.
Returns:
data receiver.

XFCIMPORT void XFcCommunicationScheduler::removeRecentStateFrame INT32    aClient,
INT32    aRecentId
 

Removes recent state frame.

Parameters:
aClient client id.
aRecentId recent state id.

virtual XFCIMPORT INT XFcCommunicationScheduler::runScheduler   [virtual]
 

Runs scheduler.

Note:
Not supported.

Reimplemented from XFcCommunication.

XFCIMPORT void XFcCommunicationScheduler::setDataReceiver XFcDataReceiver   aReceiver
 

Sets data receiver.

Parameters:
aReceiver data receiver.


Member Data Documentation

XFcSchedulerObject XFcCommunicationScheduler::mCommunication[XFCNET_SUPPORTED_HANDLER_COUNT] [protected]
 

Holds sceduler objects for bt and inet. First one is Bt and second is INET.

XFcObjectDataServant* XFcCommunicationScheduler::mObjectDataServant [private]
 

Holds object data servant, its used to share data all registered data receiver.


   
X-Forge Documentation
Confidential
Copyright © 2002-2003 Fathammer
   
Documentation generated
with doxygen
by Dimitri van Heesch