The return value of the server side object method call with one or more parameters

Dear Experts,
Does paraview provide the way to get the return value of the server side object method call with one or more parameters?

I know about properties with “information_only” attribute, but this feature is suitable, if I understand correctly, only for methods without parameters. The attribute “number_of_elements_per_command” does not work in such case.

How can achieve this?

Thanks in Advance!

Petr

Correct.

Use a StringVectorProperty with a StringListDomain

Hmm, explain, please
For example, an object on the server has two methods:

// Adds the given string to the array
void AddString (const char * value);
// Counts the number of added strings that match the regular expression
int GetNumberOfStrings (const char * regExpr);

I want to get the result of the second method call on client application using proxy object. How can I do that using proxy properties?

My bad, this was not the correct information.

Just a StringVectorProperty with information_only should do the trick. You should manage the “number” side of things client side.

see VDFReaderPlugin/Readers/vtkVDFReader::GetPointArrayName for an example.

Thanks, @mwestphal

The vtkVDFReader::GetPointArrayName method is called using the vtkSIArraySelectionProperty (ArraySelectionInformationHelper) helper class. This class allows to form a list of array names on the server side without passing any additional information.

Having looked at the code for pulling/pushing messages for data exchange, I came to the conclusion that the only way to get the result of calling a method with parameters is to save the parameters on the server (something like a context), and then, using the saved data, call the method without parameters.

PS.
I think it would be useful to add for StringVectorProperty the ability to pass its elements as arguments of remote method call in case of “information_only” property.

I agree with your PS.