My Project
ParaScriptingNetwork.h
1 //-----------------------------------------------------------------------------
2 // Copyright (C) 2004 - 2006 ParaEngine Dev Studio, All Rights Reserved.
3 // Date: 2006.8
4 // Description: API for NPL Network Layer
5 //-----------------------------------------------------------------------------
6 #pragma once
7 
8 #include <string>
9 
10 using namespace std;
11 
12 namespace NPL
13 {
14  struct NPLPacket;
15 }
16 namespace luabind
17 {
18  namespace adl{
19  class object;
20  }
21  using adl::object;
22 }
23 
24 namespace ParaScripting
25 {
26  using namespace luabind;
27 
28 #ifdef _OBSOLETED
29 
33  class PE_CORE_DECL ParaPacket
34  {
35  public:
36  NPL::NPLPacket * m_pObj;
37 
38  public:
39  ParaPacket():m_pObj(NULL){};
40  ParaPacket(NPL::NPLPacket* obj){m_pObj=obj;};
41 
43  bool IsValid(){return m_pObj!=NULL;}
45  NPL::NPLPacket * GetNPLPacket(){return m_pObj;}
47  void Release();
49  void ReleasePacketData();
51  void InvalidateMe();
52 
57  int GetType() const;
58 
62  void SetType( int type );
63 
64  string GetDestName() const;
65  void SetDestName( const char * destName);
66  string GetSrcName() const;
67  void SetSrcName( const char * srcName);
68  unsigned long GetSize() const;
69  string GetData() const;
70  void SetDataAndSize( const char * data, unsigned long size);
71  };
72 #endif
73 
74 #define MAP_STRING_BUFFER_LENGTH 1024
75 
79  class PE_CORE_DECL ParaNetwork
80  {
81  public:
82 
92  static void EnableNetwork(bool bEnable, const char* CenterName, const char* password);
93 
98  static bool IsNetworkLayerRunning();
99 
100 
104  static void SetNerveCenterAddress(const char* pAddress);
105 
109  static void SetNerveReceptorAddress(const char* pAddress);
110 
111 #ifdef _OBSOLETED
112 
113 
118  static const char * GetLocalIP();
119  static unsigned short GetLocalNerveCenterPort();
120  static unsigned short GetLocalNerveReceptorPort();
121  static const char * GetLocalNerveCenterName();
122 
127  static const char * GetLocalNerveReceptorAccountName();
132  static const char * GetLocalNerveReceptorConnectWorldName();
133 
139  static const char * GetNerveCenterUserMapAsString();
145  static const char * GetNerveReceptorUserMapAsString();
146 
148  static ParaPacket CreateParaPacket();
150  static ParaPacket* CreateParaPacket_();
151 
153  static void DestroyParaPacket(ParaPacket& packet);
154 
160  static void PushPacket(ParaPacket& packet);
161 
165  static void EnableLog(bool bEnable);
166 
170  static bool IsLogEnabled();
171 
177  static ParaPacket PopPacket();
179  static ParaPacket* PopPacket_();
180 
186  static int64 AddNamespaceRecord(const char * name, const char * IP, unsigned short port);
188  static int AddNamespaceRecord_s(const char * name, const char * IP, unsigned short port);
189 
193  static bool RemoveNamespaceRecord(const char* name);
194 
197  static int64 InsertAccountRecord(const char * name, const char * password);
198 
200  static bool VerifyAccountRecord(const char * name, const char * password);
201 
205  static void ConnectToCenter(const char * nameSpaceName);
206 
211  static void Restart();
212 
215  static void CloseConnection( const char * name);
216 
220  static void AddToBanList( const char *IP, unsigned int milliseconds);
221 
224  static void RemoveFromBanList( const char *IP );
225 
227  static void ClearBanList( void );
228 
232  static bool IsBanned( const char *IP );
233 
240  static const char* GetUserIP(const char * name);
241 
246  static void SetMaximumIncomingConnections( unsigned short numberAllowed );
247 
250  static unsigned short GetMaximumIncomingConnections( void );
251 
257  static object GetConnectionList( const object& remoteSystems);
258 
263  static void SetTimeoutTime( unsigned int timeMS, const char* target );
264 
268  static const char* GetInternalID( void );
269 
274  static const char* GetExternalID( const char* target );
275 
281  static object GetStatistics( const char* target, const object& data);
282  static object GetReceptorStatistics( const char* target, const object& data);
283 
292  static const char* GetStatisticsAsString( const char* target, int verbosityLevel);
293  static const char* GetReceptorStatisticsAsString( const char* target, int verbosityLevel);
294 #endif
295  };
296 }
define this to enable debugging of NPL code in visual studio
Definition: INPL.h:9
API wrapper for NPL Network Layer functions.
Definition: ParaScriptingNetwork.h:79
Definition: PEtypes.h:507
for luabind, The main drawback of this approach is that the compilation time will increase for the fi...
Definition: luaSQLite.cpp:1971