From 6b637fa40e97409d70d28aef19d42e093700f5a7 Mon Sep 17 00:00:00 2001 From: pixel Date: Mon, 17 Mar 2008 17:18:30 +0000 Subject: Adding first version of the Lua <--> OCCI bindings. --- include/LuaOCCI.h | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 include/LuaOCCI.h (limited to 'include') diff --git a/include/LuaOCCI.h b/include/LuaOCCI.h new file mode 100644 index 0000000..683d60e --- /dev/null +++ b/include/LuaOCCI.h @@ -0,0 +1,43 @@ +#ifndef __LUAOCCI_H__ +#define __LUAOCCI_H__ + +#include + +#include +#include + +#define DECLARE_OCCI_ENCAP(clname) \ +class EncapOCCI_##clname : public Base { \ + public: \ + EncapOCCI_##clname(oracle::occi::clname * _o) : o(_o) { } \ + ~EncapOCCI_##clname() { } \ + oracle::occi::clname * Get() { return o; } \ + private: \ + oracle::occi::clname * o; \ +}; \ +\ +class LuaOCCI_##clname : public LuaObject { \ + public: \ + static void pushstatics(Lua *) throw (GeneralException); \ + LuaOCCI_##clname(EncapOCCI_##clname * _o) : o(_o) { } \ + ~LuaOCCI_##clname() { } \ + private: \ + virtual void pushmembers(Lua *); \ + EncapOCCI_##clname * o; \ +}; + +DECLARE_OCCI_ENCAP(Environment); +DECLARE_OCCI_ENCAP(Connection); +DECLARE_OCCI_ENCAP(Statement); +DECLARE_OCCI_ENCAP(ResultSet); +DECLARE_OCCI_ENCAP(Stream); + +#define LuaOCCI_pushstatics(L) {\ + LuaOCCI_Environment::pushstatics(L);\ + LuaOCCI_Connection::pushstatics(L);\ + LuaOCCI_Statement::pushstatics(L);\ + LuaOCCI_ResultSet::pushstatics(L);\ + LuaOCCI_Stream::pushstatics(L);\ +} + +#endif -- cgit v1.2.3