Wrapping boost :: Signal an C # Delegierten
Frage
sagen, ich habe eine asynchrone Bibliothek, geschrieben in native C ++, mit einer Schnittstelle ähnlich wie folgt aus:
class connection {
public:
boost::signal< void() > sig_connection_made;
boost::signal< void(const std::string&) > sig_error;
void connect(const std::string& host, const std::string& port);
};
, dass ich in C # wickeln möchten. Kennt jemand eine Möglichkeit, mit SWIG oder etwas ähnliches, die mir erlauben, um die Signale zu C # Delegierten zu binden?
Lösung
Sie können einen Delegaten in c ++ von C # passieren SWIG es zu einem Funktionszeiger zuweisen und dann den Funktionszeiger aufrufen und es wird den Delegierten auslösen.
Andere Tipps
Klingt wie eine Aufgabe für C ++ / CLI .
Siehe auch Gemischte Baugruppen und Aufruf native Funktionen von verwaltetem Code
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow