Ingen  0.5.1
Classes | Public Member Functions | Friends | List of all members
Ingen::Server::Broadcaster Class Reference

Broadcaster for all clients. More...

#include <Broadcaster.hpp>

+ Inheritance diagram for Ingen::Server::Broadcaster:
+ Collaboration diagram for Ingen::Server::Broadcaster:

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)
 
- Public Member Functions inherited from Ingen::Interface
virtual SPtr< Interfacerespondee () const
 
virtual void set_respondee (SPtr< Interface > respondee)
 

Friends

class Transfer
 

Detailed Description

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).

Member Function Documentation

§ unregister_client()

bool Ingen::Server::Broadcaster::unregister_client ( SPtr< Interface client)

Remove a client from the list of registered clients.

Returns
true if client was found and removed.

References Ingen::Interface::bundle_begin(), Ingen::Interface::bundle_end(), and Ingen::Resource::properties().

§ set_ignore_client()

void Ingen::Server::Broadcaster::set_ignore_client ( SPtr< Interface client)
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.

§ must_broadcast()

bool Ingen::Server::Broadcaster::must_broadcast ( ) const
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().

§ bundle_begin()

void Ingen::Server::Broadcaster::bundle_begin ( )
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.

§ bundle_end()

void Ingen::Server::Broadcaster::bundle_end ( )
inlinevirtual

End a transaction.

Implements Ingen::Interface.


The documentation for this class was generated from the following files: