libt2n: (gerd) some refactoring, documentation improvement
[libt2n] / src / client_wrapper.cpp
diff --git a/src/client_wrapper.cpp b/src/client_wrapper.cpp
new file mode 100644 (file)
index 0000000..5115d20
--- /dev/null
@@ -0,0 +1,71 @@
+/***************************************************************************
+ *   Copyright (C) 2008 by Gerd v. Egidy                                   *
+ *   gve@intra2net.com                                                     *
+ *                                                                         *
+ *   This library is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU Lesser General Public License version   *
+ *   2.1 as published by the Free Software Foundation.                     *
+ *                                                                         *
+ *   This library is distributed in the hope that it will be useful,       *
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
+ *   GNU Lesser General Public License for more details.                   *
+ *                                                                         *
+ *   You should have received a copy of the GNU Lesser General Public      *
+ *   License along with this program; if not, write to the                 *
+ *   Free Software Foundation, Inc.,                                       *
+ *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
+ ***************************************************************************/
+
+#include <iostream>
+#include <string>
+
+#include <functional>
+
+#include <boost/any.hpp>
+#include <boost/bind.hpp>
+#include <boost/function.hpp>
+
+#include "../codegen/codegen-stubhead.hxx"
+
+
+#include <client_wrapper.hxx>
+
+#include <wrapper_handler_socket.hxx>
+
+namespace libt2n
+{
+
+class testme : public command_client
+{
+    public:
+
+    testme(client_connection &x, long long a, long long b)
+        : command_client(x,100000,10000)
+        { }
+
+    void helloworld(const std::string& text)
+    {
+        std::cout << "Hello world, " << text << std::endl;
+    }
+};
+
+const char* T2nSingletonWrapperMessages::NotInitializedMessage = "T2nSingletonWrapper used before setting initializing connection";
+
+typedef T2nSingletonWrapper<testme> wraptype;
+
+template<>
+std::auto_ptr<wraptype> wraptype::SingletonObject = std::auto_ptr<wraptype>();
+
+template<>
+std::auto_ptr<ConnectionWrapper> wraptype::WrappedConnection = std::auto_ptr<ConnectionWrapper>();
+
+void test(void)
+{
+
+
+    t2n_exec(&testme::helloworld)("gurke");
+
+}
+
+}