• Main Page
  • Related Pages
  • Modules
  • Namespaces
  • Classes
  • Files
  • File List
  • File Members

UDPProxyServer.h

Go to the documentation of this file.
00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 #include "NativeFeatureIncludes.h"
00015 #if _RAKNET_SUPPORT_UDPProxyServer==1
00016 
00017 #ifndef __UDP_PROXY_SERVER_H
00018 #define __UDP_PROXY_SERVER_H
00019 
00020 #include "Export.h"
00021 #include "DS_Multilist.h"
00022 #include "RakNetTypes.h"
00023 #include "PluginInterface2.h"
00024 #include "UDPForwarder.h"
00025 #include "RakString.h"
00026 
00027 namespace RakNet
00028 {
00029 class UDPProxyServer;
00030 
00033 struct UDPProxyServerResultHandler
00034 {
00035         UDPProxyServerResultHandler() {}
00036         virtual ~UDPProxyServerResultHandler() {}
00037 
00041         virtual void OnLoginSuccess(RakNet::RakString usedPassword, RakNet::UDPProxyServer *proxyServerPlugin)=0;
00042 
00047         virtual void OnAlreadyLoggedIn(RakNet::RakString usedPassword, RakNet::UDPProxyServer *proxyServerPlugin)=0;
00048 
00052         virtual void OnNoPasswordSet(RakNet::RakString usedPassword, RakNet::UDPProxyServer *proxyServerPlugin)=0;
00053 
00057         virtual void OnWrongPassword(RakNet::RakString usedPassword, RakNet::UDPProxyServer *proxyServerPlugin)=0;
00058 };
00059 
00065 class RAK_DLL_EXPORT UDPProxyServer : public PluginInterface2
00066 {
00067 public:
00068         UDPProxyServer();
00069         ~UDPProxyServer();
00070 
00074         void SetResultHandler(UDPProxyServerResultHandler *rh);
00075 
00080         bool LoginToCoordinator(RakNet::RakString password, SystemAddress coordinatorAddress);
00081 
00085         UDPForwarder udpForwarder;
00086 
00087         virtual void OnAttach(void);
00088         virtual void OnDetach(void);
00089 
00091         virtual void Update(void);
00092         virtual PluginReceiveResult OnReceive(Packet *packet);
00093         virtual void OnClosedConnection(SystemAddress systemAddress, RakNetGUID rakNetGUID, PI2_LostConnectionReason lostConnectionReason );
00094         virtual void OnRakPeerStartup(void);
00095         virtual void OnRakPeerShutdown(void);
00096 
00097 protected:
00098         void OnForwardingRequestFromCoordinatorToServer(Packet *packet);
00099 
00100         DataStructures::Multilist<ML_ORDERED_LIST, SystemAddress> loggingInCoordinators;
00101         DataStructures::Multilist<ML_ORDERED_LIST, SystemAddress> loggedInCoordinators;
00102 
00103         UDPProxyServerResultHandler *resultHandler;
00104 
00105 };
00106 
00107 } // End namespace
00108 
00109 #endif
00110 
00111 #endif // _RAKNET_SUPPORT_*

Generated on Thu Sep 30 2010 01:27:29 for RakNet by  doxygen 1.7.1