/// <summary>シグナル(イベント)にハンドラを登録します。</summary> /// <param name="signature">シグナルの名前("signal"など)</param> /// <param name="callback">そのシグナルに対するコールバック関数</param> /// <returns> /// コールバックへの対応を表した整数。<see cref="DisconnectSignal(ulong)"/>でハンドラを解除する場合は必要ですが、 /// <see cref="DisconnectSignal(Action{QiValue})"/>を用いる場合は不要です。 /// </returns> public ulong ConnectSignal(string signature, Action <QiValue> callback) { var handler = new QiSignalHandler(callback); var result = QiApiObject .SignalConnect(this, signature, handler.ApiCallback, IntPtr.Zero) .GetUInt64(0UL); _handlers[result] = handler; return(result); }
/// <summary>シグナル(イベント)にハンドラを登録します。</summary> /// <param name="signature">シグナルの名前("signal"など)</param> /// <param name="callback">そのシグナルに対するコールバック関数</param> /// <returns> /// コールバックへの対応を表した整数。<see cref="DisconnectSignal(ulong)"/>でハンドラを解除する場合は必要ですが、 /// <see cref="DisconnectSignal(Action{QiValue})"/>を用いる場合は不要です。 /// </returns> public ulong ConnectSignal(string signature, Action<QiValue> callback) { var handler = new QiSignalHandler(callback); var result = QiApiObject .SignalConnect(this, signature, handler.ApiCallback, IntPtr.Zero) .GetUInt64(0UL); _handlers[result] = handler; return result; }