Ingen
0.5.1
|
Broadcaster for all clients. More...
#include <Broadcaster.hpp>
Classes | |
class | Transfer |
A handle that represents a transfer of possibly several changes. More... | |
Public Member Functions | |
void | register_client (SPtr< Interface > client) |
Register a client to receive messages over the notification band. | |
bool | unregister_client (SPtr< Interface > client) |
Remove a client from the list of registered clients. More... | |
void | set_broadcast (SPtr< Interface > client, bool broadcast) |
void | set_ignore_client (SPtr< Interface > client) |
Ignore a client when broadcasting. More... | |
void | clear_ignore_client () |
bool | must_broadcast () const |
Return true iff there are any clients with broadcasting enabled. More... | |
void | send_plugins (const BlockFactory::Plugins &plugin_list) |
void | send_plugins_to (Interface *, const BlockFactory::Plugins &plugin_list) |
void | bundle_begin () |
Begin a transaction. More... | |
void | bundle_end () |
End a transaction. More... | |
void | put (const Raul::URI &uri, const Resource::Properties &properties, Resource::Graph ctx=Resource::Graph::DEFAULT) |
void | delta (const Raul::URI &uri, const Resource::Properties &remove, const Resource::Properties &add) |
void | copy (const Raul::URI &old_uri, const Raul::URI &new_uri) |
void | move (const Raul::Path &old_path, const Raul::Path &new_path) |
void | del (const Raul::URI &uri) |
void | connect (const Raul::Path &tail, const Raul::Path &head) |
void | disconnect (const Raul::Path &tail, const Raul::Path &head) |
void | disconnect_all (const Raul::Path &graph, const Raul::Path &path) |
void | set_property (const Raul::URI &subject, const Raul::URI &predicate, const Atom &value) |
Raul::URI | uri () const |
void | undo () |
N/A. | |
void | redo () |
N/A. | |
void | set_response_id (int32_t id) |
N/A. | |
void | get (const Raul::URI &uri) |
N/A. | |
void | response (int32_t id, Status status, const std::string &subject) |
N/A. | |
void | error (const std::string &msg) |
![]() | |
virtual SPtr< Interface > | respondee () const |
virtual void | set_respondee (SPtr< Interface > respondee) |
Friends | |
class | Transfer |
Broadcaster for all clients.
This is an Interface that forwards all messages to all registered clients (for updating all clients on state changes in the engine).
bool Ingen::Server::Broadcaster::unregister_client | ( | SPtr< Interface > | client | ) |
Remove a client from the list of registered clients.
References Ingen::Interface::bundle_begin(), Ingen::Interface::bundle_end(), and Ingen::Resource::properties().
|
inline |
Ignore a client when broadcasting.
This is used to prevent feeding back updates to the client that initiated a property set in the first place.
|
inline |
Return true iff there are any clients with broadcasting enabled.
This is used in the audio thread to decide whether or not notifications should be calculated and emitted.
Referenced by Ingen::Server::RunContext::must_notify().
|
inlinevirtual |
Begin a transaction.
This does not guarantee strict atomicity, but the events in a bundle will be considered one operation, and they will all be undone at once.
Implements Ingen::Interface.
|
inlinevirtual |
End a transaction.
Implements Ingen::Interface.