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

XFuNetwork.h

Go to the documentation of this file.
00001 /*!
00002  * \file
00003  * X-Forge Engine <br>
00004  * Copyright 2000-2003 Fathammer Ltd
00005  *
00006  * \brief Base class for all communication managers for game graphs.
00007  *
00008  * $Id: XFuNetwork.h,v 1.1 2003/08/01 07:41:23 lars Exp $
00009  * $Date: 2003/08/01 07:41:23 $
00010  * $Revision: 1.1 $
00011  */
00012 
00013 #ifndef XFUNETWORK_H_INCLUDED
00014 #define XFUNETWORK_H_INCLUDED
00015 
00016 class XFuNetworkEventHandler;
00017 class XFcDataReceiver;
00018 class XFcAddress;
00019 
00020 #include <xfcore/net/XFcCommunicationConstants.h>
00021 
00022 
00023 //! Base class for all network handlers.
00024 class XFuNetwork
00025 {
00026 
00027 public:
00028 
00029     //! Virtual destructor.
00030     virtual ~XFuNetwork() {}
00031 
00032     //! Closes the currently active service (communication handler).
00033     virtual void closeService() = 0;
00034 
00035     //! Returns the specified client.
00036     virtual XFcClientCommWin * getClient(INT32 aClientId) = 0;
00037 
00038     //! Adds a client with the specific address.
00039     /*! \return The client id or XFCNET_CLIENTADD_ERROR if failed.
00040      */
00041     virtual INT32 addClient(XFcAddress *aAddress, INT32 aTimeoutTime = 15000) = 0;
00042 
00043     //! Removes the specified client.
00044     virtual void removeClient(INT32 aClientId) = 0;
00045 
00046     //! Removes all clients.
00047     virtual void removeAllClients() = 0;
00048 
00049     //! Returns a pointer to the default data receiver.
00050     virtual XFcDataReceiver * getDefaultDataReceiver() = 0;
00051 
00052     //! Sets the default data receiver.
00053     virtual void setDefaultDataReceiver(XFcDataReceiver *aReceiver) = 0;
00054 
00055     //! Returns the specified data receiver.
00056     virtual XFcDataReceiver * getDataReceiver(UINT32 aId) = 0;
00057 
00058     //! Adds a new data receiver.
00059     virtual INT addDataReceiver(UINT32 aId, XFcDataReceiver *aReceiver) = 0;
00060 
00061     //! Removes a data receiver.
00062     virtual XFcDataReceiver * removeDataReceiver(UINT32 aId) = 0;
00063 
00064     //! Get packet frame.
00065     virtual XFcObjectDataFrame * getPacketFrame(INT32 aClientId, XFCNET_MESSAGE_SLOT aSlot) = 0;
00066 
00067     //! Get recent state frame.
00068     virtual XFcObjectDataFrame * getRecentStateFrame(INT32 aClientId, INT32 aRecentId) = 0;
00069 
00070     //! Remove recent state frame.
00071     virtual void removeRecentStateFrame(INT32 aClientId, INT32 aRecentId) = 0;
00072     
00073     //! Adds a communication event handler.
00074     virtual void addEventHandler(XFuNetworkEventHandler *aHandler) = 0;
00075 
00076     //! Removes a communication event handler.
00077     virtual void removeEventHandler(XFuNetworkEventHandler *aHandler) = 0;
00078 
00079     //! Removes all communication event handlers.
00080     virtual void removeAllEventHandlers() = 0;
00081 
00082     //! Runs the communication scheduler.
00083     virtual void runCommunicationScheduler() = 0;
00084 
00085 };
00086 
00087 
00088 #endif // !XFUNETWORK_H_INCLUDED

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