Example #1
0
        /// <summary>関数を登録します。</summary>
        /// <param name="signature">関数のフルシグネチャ</param>
        /// <param name="method">実際の関数</param>
        public void AdvertiseMethod(string signature, QiObjectMethod method)
        {
            var  qiMethod = new QiMethod(method);
            uint id       = QiApiObjectBuilder.AdvertiseMethod(
                this, signature, qiMethod.UnmanagedMethod, IntPtr.Zero
                );

            _advertisedMethods[id] = qiMethod;
        }
Example #2
0
 /// <summary>
 /// 既定の方法でインスタンスを生成します。
 /// </summary>
 /// <returns>生成されたインスタンス</returns>
 public static QiObjectBuilder Create() => QiApiObjectBuilder.Create();
Example #3
0
 /// <summary>
 /// 登録情報に基づき、オブジェクトを生成します。
 /// </summary>
 /// <returns>生成されたオブジェクト</returns>
 public QiObject BuildObject() => QiApiObjectBuilder.BuildObject(this);
Example #4
0
 /// <summary>
 /// プロパティを登録します。
 /// </summary>
 /// <param name="name">プロパティ名</param>
 /// <param name="signature">プロパティのシグネチャ</param>
 /// <returns>プロパティに割り振ったID</returns>
 public uint AdvertiseProperty(string name, string signature)
 => QiApiObjectBuilder.AdvertiseProperty(this, name, signature);
Example #5
0
 /// <summary>インスタンスを破棄します。</summary>
 public void Destroy() => QiApiObjectBuilder.DestroyBuilder(this);