背景基本リフレクションを使用した軽量のシグナルスロット実装はありますか?
動的に構成可能なデータ処理ツールキットを実装する必要があります。いくつかのデータ処理エンティティがあり、GUIツールを使用してデータフローグラフに結合することができます。 このアイデアは、ダイレクトショーフィルタグラフ(GraphEdit)やAppleのQuartz Composerに似ています。
GUIツールはグラフ定義をファイルに保存します。実際の処理が開始されると、この定義ファイルが読み込まれ、実行時にデータ処理オブジェクトを作成して接続する必要があります。
似たような問題にQtの信号とスロットを使用しましたが、今回はメインプログラムにGUIがありません。だから私はあまり肥大していないものを使いたいです。
質問
のQtを使用せずに、基本的な反射で信号/スロット機能を持つための最も簡単な方法は何ですか?
固定数のスロットタイプを定義する必要があります(あらかじめ定義済みの機能シグネチャがそれぞれあります)。 たとえば、画像オブジェクトをパラメータとして取得する画像を消費するスロット、またはパラメータとしてintを受け取るだけのスロットがあります。
実行時に、すべての信号/スロットを繰り返し処理し、動的に接続する必要があります。
実行時にSlot/Signal Parametersを検査する必要はありません。固定数のパラメータセットを持つには十分です。署名の種類を特定するには、スロットの名前に何らかのヒントを入れることは大丈夫です。
私は信号/スロット機能を提供するsignal2の付いていることを知っています。しかし、リフレクションを実装する最も速い方法は何ですか?私自身のマクロハックを構築する必要がありますか?
あなたはQtのシグナルとスロットは、([QtCore]であることを認識しているhttp://developer.qt.nokia.com/doc/qt-4.8 /qtcore.html)**ではなく、[QtGui](http://developer.qt.nokia.com/doc/qt-4.8/qtgui.html)であるため、 '#include'やリンクする必要はありませんすべてのGUIライブラリ、はい? –