/* * Copyright (c) 2014 Kevin Smith and Remko Tronçon * Licensed under the GNU General Public License v3. * See Documentation/Licenses/GPLv3.txt for more information. */ #pragma once #include #include #include namespace Swift { class LuaElementConvertors; class IQConvertor : public StanzaConvertor { public: IQConvertor(LuaElementConvertors* convertors); virtual ~IQConvertor(); virtual boost::shared_ptr doConvertFromLua(lua_State*) SWIFTEN_OVERRIDE; virtual void doConvertToLua(lua_State*, boost::shared_ptr) SWIFTEN_OVERRIDE; virtual boost::optional getDocumentation() const SWIFTEN_OVERRIDE; static std::string convertIQTypeToString(IQ::Type type); static IQ::Type convertIQTypeFromString(const std::string& type); private: LuaElementConvertors* convertors; }; }