AMICO_pcall_macro.h File Reference


Data Structures

class  pcall_pointer
class  pcall_pointer_data
 AMICO Primitive Call Marshalling Pointer marshall definition. More...

Namespaces

namespace  AMICO
 AutoMotive InterCommunication Object.

Defines

#define PCALL(link, function,...)   PCall_cli__##function(link,#function, __VA_ARGS__ )
#define PCALL_ARG_BEGIN(function, argout)
 PCall arguments definition.
#define PCALL_ARG_DEFINE1(function, argout, type1, argin1)
 Facilities for 1 arguments primitives.
#define PCALL_ARG_DEFINE10(function, argout, type1, argin1, type2, argin2, type3, argin3, type4, argin4, type5, argin5, type6, argin6, type7, argin7, type8, argin8, type9, argin9, type10, argin10)
 Facilities for 10 arguments primitives.
#define PCALL_ARG_DEFINE2(function, argout, type1, argin1, type2, argin2)
 Facilities for 2 arguments primitives.
#define PCALL_ARG_DEFINE3(function, argout, type1, argin1, type2, argin2, type3, argin3)
 Facilities for 3 arguments primitives.
#define PCALL_ARG_DEFINE4(function, argout, type1, argin1, type2, argin2, type3, argin3, type4, argin4)
 Facilities for 4 arguments primitives.
#define PCALL_ARG_DEFINE5(function, argout, type1, argin1, type2, argin2, type3, argin3, type4, argin4, type5, argin5)
 Facilities for 5 arguments primitives.
#define PCALL_ARG_DEFINE6(function, argout, type1, argin1, type2, argin2, type3, argin3, type4, argin4, type5, argin5, type6, argin6)
 Facilities for 6 arguments primitives.
#define PCALL_ARG_DEFINE7(function, argout, type1, argin1, type2, argin2, type3, argin3, type4, argin4, type5, argin5, type6, argin6, type7, argin7)
 Facilities for 7 arguments primitives.
#define PCALL_ARG_DEFINE8(function, argout, type1, argin1, type2, argin2, type3, argin3, type4, argin4, type5, argin5, type6, argin6, type7, argin7, type8, argin8)
 Facilities for 8 arguments primitives.
#define PCALL_ARG_DEFINE9(function, argout, type1, argin1, type2, argin2, type3, argin3, type4, argin4, type5, argin5, type6, argin6, type7, argin7, type8, argin8, type9, argin9)
 Facilities for 9 arguments primitives.
#define PCALL_ARG_END()   };
#define PCALL_ARG_ISTANCE(type, name)   type name;
#define PCALL_ARG_ISTANCE_LAST   PCALL_ARG_ISTANCE
#define PCALL_ARG_POINTER(alias)   pcall_pointer__##alias
#define PCALL_ARG_POINTER_DEFINE(alias, size)
#define PCALL_CLI_BODY_ARG_AFTER(var)   var = _in.var;
#define PCALL_CLI_BODY_ARG_AFTER_LAST   PCALL_CLI_BODY_ARG_AFTER
#define PCALL_CLI_BODY_ARG_BEFORE(var)   _in.var = var;
#define PCALL_CLI_BODY_ARG_BEFORE_LAST   PCALL_CLI_BODY_ARG_BEFORE
#define PCALL_CLI_BODY_BEGIN(function, argout)
#define PCALL_CLI_BODY_CALL(function)
#define PCALL_CLI_BODY_END()
#define PCALL_CLI_DEFINE1(function, argout, type1, argin1)
#define PCALL_CLI_DEFINE10(function, argout, type1, argin1, type2, argin2, type3, argin3, type4, argin4, type5, argin5, type6, argin6, type7, argin7, type8, argin8, type9, argin9, type10, argin10)
#define PCALL_CLI_DEFINE2(function, argout, type1, argin1, type2, argin2)
#define PCALL_CLI_DEFINE3(function, argout, type1, argin1, type2, argin2, type3, argin3)
#define PCALL_CLI_DEFINE4(function, argout, type1, argin1, type2, argin2, type3, argin3, type4, argin4)
#define PCALL_CLI_DEFINE5(function, argout, type1, argin1, type2, argin2, type3, argin3, type4, argin4, type5, argin5)
#define PCALL_CLI_DEFINE6(function, argout, type1, argin1, type2, argin2, type3, argin3, type4, argin4, type5, argin5, type6, argin6)
#define PCALL_CLI_DEFINE7(function, argout, type1, argin1, type2, argin2, type3, argin3, type4, argin4, type5, argin5, type6, argin6, type7, argin7)
#define PCALL_CLI_DEFINE8(function, argout, type1, argin1, type2, argin2, type3, argin3, type4, argin4, type5, argin5, type6, argin6, type7, argin7, type8, argin8)
#define PCALL_CLI_DEFINE9(function, argout, type1, argin1, type2, argin2, type3, argin3, type4, argin4, type5, argin5, type6, argin6, type7, argin7, type8, argin8, type9, argin9)
#define PCALL_CLI_POINTER   pcall_pointer
#define PCALL_CLI_PROTO_ARG(type, name)   type name,
#define PCALL_CLI_PROTO_ARG_LAST(type, name)   type name
#define PCALL_CLI_PROTO_BEGIN(function, argout)   static inline argout PCall_cli__##function (AMICO_link *link, const AP_String &name,
 PCall client side.
#define PCALL_CLI_PROTO_END()   )
#define PCALL_OBJ_ARG(cast, name)   (cast) _in->name,
#define PCALL_OBJ_ARG_LAST(cast, name)   (cast) _in->name
#define PCALL_OBJ_BEGIN()
 PCall object server side.
#define PCALL_OBJ_END()
#define PCALL_OBJ_EXPOSE1(function, alias, ca, a)
#define PCALL_OBJ_EXPOSE10(function, alias, ca, a, cb, b, cc, c, cd, d, ce, e, cf, f, cg, g, ch, h, ci, i, cj, j)
#define PCALL_OBJ_EXPOSE2(function, alias, ca, a, cb, b)
#define PCALL_OBJ_EXPOSE3(function, alias, ca, a, cb, b, cc, c)
#define PCALL_OBJ_EXPOSE4(function, alias, ca, a, cb, b, cc, c, cd, d)
#define PCALL_OBJ_EXPOSE5(function, alias, ca, a, cb, b, cc, c, cd, d, ce, e)
#define PCALL_OBJ_EXPOSE6(function, alias, ca, a, cb, b, cc, c, cd, d, ce, e, cf, f)
#define PCALL_OBJ_EXPOSE7(function, alias, ca, a, cb, b, cc, c, cd, d, ce, e, cf, f, cg, g)
#define PCALL_OBJ_EXPOSE8(function, alias, ca, a, cb, b, cc, c, cd, d, ce, e, cf, f, cg, g, ch, h)
#define PCALL_OBJ_EXPOSE9(function, alias, ca, a, cb, b, cc, c, cd, d, ce, e, cf, f, cg, g, ch, h, ci, i)
#define PCALL_OBJ_EXPOSE_BEGIN(function, alias)
#define PCALL_OBJ_EXPOSE_END()
#define PCALL_OBJ_POINTER   PCALL_SRV_POINTER
#define PCALL_POINTER   PCALL_CLI_POINTER
#define PCALL_SRV_BODY_ARG(cast, name)   (cast) _in->name,
#define PCALL_SRV_BODY_ARG_LAST(cast, name)   (cast) _in->name
#define PCALL_SRV_BODY_BEGIN(function, alias)
#define PCALL_SRV_BODY_BEGIN_NR(function, alias)
#define PCALL_SRV_BODY_END()
#define PCALL_SRV_BODY_END_NR   PCALL_SRV_BODY_END
#define PCALL_SRV_DEFINE1(function, alias, ca, a)
#define PCALL_SRV_DEFINE10(function, alias, ca, a, cb, b, cc, c, cd, d, ce, e, cf, f, cg, g, ch, h, ci, i, cj, j)
#define PCALL_SRV_DEFINE1_NR(function, alias, ca, a)
 Facilities for 1 arguments primitives without returned value.
#define PCALL_SRV_DEFINE2(function, alias, ca, a, cb, b)
#define PCALL_SRV_DEFINE3(function, alias, ca, a, cb, b, cc, c)
#define PCALL_SRV_DEFINE4(function, alias, ca, a, cb, b, cc, c, cd, d)
#define PCALL_SRV_DEFINE5(function, alias, ca, a, cb, b, cc, c, cd, d, ce, e)
#define PCALL_SRV_DEFINE6(function, alias, ca, a, cb, b, cc, c, cd, d, ce, e, cf, f)
#define PCALL_SRV_DEFINE7(function, alias, ca, a, cb, b, cc, c, cd, d, ce, e, cf, f, cg, g)
#define PCALL_SRV_DEFINE8(function, alias, ca, a, cb, b, cc, c, cd, d, ce, e, cf, f, cg, g, ch, h)
#define PCALL_SRV_DEFINE9(function, alias, ca, a, cb, b, cc, c, cd, d, ce, e, cf, f, cg, g, ch, h, ci, i)
#define PCALL_SRV_POINTER(var)   var.data
#define PCALL_SRV_PROTO(function)   static AP_Bool PCall_srv__##function(AP_Uint32 sizein, AP_Pointer in, AP_Uint32 sizeout, AP_Pointer out)
 PCall server side.
#define PNAME(function)   (AP_String) #function
#define POBJREG(object, function, argout)   #function , object , sizeof(argout)
#define PREG(function, argout)   #function, PCall_srv__##function, sizeof(argout)
 Register functions.
#define PREG_NR(function)   #function, PCall_srv__##function, 0
#define PUNREG(function)   #function

Define Documentation

#define PCALL ( link,
function,
...   )     PCall_cli__##function(link,#function, __VA_ARGS__ )

#define PCALL_ARG_BEGIN ( function,
argout   ) 

Value:

typedef argout argout__##function;              \
struct argin__##function                        \
{
PCall arguments definition.

#define PCALL_ARG_DEFINE1 ( function,
argout,
type1,
argin1   ) 

Value:

PCALL_ARG_BEGIN(function,argout)                                  \
      PCALL_ARG_ISTANCE_LAST(type1,argin1)                           \
   PCALL_ARG_END()
Facilities for 1 arguments primitives.

#define PCALL_ARG_DEFINE10 ( function,
argout,
type1,
argin1,
type2,
argin2,
type3,
argin3,
type4,
argin4,
type5,
argin5,
type6,
argin6,
type7,
argin7,
type8,
argin8,
type9,
argin9,
type10,
argin10   ) 

Value:

PCALL_ARG_BEGIN(function,argout)                                  \
      PCALL_ARG_ISTANCE(type1,argin1)                                \
      PCALL_ARG_ISTANCE(type2,argin2)                                \
      PCALL_ARG_ISTANCE(type3,argin3)                                \
      PCALL_ARG_ISTANCE(type4,argin4)                                \
      PCALL_ARG_ISTANCE(type5,argin5)                                \
      PCALL_ARG_ISTANCE(type6,argin6)                                \
      PCALL_ARG_ISTANCE(type7,argin7)                                \
      PCALL_ARG_ISTANCE(type8,argin8)                                \
      PCALL_ARG_ISTANCE_LAST(type9,argin9)                           \
      PCALL_ARG_ISTANCE_LAST(type10,argin10)                         \
   PCALL_ARG_END()
Facilities for 10 arguments primitives.

#define PCALL_ARG_DEFINE2 ( function,
argout,
type1,
argin1,
type2,
argin2   ) 

Value:

PCALL_ARG_BEGIN(function,argout)                                  \
      PCALL_ARG_ISTANCE(type1,argin1)                                \
      PCALL_ARG_ISTANCE_LAST(type2,argin2)                           \
   PCALL_ARG_END()
Facilities for 2 arguments primitives.

#define PCALL_ARG_DEFINE3 ( function,
argout,
type1,
argin1,
type2,
argin2,
type3,
argin3   ) 

Value:

PCALL_ARG_BEGIN(function,argout)                                  \
      PCALL_ARG_ISTANCE(type1,argin1)                                \
      PCALL_ARG_ISTANCE(type2,argin2)                                \
      PCALL_ARG_ISTANCE_LAST(type3,argin3)                           \
   PCALL_ARG_END()
Facilities for 3 arguments primitives.

#define PCALL_ARG_DEFINE4 ( function,
argout,
type1,
argin1,
type2,
argin2,
type3,
argin3,
type4,
argin4   ) 

Value:

PCALL_ARG_BEGIN(function,argout)                                  \
      PCALL_ARG_ISTANCE(type1,argin1)                                \
      PCALL_ARG_ISTANCE(type2,argin2)                                \
      PCALL_ARG_ISTANCE(type3,argin3)                                \
      PCALL_ARG_ISTANCE_LAST(type4,argin4)                           \
   PCALL_ARG_END()
Facilities for 4 arguments primitives.

#define PCALL_ARG_DEFINE5 ( function,
argout,
type1,
argin1,
type2,
argin2,
type3,
argin3,
type4,
argin4,
type5,
argin5   ) 

Value:

PCALL_ARG_BEGIN(function,argout)                                  \
      PCALL_ARG_ISTANCE(type1,argin1)                                \
      PCALL_ARG_ISTANCE(type2,argin2)                                \
      PCALL_ARG_ISTANCE(type3,argin3)                                \
      PCALL_ARG_ISTANCE(type4,argin4)                                \
      PCALL_ARG_ISTANCE_LAST(type5,argin5)                           \
   PCALL_ARG_END()
Facilities for 5 arguments primitives.

#define PCALL_ARG_DEFINE6 ( function,
argout,
type1,
argin1,
type2,
argin2,
type3,
argin3,
type4,
argin4,
type5,
argin5,
type6,
argin6   ) 

Value:

PCALL_ARG_BEGIN(function,argout)                                  \
      PCALL_ARG_ISTANCE(type1,argin1)                                \
      PCALL_ARG_ISTANCE(type2,argin2)                                \
      PCALL_ARG_ISTANCE(type3,argin3)                                \
      PCALL_ARG_ISTANCE(type4,argin4)                                \
      PCALL_ARG_ISTANCE(type5,argin5)                                \
      PCALL_ARG_ISTANCE_LAST(type6,argin6)                           \
   PCALL_ARG_END()
Facilities for 6 arguments primitives.

#define PCALL_ARG_DEFINE7 ( function,
argout,
type1,
argin1,
type2,
argin2,
type3,
argin3,
type4,
argin4,
type5,
argin5,
type6,
argin6,
type7,
argin7   ) 

Value:

PCALL_ARG_BEGIN(function,argout)                                  \
      PCALL_ARG_ISTANCE(type1,argin1)                                \
      PCALL_ARG_ISTANCE(type2,argin2)                                \
      PCALL_ARG_ISTANCE(type3,argin3)                                \
      PCALL_ARG_ISTANCE(type4,argin4)                                \
      PCALL_ARG_ISTANCE(type5,argin5)                                \
      PCALL_ARG_ISTANCE(type6,argin6)                                \
      PCALL_ARG_ISTANCE_LAST(type7,argin7)                           \
   PCALL_ARG_END()
Facilities for 7 arguments primitives.

#define PCALL_ARG_DEFINE8 ( function,
argout,
type1,
argin1,
type2,
argin2,
type3,
argin3,
type4,
argin4,
type5,
argin5,
type6,
argin6,
type7,
argin7,
type8,
argin8   ) 

Value:

PCALL_ARG_BEGIN(function,argout)                                  \
      PCALL_ARG_ISTANCE(type1,argin1)                                \
      PCALL_ARG_ISTANCE(type2,argin2)                                \
      PCALL_ARG_ISTANCE(type3,argin3)                                \
      PCALL_ARG_ISTANCE(type4,argin4)                                \
      PCALL_ARG_ISTANCE(type5,argin5)                                \
      PCALL_ARG_ISTANCE(type6,argin6)                                \
      PCALL_ARG_ISTANCE(type7,argin7)                                \
      PCALL_ARG_ISTANCE_LAST(type8,argin8)                           \
   PCALL_ARG_END()
Facilities for 8 arguments primitives.

#define PCALL_ARG_DEFINE9 ( function,
argout,
type1,
argin1,
type2,
argin2,
type3,
argin3,
type4,
argin4,
type5,
argin5,
type6,
argin6,
type7,
argin7,
type8,
argin8,
type9,
argin9   ) 

Value:

PCALL_ARG_BEGIN(function,argout)                                  \
      PCALL_ARG_ISTANCE(type1,argin1)                                \
      PCALL_ARG_ISTANCE(type2,argin2)                                \
      PCALL_ARG_ISTANCE(type3,argin3)                                \
      PCALL_ARG_ISTANCE(type4,argin4)                                \
      PCALL_ARG_ISTANCE(type5,argin5)                                \
      PCALL_ARG_ISTANCE(type6,argin6)                                \
      PCALL_ARG_ISTANCE(type7,argin7)                                \
      PCALL_ARG_ISTANCE(type8,argin8)                                \
      PCALL_ARG_ISTANCE_LAST(type9,argin9)                           \
   PCALL_ARG_END()
Facilities for 9 arguments primitives.

 
#define PCALL_ARG_END (  )     };

#define PCALL_ARG_ISTANCE ( type,
name   )     type name;

#define PCALL_ARG_ISTANCE_LAST   PCALL_ARG_ISTANCE

#define PCALL_ARG_POINTER ( alias   )     pcall_pointer__##alias

#define PCALL_ARG_POINTER_DEFINE ( alias,
size   ) 

Value:

class pcall_pointer__##alias : public pcall_pointer_data                   \
   {                                                                          \
      public:                                                                 \
         pcall_pointer__##alias(void)                                         \
            : pcall_pointer_data(this->data,size) {}                          \
         pcall_pointer__##alias(AP_Pointer p)                                 \
            : pcall_pointer_data(this->data,size) { memcpy(data,p,size); }    \
         pcall_pointer__##alias& operator= (const pcall_pointer& obj)         \
         {                                                                    \
            memcpy(data,obj.pointer,size);                                    \
            return *this;                                                     \
         }                                                                    \
         AP_Byte data[size];                                                  \
   };

#define PCALL_CLI_BODY_ARG_AFTER ( var   )     var = _in.var;

#define PCALL_CLI_BODY_ARG_AFTER_LAST   PCALL_CLI_BODY_ARG_AFTER

#define PCALL_CLI_BODY_ARG_BEFORE ( var   )     _in.var = var;

#define PCALL_CLI_BODY_ARG_BEFORE_LAST   PCALL_CLI_BODY_ARG_BEFORE

#define PCALL_CLI_BODY_BEGIN ( function,
argout   ) 

Value:

{                                               \
   argin__##function _in;                       \
   argout__##function _out;

#define PCALL_CLI_BODY_CALL ( function   ) 

Value:

if (link)                                    \
      link->CallPrimitive(name,sizeof(argin__##function),&_in, sizeof(argout__##function),&_out);

 
#define PCALL_CLI_BODY_END (  ) 

Value:

return _out;                                 \
}

#define PCALL_CLI_DEFINE1 ( function,
argout,
type1,
argin1   ) 

#define PCALL_CLI_DEFINE10 ( function,
argout,
type1,
argin1,
type2,
argin2,
type3,
argin3,
type4,
argin4,
type5,
argin5,
type6,
argin6,
type7,
argin7,
type8,
argin8,
type9,
argin9,
type10,
argin10   ) 

#define PCALL_CLI_DEFINE2 ( function,
argout,
type1,
argin1,
type2,
argin2   ) 

#define PCALL_CLI_DEFINE3 ( function,
argout,
type1,
argin1,
type2,
argin2,
type3,
argin3   ) 

#define PCALL_CLI_DEFINE4 ( function,
argout,
type1,
argin1,
type2,
argin2,
type3,
argin3,
type4,
argin4   ) 

#define PCALL_CLI_DEFINE5 ( function,
argout,
type1,
argin1,
type2,
argin2,
type3,
argin3,
type4,
argin4,
type5,
argin5   ) 

#define PCALL_CLI_DEFINE6 ( function,
argout,
type1,
argin1,
type2,
argin2,
type3,
argin3,
type4,
argin4,
type5,
argin5,
type6,
argin6   ) 

#define PCALL_CLI_DEFINE7 ( function,
argout,
type1,
argin1,
type2,
argin2,
type3,
argin3,
type4,
argin4,
type5,
argin5,
type6,
argin6,
type7,
argin7   ) 

#define PCALL_CLI_DEFINE8 ( function,
argout,
type1,
argin1,
type2,
argin2,
type3,
argin3,
type4,
argin4,
type5,
argin5,
type6,
argin6,
type7,
argin7,
type8,
argin8   ) 

#define PCALL_CLI_DEFINE9 ( function,
argout,
type1,
argin1,
type2,
argin2,
type3,
argin3,
type4,
argin4,
type5,
argin5,
type6,
argin6,
type7,
argin7,
type8,
argin8,
type9,
argin9   ) 

#define PCALL_CLI_POINTER   pcall_pointer

#define PCALL_CLI_PROTO_ARG ( type,
name   )     type name,

#define PCALL_CLI_PROTO_ARG_LAST ( type,
name   )     type name

#define PCALL_CLI_PROTO_BEGIN ( function,
argout   )     static inline argout PCall_cli__##function (AMICO_link *link, const AP_String &name,

PCall client side.

 
#define PCALL_CLI_PROTO_END (  )     )

#define PCALL_OBJ_ARG ( cast,
name   )     (cast) _in->name,

#define PCALL_OBJ_ARG_LAST ( cast,
name   )     (cast) _in->name

 
#define PCALL_OBJ_BEGIN (  ) 

Value:

AP_Bool AMICO_primitive_object_call(AMICO_primitive_call* primitive, \
   const AP_Uint32 sizein, const AP_Pointer in) \
{                                               \
   if (!primitive) return false;                \
   if (!in) return false;
PCall object server side.

 
#define PCALL_OBJ_END (  ) 

Value:

return false;                                \
}

#define PCALL_OBJ_EXPOSE1 ( function,
alias,
ca,
 ) 

#define PCALL_OBJ_EXPOSE10 ( function,
alias,
ca,
a,
cb,
b,
cc,
c,
cd,
d,
ce,
e,
cf,
f,
cg,
g,
ch,
h,
ci,
i,
cj,
 ) 

Value:

#define PCALL_OBJ_EXPOSE2 ( function,
alias,
ca,
a,
cb,
 ) 

#define PCALL_OBJ_EXPOSE3 ( function,
alias,
ca,
a,
cb,
b,
cc,
 ) 

#define PCALL_OBJ_EXPOSE4 ( function,
alias,
ca,
a,
cb,
b,
cc,
c,
cd,
 ) 

#define PCALL_OBJ_EXPOSE5 ( function,
alias,
ca,
a,
cb,
b,
cc,
c,
cd,
d,
ce,
 ) 

#define PCALL_OBJ_EXPOSE6 ( function,
alias,
ca,
a,
cb,
b,
cc,
c,
cd,
d,
ce,
e,
cf,
 ) 

#define PCALL_OBJ_EXPOSE7 ( function,
alias,
ca,
a,
cb,
b,
cc,
c,
cd,
d,
ce,
e,
cf,
f,
cg,
 ) 

Value:

#define PCALL_OBJ_EXPOSE8 ( function,
alias,
ca,
a,
cb,
b,
cc,
c,
cd,
d,
ce,
e,
cf,
f,
cg,
g,
ch,
 ) 

Value:

#define PCALL_OBJ_EXPOSE9 ( function,
alias,
ca,
a,
cb,
b,
cc,
c,
cd,
d,
ce,
e,
cf,
f,
cg,
g,
ch,
h,
ci,
 ) 

Value:

#define PCALL_OBJ_EXPOSE_BEGIN ( function,
alias   ) 

Value:

if ( primitive->m_name == #alias )           \
   {                                            \
      if (sizein != sizeof(argin__##alias))     \
         return false;                          \
      primitive->m_sizeout = sizeof( argout__##alias ); \
      argin__##alias* _in = (argin__##alias*)in;      \
      *((argout__##alias*)(primitive->m_out)) = function(

 
#define PCALL_OBJ_EXPOSE_END (  ) 

Value:

);                                        \
      return true;                              \
   }

#define PCALL_OBJ_POINTER   PCALL_SRV_POINTER

#define PCALL_POINTER   PCALL_CLI_POINTER

#define PCALL_SRV_BODY_ARG ( cast,
name   )     (cast) _in->name,

#define PCALL_SRV_BODY_ARG_LAST ( cast,
name   )     (cast) _in->name

#define PCALL_SRV_BODY_BEGIN ( function,
alias   ) 

Value:

{                                               \
   if (sizein != sizeof( argin__##alias ))      \
      return false;                             \
   if (!in)                                     \
      return false;                             \
   if (sizeout != sizeof( argout__##alias ))    \
      return false;                             \
   if (!out)                                    \
      return false;                             \
   argin__##alias* _in = (argin__##alias*)in;   \
   *((argout__##alias*)out) = function(

#define PCALL_SRV_BODY_BEGIN_NR ( function,
alias   ) 

Value:

{                                               \
   if (sizein != sizeof( argin__##alias ))      \
      return false;                             \
   if (!in)                                     \
      return false;                             \
   argin__##alias* _in = (argin__##alias*)in;   \
   function(

 
#define PCALL_SRV_BODY_END (  ) 

Value:

);                                           \
   return true;                                 \
}

#define PCALL_SRV_BODY_END_NR   PCALL_SRV_BODY_END

#define PCALL_SRV_DEFINE1 ( function,
alias,
ca,
 ) 

#define PCALL_SRV_DEFINE10 ( function,
alias,
ca,
a,
cb,
b,
cc,
c,
cd,
d,
ce,
e,
cf,
f,
cg,
g,
ch,
h,
ci,
i,
cj,
 ) 

#define PCALL_SRV_DEFINE1_NR ( function,
alias,
ca,
 ) 

Value:

Facilities for 1 arguments primitives without returned value.

#define PCALL_SRV_DEFINE2 ( function,
alias,
ca,
a,
cb,
 ) 

#define PCALL_SRV_DEFINE3 ( function,
alias,
ca,
a,
cb,
b,
cc,
 ) 

#define PCALL_SRV_DEFINE4 ( function,
alias,
ca,
a,
cb,
b,
cc,
c,
cd,
 ) 

#define PCALL_SRV_DEFINE5 ( function,
alias,
ca,
a,
cb,
b,
cc,
c,
cd,
d,
ce,
 ) 

#define PCALL_SRV_DEFINE6 ( function,
alias,
ca,
a,
cb,
b,
cc,
c,
cd,
d,
ce,
e,
cf,
 ) 

#define PCALL_SRV_DEFINE7 ( function,
alias,
ca,
a,
cb,
b,
cc,
c,
cd,
d,
ce,
e,
cf,
f,
cg,
 ) 

#define PCALL_SRV_DEFINE8 ( function,
alias,
ca,
a,
cb,
b,
cc,
c,
cd,
d,
ce,
e,
cf,
f,
cg,
g,
ch,
 ) 

#define PCALL_SRV_DEFINE9 ( function,
alias,
ca,
a,
cb,
b,
cc,
c,
cd,
d,
ce,
e,
cf,
f,
cg,
g,
ch,
h,
ci,
 ) 

#define PCALL_SRV_POINTER ( var   )     var.data

#define PCALL_SRV_PROTO ( function   )     static AP_Bool PCall_srv__##function(AP_Uint32 sizein, AP_Pointer in, AP_Uint32 sizeout, AP_Pointer out)

PCall server side.

#define PNAME ( function   )     (AP_String) #function

#define POBJREG ( object,
function,
argout   )     #function , object , sizeof(argout)

#define PREG ( function,
argout   )     #function, PCall_srv__##function, sizeof(argout)

Register functions.

#define PREG_NR ( function   )     #function, PCall_srv__##function, 0

#define PUNREG ( function   )     #function


Generated on Fri Mar 5 16:50:45 2010 for CarLinO by  doxygen 1.5.8