The IPB_Arguments interface has two methods:
GetCount obtains the number of arguments in a method call.
GetAt obtains the value at a specific index of the pArgs member of the PBCallInfo structure. For each argument, GetAt returns a pointer to the IPB_Value interface.
The following code fragment uses GetCount and GetAt in
a FOR loop to process different argument types.
The ci-> pArgs -> GetCount()
statement
gets the number of arguments, and ci -> pArgs
-> GetAt(i)
gets the value at the index i.
This value is a pointer to the IPB_Value interface on which
IPB_Value methods, such as IsArray and GetArray,
can be called (see “IPB_Value interface”) :
int i; for (i=0; i < ci-> pArgs -> GetCount();i++) { pbuint ArgsType; if( ci -> pArgs -> GetAt(i) -> IsArray()) pArguments[i].array_val = ci -> pArgs -> GetAt(i) -> GetArray(); continue; } if( ci -> pArgs -> GetAt(i) -> IsObject()) { if (ci -> pArgs -> GetAt(i) -> IsNull()) pArguments[i].obj_val=0; else pArguments[i].obj_val = ci -> pArgs -> GetAt(i) -> GetObject(); continue; } ...