summaryrefslogtreecommitdiffstats
path: root/src/server/ClientBroadcaster.hpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2012-03-16 03:15:41 +0000
committerDavid Robillard <d@drobilla.net>2012-03-16 03:15:41 +0000
commit119468f621a59d86da10bedf75c4427b70f9d370 (patch)
treef15ea3f345d43b37d492096876c483543fcc1426 /src/server/ClientBroadcaster.hpp
parent0b93e39af34d3af361f35d510224fda4fda56071 (diff)
downloadingen-119468f621a59d86da10bedf75c4427b70f9d370.tar.gz
ingen-119468f621a59d86da10bedf75c4427b70f9d370.tar.bz2
ingen-119468f621a59d86da10bedf75c4427b70f9d370.zip
Remove activity from interface and use set_property() instead.
Move client registration stuff to Engine and remove corresponding events. Simply response ID interface. git-svn-id: http://svn.drobilla.net/lad/trunk/ingen@4066 a436a847-0d15-0410-975c-d299462d15a1
Diffstat (limited to 'src/server/ClientBroadcaster.hpp')
-rw-r--r--src/server/ClientBroadcaster.hpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/server/ClientBroadcaster.hpp b/src/server/ClientBroadcaster.hpp
index c9c56d56..b004433b 100644
--- a/src/server/ClientBroadcaster.hpp
+++ b/src/server/ClientBroadcaster.hpp
@@ -22,6 +22,8 @@
#include <map>
#include <string>
+#include <glibmm/thread.h>
+
#include "raul/SharedPtr.hpp"
#include "ingen/ClientInterface.hpp"
@@ -61,6 +63,7 @@ public:
void send_object(const GraphObjectImpl* p, bool recursive);
#define BROADCAST(msg, ...) \
+ Glib::Mutex::Lock lock(_clients_mutex); \
for (Clients::const_iterator i = _clients.begin(); i != _clients.end(); ++i) \
(*i).second->msg(__VA_ARGS__)
@@ -121,7 +124,9 @@ public:
private:
typedef std::map<Raul::URI, ClientInterface*> Clients;
- Clients _clients;
+
+ Glib::Mutex _clients_mutex;
+ Clients _clients;
};
} // namespace Server