![]() |
Shadowrun: Awakened 29 September 2011 - Build 871
|
00001 00002 00003 00004 00005 00006 00007 00008 00009 00010 00011 00012 00013 00014 #include "NativeFeatureIncludes.h" 00015 #if _RAKNET_SUPPORT_UDPProxyServer==1 && _RAKNET_SUPPORT_UDPForwarder==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 // GetInstance() and DestroyInstance(instance*) 00069 STATIC_FACTORY_DECLARATIONS(UDPProxyServer) 00070 00071 UDPProxyServer(); 00072 ~UDPProxyServer(); 00073 00076 void SetSocketFamily(unsigned short _socketFamily); 00077 00081 void SetResultHandler(UDPProxyServerResultHandler *rh); 00082 00087 bool LoginToCoordinator(RakNet::RakString password, SystemAddress coordinatorAddress); 00088 00092 UDPForwarder udpForwarder; 00093 00094 virtual void OnAttach(void); 00095 virtual void OnDetach(void); 00096 00098 virtual void Update(void); 00099 virtual PluginReceiveResult OnReceive(Packet *packet); 00100 virtual void OnClosedConnection(const SystemAddress &systemAddress, RakNetGUID rakNetGUID, PI2_LostConnectionReason lostConnectionReason ); 00101 virtual void OnRakPeerStartup(void); 00102 virtual void OnRakPeerShutdown(void); 00103 00104 protected: 00105 void OnForwardingRequestFromCoordinatorToServer(Packet *packet); 00106 00107 DataStructures::Multilist<ML_ORDERED_LIST, SystemAddress> loggingInCoordinators; 00108 DataStructures::Multilist<ML_ORDERED_LIST, SystemAddress> loggedInCoordinators; 00109 00110 UDPProxyServerResultHandler *resultHandler; 00111 unsigned short socketFamily; 00112 00113 }; 00114 00115 } // End namespace 00116 00117 #endif 00118 00119 #endif // _RAKNET_SUPPORT_*
Copyright © 2007-2010 by The Shadowrun: Awakened Team. This work is licensed under the GNU Lesser General Public License 3.