Method¶
-
class
kanzi::connect::Method: public enable_shared_from_this<Method>¶ Method class implementation.
Public Types
-
typedef function<void(MethodSharedPtr, Method::InvocationResult, string)>
InvocationCallback¶ invocation callback function prototype
-
enum
InvocationResult¶ Result of a method invocation.
Values:
-
enumerator
InvokeInProgress¶ Returned from invocation methods when invocation requires asynchronous processing or returns a value in which case the final comletion is through callback.
After invoke returns this value then the final value will be available in the callback.
-
enumerator
InvokeSucceeded¶ Method invocation succeeded.
-
enumerator
InvokeFailedSignatureMismatch¶ Method could not invoked because either the method name is wrong, or passed in arguments don’t mach with method signature.
-
enumerator
InvokeFailedIntrospectionFailure¶ Method could not be invoed because method signature introspection failed for some reason.
-
enumerator
InvokeFailedTimedOut¶ Method was triggered but returnvalue was not received within specified invocation timeout.
-
enumerator
InvokeFailedLinkBroken¶ Method was triggered but invocation overall status is not known since connection got broken.
-
enumerator
InvokeFailedNoService¶ returned if service is not available when invoking a method.
-
enumerator
InvokeFailed¶ Method invocation failed for unknown reason.
-
enumerator
Public Functions
C++ constructor.
This is not intenteded to be used directly, instead use GenericServiceClient::createMethod to factorize methods bound to a service.
- Parameters
service: the service method is bound tomethodName: name of the method.
-
~Method()¶ dtor
-
Method &
addArgument(const string &argumentName, const string &argumentValue)¶ Adds named string argument.
- Return
reference to the method to allow chaining setup of arguments.
- Parameters
argumentName: the name of the argumentargumentValue: value for the argument.
-
Method &
addArgument(const string &argumentName, const char *argumentValue)¶ add named string argument
- Return
reference to the method to allow chaining setup of arguments.
- Parameters
argumentName: the name of the argumentargumentValue: value for the argument.
-
Method &
addArgument(const string &argumentName, int argumentValue)¶ add named integer argument
- Return
reference to the method to allow chaining setup of arguments.
- Parameters
argumentName: the name of the argumentargumentValue: value for the argument.
-
Method &
addArgument(const string &argumentName, float argumentValue)¶ add named float argument
- Return
reference to the method to allow chaining setup of arguments.
- Parameters
argumentName: the name of the argumentargumentValue: value for the argument.
-
Method &
addArgument(const string &argumentName, bool argumentValue)¶ add named boolean argument
- Return
reference to the method to allow chaining setup of arguments.
- Parameters
argumentName: the name of the argumentargumentValue: value for the argument.
-
Method &
addBinaryArgument(const string &argumentName, const string &argumentValue)¶ add named binary argument
- Return
reference to the method to allow chaining setup of arguments.
- Parameters
argumentName: the name of the argumentargumentValue: value for the argument.
-
bool
argumentHasType(const string &argumentName, int messagePackageArgumentType) const¶ Check is the argument type correct or not.
- Return
true if type matches.
- Parameters
argumentName: name of the argument to inspectmessagePackageArgumentType: one of MessagePackage::ATTRIBUTE_VALUE_TYPE_* enumerations.
-
bool
cancel()¶ Cancel a method invocation.
Effectivy only if method was invoked in queued manner and it was still waiting for invocation.
- Return
true if operation was canceled.
-
template<class
_T>
_TgetArgument(const string &argumentName) const¶ Retrieve typed argument from variant map.
- Parameters
argumentName: name of the argument
-
uint32_t
getInvocationTimeout() const¶ Return configured invocation timeout.
- Return
milliseconds
-
const string &
getName() const¶ Returns the method name.
- Return
the name
-
bool
hasArgument(const string &argumentName) const¶ Is the named argument provided.
- Return
true if argument with provided name exists.
- Parameters
argumentName: name of the argument to inspect
-
InvocationResult
invoke(InvocationCallback callback)¶ Invokes the method immediately.
If immediate invocation is not possible based on preconditions, then returns false.
- Return
true if method invocation was started.
- Parameters
callback: the callback that is invoked when method invocation is complete or it has failed due the some error. If method returns true then callback will be called at some point.
-
InvocationResult
invokeEx(CallbackEx *callback)¶ - See
invokeImmediate
- Note
This is intented for external application bindings (Java)
-
InvocationResult
invokeQueued(InvocationCallback callback)¶ Invokes the method immediately but if that is not possible then invocation is queued and executed later when invocation is possible again.
- Return
true if method invocation was started.
- Parameters
callback: the callback that is invoked when method invocation is complete or it has failed due the some error. If method returns true then callback will be called at some point.
-
InvocationResult
invokeQueuedEx(CallbackEx *callback)¶ - See
invokeQueued
- Note
This is intented for external application bindings (Java)
-
void
setInvocationTimeout(uint32_t milliseconds)¶ Configures method invcation timeout.
- Parameters
milliseconds: the timeout value. Mimimum accepted value is 100, maximum is INT_MAX.
-
class
CallbackEx¶ Traditional c++ callback interface for external application bindings (Java)
Public Functions
-
~CallbackEx()¶ Required for Java bindings.
-
void
methodComplete(Method *method, InvocationResult result, const string &returnvalue) = 0¶ Invoked after method is executed to report execution status.
- Parameters
method: the method that was completed.result: the result of executionreturnvalue: the value returned by the function casted to string. If returnvalue is not supported then empty.
-
-
typedef function<void(MethodSharedPtr, Method::InvocationResult, string)>