class StdDispatch
{
// ...
/**
calls a method of this object
used in generated stub
@param fname name of function
@param ret return value of this function
@param args arguments of the method
@param dc client, calling this method
@param namedArgs The last n values in args are named arguments.
if no named arguments passed, caller should pass Nil
@param flags for the method (like static, public)
@param methinf If client caches method information
@throw DmiException in case of DMI-Errors (like wrong parameter)
@return the called ClazzMethodInfo. Client may use this
cache this value for the next call to improve performance
*/
virtual const ClazzMethodInfo* standardDispatch( const char* fname,
ScriptVar& ret,
ScriptVarArray& args,
DmiClient& dc,
::acdk::lang::RStringArray namedArgs,
int flags,
const ClazzMethodInfo* methinf = 0);
/**
This method is the static version of the method above.
For each ACDK class with metainformation a function pointer a MyClass::StandardDispatch
will be avaible in the ClazzInfo structure.
*/
static const ClazzMethodInfo* StandardDispatch(const char* fname,
ScriptVar& ret,
ScriptVarArray& args,
DmiClient& dc,
::acdk::lang::RStringArray namedArgs,
int flags,
const ClazzMethodInfo* methinf = 0);
/**
retreive a static member variable
@param clazz the ClazzInfo
@param fieldname name of the member
@param dc DmiClient to use to convert types
@param flags normally Modifier::PUBLIC | Modifier::STATIC
@param type_requested Type for target ScriptVar. if zero no conversion will be done
@throw NoSuchElementException if given Member not exists
@throw ParamsMismatchException if type cannot be converted
*/
static ScriptVar getStaticMember(const ClazzInfo* clazz, const char* fieldname,
DmiClient& dc, int flags, const ClazzInfo* type_requested = 0);
/**
retreive a member variable of this object
@param fieldname name of the member
@param dc DmiClient to use to convert types
@param flags normally Modifier::PUBLIC
@param type_requested Type for target ScriptVar. if zero no conversion will be done
@throw NoSuchElementException if given Member not exists
@throw ParamsMismatchException if type cannot be converted
*/
ScriptVar getMember(const char* fieldname, DmiClient& dc, int flags, const ClazzInfo* type_requested = 0);
/**
set a static member variable
core implementetion
@param clazz the ClazzInfo
@param fieldname name of the member
@param newval new value of the member
@param dc DmiClient to use to convert types
@param flags normally Modifier::PUBLIC | Modifier::STATIC
@throw NoSuchElementException if given Member not exists
@throw ParamsMismatchException if type cannot be converted
*/
static void setStaticMember(const ClazzInfo* clazz, const char* fieldname, ScriptVar& newval,
DmiClient& dc, int flags);
/**
set a member variable.
This is the core implementetion. You may use poke() instead
@param clazz the ClazzInfo
@param fieldname name of the member
@param newval new value of the member
@param dc DmiClient to use to convert types
@param flags normally Modifier::PUBLIC
@throw NoSuchElementException if given Member not exists
@throw ParamsMismatchException if type cannot be converted
@see poke
*/
void setMember(const char* fieldname, ScriptVar& newval, DmiClient& dc, int flags);
|