diff options
author | David Robillard <d@drobilla.net> | 2011-05-13 01:22:29 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2011-05-13 01:22:29 +0000 |
commit | 981c7950a6f5fc9f22decaee261556d20b641d5c (patch) | |
tree | 326c2256d5876e3c55ec2fb9ea13c4a04f29bf0b /src/client/SigClientInterface.hpp | |
parent | eae8f927dbf4913c7cb72605af5da0763f7be422 (diff) | |
download | ingen-981c7950a6f5fc9f22decaee261556d20b641d5c.tar.gz ingen-981c7950a6f5fc9f22decaee261556d20b641d5c.tar.bz2 ingen-981c7950a6f5fc9f22decaee261556d20b641d5c.zip |
Make signals private with accessors, and localise dependency on sigc::signal.
git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@3258 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/client/SigClientInterface.hpp')
-rw-r--r-- | src/client/SigClientInterface.hpp | 47 |
1 files changed, 22 insertions, 25 deletions
diff --git a/src/client/SigClientInterface.hpp b/src/client/SigClientInterface.hpp index fc5201e1..7409688a 100644 --- a/src/client/SigClientInterface.hpp +++ b/src/client/SigClientInterface.hpp @@ -19,18 +19,17 @@ #define INGEN_CLIENT_SIGCLIENTINTERFACE_HPP #include <inttypes.h> -#include <sigc++/sigc++.h> #include "raul/Path.hpp" #include "ingen/ClientInterface.hpp" +#include "client/signal.hpp" namespace Ingen { namespace Client { /** A LibSigC++ signal emitting interface for clients to use. * - * This simply emits an sigc signal for every event (eg OSC message) coming from - * the engine. Use Store (which extends this) if you want a nice client-side - * model of the engine. + * This simply emits a signal for every event that comes from the engine. + * For a higher level model based view of the engine, use ClientStore. * * The signals here match the calls to ClientInterface exactly. See the * documentation for ClientInterface for meanings of signal parameters. @@ -43,26 +42,24 @@ public: Raul::URI uri() const { return "http://drobilla.net/ns/ingen#internal"; } - sigc::signal<void, int32_t> signal_response_ok; - sigc::signal<void, int32_t, std::string> signal_response_error; - sigc::signal<void> signal_bundle_begin; - sigc::signal<void> signal_bundle_end; - sigc::signal<void, std::string> signal_error; - sigc::signal<void, Raul::Path, uint32_t> signal_new_patch; - sigc::signal<void, Raul::Path, Raul::URI, uint32_t, bool> signal_new_port; - sigc::signal<void, Raul::URI, Resource::Properties, - Resource::Graph> signal_put; - sigc::signal<void, Raul::URI, Resource::Properties, - Resource::Properties> signal_delta; - sigc::signal<void, Raul::Path, Raul::Path> signal_object_moved; - sigc::signal<void, Raul::URI> signal_object_deleted; - sigc::signal<void, Raul::Path, Raul::Path> signal_connection; - sigc::signal<void, Raul::URI, Raul::URI> signal_disconnection; - sigc::signal<void, Raul::Path, Raul::Path> signal_disconnect_all; - sigc::signal<void, Raul::URI, Raul::URI, Raul::Atom> signal_variable_change; - sigc::signal<void, Raul::URI, Raul::URI, Raul::Atom> signal_property_change; - sigc::signal<void, Raul::Path, Raul::Atom> signal_port_value; - sigc::signal<void, Raul::Path> signal_activity; + INGEN_SIGNAL(response_ok, void, int32_t) + INGEN_SIGNAL(response_error, void, int32_t, std::string) + INGEN_SIGNAL(bundle_begin, void) + INGEN_SIGNAL(bundle_end, void) + INGEN_SIGNAL(error, void, std::string) + INGEN_SIGNAL(new_patch, void, Raul::Path, uint32_t) + INGEN_SIGNAL(new_port, void, Raul::Path, Raul::URI, uint32_t, bool) + INGEN_SIGNAL(put, void, Raul::URI, Resource::Properties, Resource::Graph) + INGEN_SIGNAL(delta, void, Raul::URI, Resource::Properties, Resource::Properties) + INGEN_SIGNAL(object_moved, void, Raul::Path, Raul::Path) + INGEN_SIGNAL(object_deleted, void, Raul::URI) + INGEN_SIGNAL(connection, void, Raul::Path, Raul::Path) + INGEN_SIGNAL(disconnection, void, Raul::URI, Raul::URI) + INGEN_SIGNAL(disconnect_all, void, Raul::Path, Raul::Path) + INGEN_SIGNAL(variable_change, void, Raul::URI, Raul::URI, Raul::Atom) + INGEN_SIGNAL(property_change, void, Raul::URI, Raul::URI, Raul::Atom) + INGEN_SIGNAL(port_value, void, Raul::Path, Raul::Atom) + INGEN_SIGNAL(activity, void, Raul::Path) /** Fire pending signals. Only does anything on derived classes (that may queue) */ virtual bool emit_signals() { return false; } @@ -71,7 +68,7 @@ protected: // ClientInterface hooks that fire the above signals -#define EMIT(name, ...) { signal_ ## name (__VA_ARGS__); } +#define EMIT(name, ...) { _signal_ ## name (__VA_ARGS__); } void bundle_begin() { EMIT(bundle_begin); } |