00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef __XPURL_H__
00012 #define __XPURL_H__
00013 #include "RNPlatform/Inc/DLLExportAPI.h"
00014
00015 #define _XPURL_VERSION 5200
00016
00017 #define _XPURL_DLLVERSIONMAJOR 8
00018 #define _XPURL_DLLVERSIONMINOR 0
00019
00020 #include "RNXPURL/Inc/Transport.h"
00021 #include <vector>
00022
00023 namespace RNReplicaNet
00024 {
00025
00026 class DebugHandler;
00027 struct URLBlock;
00028
00032 class XPURLDLL_API XPURL
00033 {
00034 public:
00038 XPURL();
00039
00044 virtual ~XPURL();
00045
00050 static void RegisterTransport(Transport &transport);
00051
00055 static void RegisterDefaultTransports(void);
00056
00060 void BeginEnumerateTransports(void);
00061
00067 Transport *EnumerateTransports(void);
00068
00073 std::string ParseURLs(const std::string urls);
00074
00079 static Transport *FindTransport(const std::string url);
00080
00088 void Poll(void);
00089
00096 void SetManualPoll(void);
00097
00105 void SetAutomaticPoll(void);
00106
00112 static void InitialiseNetwork(const bool hardware = false);
00113
00121 static void ShutdownNetwork(const bool hardware = false);
00122
00123
00130 static DebugHandler *RegisterDebugHandler(DebugHandler *debugHandler = 0);
00131
00136 static DebugHandler *GetDebugHandler(void);
00137
00138 private:
00139
00140 std::vector<URLBlock *>::iterator mst,men;
00141
00142 std::string mParseState;
00143 };
00144
00145 }
00146
00147 #endif