#pragma once #include #include #include namespace Balau { class LuaHandleFactory : public LuaObjectFactory { public: LuaHandleFactory(IO h) : m_obj(new IO(h)) { } static void pushStatics(Lua & L); protected: LuaHandleFactory(IO * h) : m_obj(h) { } void pushObjectAndMembers(Lua & L); private: IO * m_obj; }; class LuaInputFactory : public LuaHandleFactory { public: LuaInputFactory(IO h) : LuaHandleFactory(new IO(h)) { } static void pushStatics(Lua & L); private: void pushObjectAndMembers(Lua & L); }; void registerLuaHandle(Lua &); };