internal Future(FutureSafeHandle handle, AsyncCallback userCallback, object userStateObject) { this._handle = handle; this._userCallback = userCallback; this._userStateObject = userStateObject; if (userCallback != null) { this.RegisterCallBack(new FutureNative.FutureCallback((future, userData) => this.OnFutureCallback(new Future(new FutureSafeHandle(future)), userData))); } }
internal static extern ObjectSafeHandle qi_future_get_object(FutureSafeHandle future);
internal static extern string qi_future_get_string(FutureSafeHandle future);
internal static extern ulong qi_future_get_uint64_default(FutureSafeHandle future, ulong def);
internal static extern ValueSafeHandle qi_future_get_value(FutureSafeHandle future);
internal static extern void Cancel(FutureSafeHandle future);
internal static extern int IsCanceled(FutureSafeHandle future);
internal static extern int IsFinished(FutureSafeHandle future);
internal static extern int IsRunning(FutureSafeHandle future);
internal static extern int HasValue(FutureSafeHandle future, int timeout);
internal static extern int HasError(FutureSafeHandle future, int timeout);
internal static extern void Wait(FutureSafeHandle future, int timeout);
internal static extern void AddCallback(FutureSafeHandle future, FutureCallback cb, IntPtr userdata);
internal static extern FutureSafeHandle Clone(FutureSafeHandle future);
internal Future(FutureSafeHandle handle) : this(handle, null, null) { }