MIRA
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Namespaces | Macros
RPCInvoker.h File Reference

Implements the RPCInvoker and TRPCInvoker classes. More...

#include <type_traits>
#include <functional>
#include <boost/preprocessor/repetition.hpp>
#include <error/Exception.h>
#include <rpc/RPCError.h>
Include dependency graph for RPCInvoker.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  RPCInvoker
 Base of all TRPCInvoker classes which are templates to support different RPC backends. More...
 
class  TRPCInvoker< Backend >
 Invoker that is used to invoke an RPC method call for a special backend. More...
 

Namespaces

 mira
 specialize cv::DataType for our ImgPixel and inherit from cv::DataType<Vec>
 

Macros

#define RPC_INVOKE_CATCH_EXCEPTIONS
 
#define RPCGEN_GET_PARAMETER(z, n, _)
 
#define RPCGEN_GET_PARAMETERS(z, n, _)   BOOST_PP_REPEAT_ ## z(n, RPCGEN_GET_PARAMETER, nil)
 
#define RPCGEN_RVREF_PARAMETER(z, n, _)   , P##n&& p##n
 
#define RPCGEN_RVREF_PARAMETERS(z, n, _)   BOOST_PP_REPEAT_ ## z(n, RPCGEN_RVREF_PARAMETER, nil)
 
#define RPCGEN_MOVE_PARAMETER0
 
#define RPCGEN_MOVE_PARAMETER1   std::move(p0)
 
#define RPCGEN_MOVE_PARAMETER2   RPCGEN_MOVE_PARAMETER1 , std::move(p1)
 
#define RPCGEN_MOVE_PARAMETER3   RPCGEN_MOVE_PARAMETER2 , std::move(p2)
 
#define RPCGEN_MOVE_PARAMETER4   RPCGEN_MOVE_PARAMETER3 , std::move(p3)
 
#define RPCGEN_MOVE_PARAMETER5   RPCGEN_MOVE_PARAMETER4 , std::move(p4)
 
#define RPCGEN_MOVE_PARAMETER6   RPCGEN_MOVE_PARAMETER5 , std::move(p5)
 
#define RPCGEN_MOVE_PARAMETER7   RPCGEN_MOVE_PARAMETER6 , std::move(p6)
 
#define RPCGEN_MOVE_PARAMETER8   RPCGEN_MOVE_PARAMETER7 , std::move(p7)
 
#define RPCGEN_MOVE_PARAMETER_T0
 
#define RPCGEN_MOVE_PARAMETER_T1   , std::move(p0)
 
#define RPCGEN_MOVE_PARAMETER_T2   RPCGEN_MOVE_PARAMETER_T1 , std::move(p1)
 
#define RPCGEN_MOVE_PARAMETER_T3   RPCGEN_MOVE_PARAMETER_T2 , std::move(p2)
 
#define RPCGEN_MOVE_PARAMETER_T4   RPCGEN_MOVE_PARAMETER_T3 , std::move(p3)
 
#define RPCGEN_MOVE_PARAMETER_T5   RPCGEN_MOVE_PARAMETER_T4 , std::move(p4)
 
#define RPCGEN_MOVE_PARAMETER_T6   RPCGEN_MOVE_PARAMETER_T5 , std::move(p5)
 
#define RPCGEN_MOVE_PARAMETER_T7   RPCGEN_MOVE_PARAMETER_T6 , std::move(p6)
 
#define RPCGEN_MOVE_PARAMETER_T8   RPCGEN_MOVE_PARAMETER_T7 , std::move(p7)
 
#define RPCGEN_INVOKER(z, n, _)
 
#define RPCGEN_INVOKER_MEMFN(z, n, _)
 

Detailed Description

Implements the RPCInvoker and TRPCInvoker classes.

Author
Erik Einhorn
Date
2010/11/07

Macro Definition Documentation

#define RPC_INVOKE_CATCH_EXCEPTIONS
Value:
catch (SerializableException& ex) { \
response.returnException(RPC_EXCEPTION_IN_CALL, ex); \
return; \
} \
catch (Exception& ex) { \
response.returnException(RPC_EXCEPTION_IN_CALL, ex.what(), \
ex.callStack()); \
return; \
} \
catch (std::exception& ex) { \
response.returnException(RPC_EXCEPTION_IN_CALL, ex.what()); \
return; \
} \
catch (...) { \
response.returnException(RPC_EXCEPTION_IN_CALL, "Unknown exception"); \
return; \
}
An exception has occurred within the method that was called.
Definition: RPCError.h:69
#define RPCGEN_GET_PARAMETER (   z,
  n,
 
)
Value:
typename std::remove_const< \
request.getParameter(p##n);
PropertyHint type(const std::string &t)
Sets the attribute &quot;type&quot; to the specified value.
Definition: PropertyHint.h:295
#define RPCGEN_GET_PARAMETERS (   z,
  n,
 
)    BOOST_PP_REPEAT_ ## z(n, RPCGEN_GET_PARAMETER, nil)
#define RPCGEN_RVREF_PARAMETER (   z,
  n,
 
)    , P##n&& p##n
#define RPCGEN_RVREF_PARAMETERS (   z,
  n,
 
)    BOOST_PP_REPEAT_ ## z(n, RPCGEN_RVREF_PARAMETER, nil)
#define RPCGEN_MOVE_PARAMETER0
#define RPCGEN_MOVE_PARAMETER1   std::move(p0)
#define RPCGEN_MOVE_PARAMETER2   RPCGEN_MOVE_PARAMETER1 , std::move(p1)
#define RPCGEN_MOVE_PARAMETER3   RPCGEN_MOVE_PARAMETER2 , std::move(p2)
#define RPCGEN_MOVE_PARAMETER4   RPCGEN_MOVE_PARAMETER3 , std::move(p3)
#define RPCGEN_MOVE_PARAMETER5   RPCGEN_MOVE_PARAMETER4 , std::move(p4)
#define RPCGEN_MOVE_PARAMETER6   RPCGEN_MOVE_PARAMETER5 , std::move(p5)
#define RPCGEN_MOVE_PARAMETER7   RPCGEN_MOVE_PARAMETER6 , std::move(p6)
#define RPCGEN_MOVE_PARAMETER8   RPCGEN_MOVE_PARAMETER7 , std::move(p7)
#define RPCGEN_MOVE_PARAMETER_T0
#define RPCGEN_MOVE_PARAMETER_T1   , std::move(p0)
#define RPCGEN_MOVE_PARAMETER_T2   RPCGEN_MOVE_PARAMETER_T1 , std::move(p1)
#define RPCGEN_MOVE_PARAMETER_T3   RPCGEN_MOVE_PARAMETER_T2 , std::move(p2)
#define RPCGEN_MOVE_PARAMETER_T4   RPCGEN_MOVE_PARAMETER_T3 , std::move(p3)
#define RPCGEN_MOVE_PARAMETER_T5   RPCGEN_MOVE_PARAMETER_T4 , std::move(p4)
#define RPCGEN_MOVE_PARAMETER_T6   RPCGEN_MOVE_PARAMETER_T5 , std::move(p5)
#define RPCGEN_MOVE_PARAMETER_T7   RPCGEN_MOVE_PARAMETER_T6 , std::move(p6)
#define RPCGEN_MOVE_PARAMETER_T8   RPCGEN_MOVE_PARAMETER_T7 , std::move(p7)
#define RPCGEN_INVOKER (   z,
  n,
 
)
#define RPCGEN_INVOKER_MEMFN (   z,
  n,
 
)