summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Swiftob/LuaCommands.h')
-rw-r--r--Swiftob/LuaCommands.h90
1 files changed, 0 insertions, 90 deletions
diff --git a/Swiftob/LuaCommands.h b/Swiftob/LuaCommands.h
deleted file mode 100644
index 2ade6b3..0000000
--- a/Swiftob/LuaCommands.h
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * Copyright (c) 2011 Isode Limited.
- * All rights reserved.
- * See the COPYING file for more information.
- */
-
-#pragma once
-
-#include <string>
-#include <vector>
-
-#include <lua.hpp>
-#include <boost/filesystem/fstream.hpp>
-#include <boost/noncopyable.hpp>
-#include <Swiften/Network/NetworkFactories.h>
-#include <Swiften/Elements/SoftwareVersion.h>
-#include <Swiften/Queries/Requests/GetSoftwareVersionRequest.h>
-#include <Swiften/Network/Timer.h>
-
-#include <Swiftob/Commands.h>
-#include <Swiftob/Storage.h>
-
-using namespace Swift;
-/**
- * Yes, there's an odd naming scheme going on here for methods.
- * normalCamelCase methods are methods called from C++
- * lower_case_methods are exposed to Lua through wrappers and
- * l_lower_case_functions are functions directly exposed (often calling the lower_case_methods).
- */
-class LuaCommands {
- public:
- class LuaCommand : public Commands::Command, boost::noncopyable {
- public:
- /** Takes ownership of lua and storage.*/
- LuaCommand(Commands::RoleList allowedBy, const std::string& description, lua_State* lua, Storage* storage) : Command(allowedBy, description), lua_(lua), storage_(storage) {
- }
-
- virtual ~LuaCommand() {
- lua_close(lua_);
- delete storage_;
- };
-
- private:
- lua_State* lua_;
- Storage* storage_;
- };
-
- class Callbacks {
- public:
- Callbacks(int success, int failure, int timeout) : success(success), failure(failure), timeout(timeout) {};
- int success;
- int failure;
- int timeout;
- void erase(lua_State *L) {
- lua_pushnil(L);
- lua_rawseti(L, LUA_REGISTRYINDEX, success);
- lua_pushnil(L);
- lua_rawseti(L, LUA_REGISTRYINDEX, failure);
- lua_pushnil(L);
- lua_rawseti(L, LUA_REGISTRYINDEX, timeout);
- }
- };
-
- LuaCommands(Commands* commands, const std::string& path, Client* client, TimerFactory* timerFactory, MUCs* mucs);
- /* Public but aren't really part of the API */
- void handleLuaCommand(int callbackIndex, lua_State* L, const std::string& command, const std::string& params, Message::ref message);
- void handleLuaListener(int callbackIndex, lua_State* L, Message::ref message);
- Commands* getCommands() {return commands_;}
- int get_software_version(lua_State *L);
- int muc_input_to_jid(lua_State *L);
- int store_setting(lua_State *L);
- int get_setting(lua_State *L);
- int muc_kick(lua_State *L);
- static LuaCommands* commandsFromLua(lua_State *L);
- static Storage* storageFromLua(lua_State *L);
- private:
- void registerCommands();
- void loadScript(boost::filesystem::path filePath);
- void messageOntoStack(Message::ref message, lua_State* L);
- void handleSoftwareVersionResponse(boost::shared_ptr<SoftwareVersion> version, ErrorPayload::ref error, bool timeout, GetSoftwareVersionRequest::ref request, Timer::ref timer, lua_State* L, Callbacks callbacks);
- private:
- std::string path_;
- boost::filesystem::path scriptsPath_;
- Commands* commands_;
- MUCs* mucs_;
- Client* client_;
- TimerFactory* timerFactory_;
-};
-
-