コード例 #1
0
 /// <summary>結果を符号なし整数として取得します。</summary>
 /// <returns>呼び出し結果</returns>
 public ulong GetUInt64(ulong def) => QiApiFuture.GetUInt64Default(this, def);
コード例 #2
0
 /// <summary>エラーがある場合、それを文字列として取得します。</summary>
 /// <returns>エラーを表す文字列</returns>
 public string GetError() => QiApiFuture.GetError(this);
コード例 #3
0
 /// <summary>結果を符号つき整数として取得します。</summary>
 /// <returns>呼び出し結果</returns>
 public long GetInt64(long def) => QiApiFuture.GetInt64Default(this, def);
コード例 #4
0
 /// <summary>コピーを生成します。</summary>
 /// <returns>コピーされたインスタンス</returns>
 public QiFuture CloneFuture() => QiApiFuture.Clone(this);
コード例 #5
0
 /// <summary>一般的な処理結果を取得します。</summary>
 /// <returns>
 /// 呼び出し結果。
 /// 処理の完了待機が適切に行われていない場合、例外が生じる可能性があります。
 /// </returns>
 public QiValue GetValue() => QiApiFuture.GetValue(this);
コード例 #6
0
 /// <summary>結果取得をキャンセルします。</summary>
 public void Cancel() => QiApiFuture.Cancel(this);
コード例 #7
0
 /// <summary>インスタンスを破棄します。</summary>
 public void Destroy() => QiApiFuture.Destroy(this);
コード例 #8
0
 /// <summary>
 /// エラーが起きたかどうかを待機しつつ確認します。
 /// </summary>
 /// <param name="timeout">待機時間の上限(ミリ秒)</param>
 /// <returns>エラーの有無</returns>
 public bool CheckHasError(int timeout) => QiApiFuture.HasError(this, timeout);
コード例 #9
0
 /// <summary>
 /// 値を持っているかどうかを待機ののち確認します。
 /// </summary>
 /// <param name="timeout">待機時間の上限(ミリ秒)</param>
 /// <returns>値の所持の有無</returns>
 public bool CheckHasValue(int timeout) => QiApiFuture.HasValue(this, timeout);
コード例 #10
0
 /// <summary>
 /// 指定した時間まで待機します。
 /// </summary>
 /// <param name="timeout">待機時間の上限(ミリ秒)</param>
 /// <returns>待機後の、このインスタンス自身</returns>
 public QiFuture Wait(int timeout)
 {
     QiApiFuture.Wait(this, timeout);
     return(this);
 }
コード例 #11
0
        /// <summary>(動作未確認)動作完了時のコールバック関数を登録します。</summary>
        /// <param name="cb">コールバック関数</param>
        public void AddCallback(Action <QiFuture> cb)
        {
            var apiCallback = new QiApiFutureCallback((fut, udata) => cb(new QiFuture(fut)));

            QiApiFuture.AddCallback(this, apiCallback);
        }
コード例 #12
0
        //NOTE: これさ、アンマネージに渡したapiCallbackがGCされて死ぬよくあるパターンでは?
        /// <summary>(動作未確認)動作完了時のコールバック関数を登録します。</summary>
        /// <param name="cb">コールバック関数</param>
        /// <param name="userData">ユーザーデータ</param>
        public void AddCallback(Action <QiFuture, IntPtr> cb, IntPtr userData)
        {
            var apiCallback = new QiApiFutureCallback((fut, udata) => cb(new QiFuture(fut), udata));

            QiApiFuture.AddCallback(this, apiCallback, userData);
        }
コード例 #13
0
 /// <summary>結果を<see cref="QiObject"/>として取得します。</summary>
 /// <returns>呼び出し結果</returns>
 public QiObject GetObject() => QiApiFuture.GetObject(this);
コード例 #14
0
 /// <summary>結果を文字列として取得します。</summary>
 /// <returns>呼び出し結果</returns>
 public string GetString() => QiApiFuture.GetString(this);