[DEBUG] correct the code generated, missing Future<XXX>::get()

This commit is contained in:
Edouard DUPIN 2017-01-30 00:20:48 +01:00
parent a061c684df
commit 58b9de3354

View File

@ -466,6 +466,7 @@ class ServiceDefinition:
out += "#include <zeus/message/Data.hpp>\n"
out += "#include <zeus/message/ParamType.hpp>\n"
out += "#include <zeus/message/Parameter.hpp>\n"
out += "#include <zeus/Future.hpp>\n"
out += "#include <etk/stdTools.hpp>\n"
out += "#include <zeus/AbstractFunction.hpp>\n"
out += "#include <climits>\n"
@ -521,6 +522,22 @@ class ServiceDefinition:
out += " return zeus::ObjectRemote(out);\n"
out += " }\n"
out += " }\n"
out += " \n"
out += " template<> " + class_name_proxy + " zeus::Future<" + class_name_proxy + ">::get() {\n"
out += " ememory::SharedPtr<zeus::ObjectRemoteBase> out;\n"
out += " if ( m_promise == nullptr\n"
out += " || m_promise->getRaw() == nullptr) {\n"
out += " return zeus::ObjectRemote(out);\n"
out += " }\n"
out += " if (m_promise->getRaw()->getType() != zeus::message::type::answer) {\n"
out += " ZEUS_WARNING(\"No Return value ...\");\n"
out += " return zeus::ObjectRemote(out);\n"
out += " }\n"
out += " out = static_cast<zeus::message::Answer*>(m_promise->getRaw().get())->getAnswer<ememory::SharedPtr<zeus::ObjectRemoteBase>>();\n"
out += " \n"
out += " return zeus::ObjectRemote(out);\n"
out += " }\n"
out += " \n"
out += "}\n"
return [filename, out]