IPB_Arguments interface
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;
}
...