summaryrefslogtreecommitdiffstats
path: root/source/WebAdmin.h
diff options
context:
space:
mode:
authormadmaxoft <github@xoft.cz>2013-08-08 16:30:02 +0200
committermadmaxoft <github@xoft.cz>2013-08-08 16:30:02 +0200
commiteb323166d9ae600fe422725ea29575ba4613b6d2 (patch)
treebad726267d13fec9994a2c20e8d88885fca29bd0 /source/WebAdmin.h
parentcPlugin_NewLua is now completely rewritten to use templated LuaState calls. (diff)
downloadcuberite-eb323166d9ae600fe422725ea29575ba4613b6d2.tar
cuberite-eb323166d9ae600fe422725ea29575ba4613b6d2.tar.gz
cuberite-eb323166d9ae600fe422725ea29575ba4613b6d2.tar.bz2
cuberite-eb323166d9ae600fe422725ea29575ba4613b6d2.tar.lz
cuberite-eb323166d9ae600fe422725ea29575ba4613b6d2.tar.xz
cuberite-eb323166d9ae600fe422725ea29575ba4613b6d2.tar.zst
cuberite-eb323166d9ae600fe422725ea29575ba4613b6d2.zip
Diffstat (limited to 'source/WebAdmin.h')
-rw-r--r--source/WebAdmin.h132
1 files changed, 87 insertions, 45 deletions
diff --git a/source/WebAdmin.h b/source/WebAdmin.h
index 4b12b955e..a62b532f1 100644
--- a/source/WebAdmin.h
+++ b/source/WebAdmin.h
@@ -2,34 +2,62 @@
#include "../WebServer/WebServer.h"
#include "OSSupport/Socket.h"
+#include "LuaState.h"
+
+
+
+// fwd:
class cStringMap;
-class cLuaScript;
+class cEvent;
+class cIniFile;
+class cWebPlugin;
+
+
+
+
+
+// tolua_begin
+struct HTTPFormData
+{
+ std::string Name;
+ std::string Value;
+ std::string Type;
+} ;
+// tolua_end
+
-struct HTTPFormData // tolua_export
-{ // tolua_export
- std::string Name; // tolua_export
- std::string Value; // tolua_export
- std::string Type; // tolua_export
-};// tolua_export
-struct HTTPRequest // tolua_export
-{ // tolua_export
+
+// tolua_begin
+struct HTTPRequest
+{
typedef std::map< std::string, std::string > StringStringMap;
typedef std::map< std::string, HTTPFormData > FormDataMap;
- AString Method; // tolua_export
- AString Path; // tolua_export
+
+ AString Method;
+ AString Path;
+ AString Username;
+ // tolua_end
StringStringMap Params; // >> EXPORTED IN MANUALBINDINGS <<
StringStringMap PostParams; // >> EXPORTED IN MANUALBINDINGS <<
- AString Username; // tolua_export
FormDataMap FormData; // >> EXPORTED IN MANUALBINDINGS <<
-}; // tolua_export
+} ; // tolua_export
+
+
+
+
+
+// tolua_begin
+struct HTTPTemplateRequest
+{
+ HTTPRequest Request;
+} ;
+// tolua_end
+
+
-struct HTTPTemplateRequest // tolua_export
-{ // tolua_export
- HTTPRequest Request; // tolua_export
-}; // tolua_export
// tolua_begin
struct sWebAdminPage
@@ -40,14 +68,19 @@ struct sWebAdminPage
};
// tolua_end
-struct lua_State;
-class cEvent;
-class cIniFile;
-class cWebPlugin;
-class cWebAdmin // tolua_export
-{ // tolua_export
-public: // tolua_export
+
+
+
+// tolua_begin
+class cWebAdmin
+{
+public:
+ // tolua_end
+
+ typedef std::list< cWebPlugin* > PluginList;
+
+
cWebAdmin( int a_Port = 8080 );
~cWebAdmin();
@@ -56,41 +89,50 @@ public: // tolua_export
void AddPlugin( cWebPlugin* a_Plugin );
void RemovePlugin( cWebPlugin* a_Plugin );
- typedef std::list< cWebPlugin* > PluginList;
-
// TODO: Convert this to the auto-locking callback mechanism used for looping players in worlds and such
PluginList GetPlugins() const { return m_Plugins; } // >> EXPORTED IN MANUALBINDINGS <<
static void Request_Handler(webserver::http_request* r);
- int GetPort() { return m_Port; } // tolua_export
+ // tolua_begin
+ static AString GetMemoryUsage(void);
+
+ int GetPort() { return m_Port; }
+
+ sWebAdminPage GetPage(const HTTPRequest& a_Request);
+ AString GetBaseURL(const AString& a_URL);
+
+ // tolua_end
- sWebAdminPage GetPage(const HTTPRequest& a_Request); // tolua_export
- AString GetBaseURL(const AString& a_URL); // tolua_export
AString GetBaseURL(const AStringVector& a_URLSplit);
- static AString GetMemoryUsage(void); // tolua_export
+
private:
+ int m_Port;
+
+ bool m_bConnected;
+ cSocket m_ListenSocket;
+
+ cIniFile * m_IniFile;
+ PluginList m_Plugins;
+
+ cEvent * m_Event;
+
+ webserver * m_WebServer;
-#ifdef _WIN32
- static DWORD WINAPI ListenThread(LPVOID lpParam);
-#else
- static void * ListenThread( void *lpParam );
-#endif
+ /// The Lua template script to provide templates:
+ cLuaState m_TemplateScript;
- AString GetTemplate();
- cLuaScript* m_pTemplate;
+ #ifdef _WIN32
+ static DWORD WINAPI ListenThread(LPVOID lpParam);
+ #else
+ static void * ListenThread(void * lpParam);
+ #endif
- int m_Port;
+ AString GetTemplate();
+} ; // tolua_export
- bool m_bConnected;
- cSocket m_ListenSocket;
- cIniFile* m_IniFile;
- PluginList m_Plugins;
- cEvent* m_Event;
- webserver* m_WebServer;
-}; // tolua_export \ No newline at end of file