internal static uint AdvertiseMethod( QiObjectBuilder objBuilder, string completeSignature, QiApiObjectMethod method, IntPtr userdata ) => qi_object_builder_advertise_method(objBuilder.Handle, completeSignature, method, userdata);
internal static uint AdvertiseMethod( QiObjectBuilder objBuilder, string completeSignature, QiApiObjectMethod method, IntPtr userdata ) => qi_object_builder_advertise_method(objBuilder.Handle, completeSignature, method, userdata);
public void AdvertiseMethod(string signature, Func <string, TupleValue, QiValue> method) { QiApiObjectMethod callback = (completeSignature, msg, ret, userData) => { var result = method(completeSignature, new TupleValue(new ValueSafeHandle(msg))); var retValue = new AnyValue(new ValueSafeHandle(ret)); retValue.RawValue = result.RawValue; //QiValue.Swap(retValue, result); }; uint id = ObjectBuilderNative.qi_object_builder_advertise_method(this._handle, signature, callback, IntPtr.Zero); }
internal static extern uint qi_object_builder_advertise_method( ObjectBuilderSafeHandle qiObjBuilder, string completeSignature, QiApiObjectMethod function, IntPtr userdata );
private static extern uint qi_object_builder_advertise_method( IntPtr qiObjBuilder, string completeSignature, QiApiObjectMethod function, IntPtr userdata );
private static extern uint qi_object_builder_advertise_method( IntPtr qiObjBuilder, string completeSignature, QiApiObjectMethod function, IntPtr userdata );