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.3 2003/10/02 11:43:01 slehti Exp $ 00009 * $Date: 2003/10/02 11:43:01 $ 00010 * $Revision: 1.3 $ 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 00089
![]() | ||||
![]() |
Confidential Copyright © 2002-2003 Fathammer | with doxygen by Dimitri van Heesch |