| libalcommon
    2.1.0.18
    | 
#include <qitype/objecttypebuilder.hpp>Go to the source code of this file.
| Namespaces | |
| namespace | AL | 
| NAOqi. | |
| Defines | |
| #define | pushi(z, n, _) args.push_back(::qi::AnyReference::from(p ## n)); | 
| #define | consti(z, n, _) , const P ## n & p ## n | 
| #define | genCall(n, ATYPEDECL, ATYPES, ADECL, AUSE, comma) | 
| #define | genCall(n, ATYPEDECL, ATYPES, ADECL, AUSE, comma) | 
| #define consti | ( | z, | |
| n, | |||
| _ | |||
| ) | , const P ## n & p ## n | 
Definition at line 17 of file alproxy.hxx.
| #define genCall | ( | n, | |
| ATYPEDECL, | |||
| ATYPES, | |||
| ADECL, | |||
| AUSE, | |||
| comma | |||
| ) | 
template<typename R comma ATYPEDECL> \ R ALProxy::call(const std::string& pName BOOST_PP_REPEAT(n, consti, _) ) \ { \ qi::AnyObject object = _object.lock(); \ if (!object) \ throw ALERROR(moduleName(), pName, "module destroyed"); \ ::qi::GenericFunctionParameters args; \ args.reserve(n); \ BOOST_PP_REPEAT(n, pushi, _) \ try \ { \ qi::AnyValue res(object.metaCall(pName, args).value(), false, true); \ qi::Promise<R> prom(qi::FutureCallbackType_Sync); \ if (qi::detail::handleFuture(res.asReference(), prom)) \ { \ res.release(); /* handleFuture will free it */ \ prom.future().wait(); \ qiLogDebug("alproxy.call") << prom.future().hasError(); \ return (R)prom.future().value(); \ } \ else \ return res.to<R>(); \ /*return qi::AnyValue(object.metaCall(pName, args).value(), false, true).to<R>();*/ \ } \ catch(const std::exception& e) \ { \ throw ALERROR(moduleName(), pName, e.what()); \ } \ }
Definition at line 52 of file alproxy.hxx.
| #define genCall | ( | n, | |
| ATYPEDECL, | |||
| ATYPES, | |||
| ADECL, | |||
| AUSE, | |||
| comma | |||
| ) | 
QI_GEN_MAYBE_TEMPLATE_OPEN(comma) ATYPEDECL QI_GEN_MAYBE_TEMPLATE_CLOSE(comma) \ inline void ALProxy::callVoid(const std::string& pName BOOST_PP_REPEAT(n, consti, _)) \ { \ call<void>(pName comma AUSE); \ }
Definition at line 52 of file alproxy.hxx.
| #define pushi | ( | z, | |
| n, | |||
| _ | |||
| ) | args.push_back(::qi::AnyReference::from(p ## n)); | 
Definition at line 16 of file alproxy.hxx.