Ingen  0.5.1
Public Member Functions | List of all members
Ingen::Client::ThreadedSigClientInterface Class Reference

A LibSigC++ signal emitting interface for clients to use. More...

#include <ThreadedSigClientInterface.hpp>

+ Inheritance diagram for Ingen::Client::ThreadedSigClientInterface:
+ Collaboration diagram for Ingen::Client::ThreadedSigClientInterface:

Public Member Functions

 ThreadedSigClientInterface (uint32_t queue_size)
 
virtual Raul::URI uri () const
 
void bundle_begin ()
 Begin a transaction. More...
 
void bundle_end ()
 End a transaction. More...
 
void response (int32_t id, Status status, const std::string &subject)
 
void error (const std::string &msg)
 
void put (const Raul::URI &path, const Resource::Properties &properties, Resource::Graph ctx=Resource::Graph::DEFAULT)
 
void delta (const Raul::URI &path, const Resource::Properties &remove, const Resource::Properties &add)
 
void connect (const Raul::Path &tail, const Raul::Path &head)
 
void del (const Raul::URI &uri)
 
void move (const Raul::Path &old_path, const Raul::Path &new_path)
 
void copy (const Raul::URI &old_uri, const Raul::URI &new_uri)
 
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 &key, const Atom &value)
 
bool emit_signals ()
 Process all queued events - Called from GTK thread to emit signals. More...
 
- Public Member Functions inherited from Ingen::Interface
virtual SPtr< Interfacerespondee () const
 
virtual void set_respondee (SPtr< Interface > respondee)
 

Additional Inherited Members

- Protected Member Functions inherited from Ingen::Client::SigClientInterface
void undo ()
 
void redo ()
 
void set_response_id (int32_t id)
 Set the ID to use to respond to the next message. More...
 
void get (const Raul::URI &uri)
 

Detailed Description

A LibSigC++ signal emitting interface for clients to use.

This emits signals (possibly) in a different thread than the ClientInterface functions are called. It must be explicitly driven with the emit_signals() function, which fires all enqueued signals up until the present. You can use this in a GTK idle callback for receiving thread safe engine signals.

Member Function Documentation

§ bundle_begin()

void Ingen::Client::ThreadedSigClientInterface::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.

Reimplemented from Ingen::Client::SigClientInterface.

§ bundle_end()

void Ingen::Client::ThreadedSigClientInterface::bundle_end ( )
inlinevirtual

End a transaction.

Reimplemented from Ingen::Client::SigClientInterface.

§ emit_signals()

bool Ingen::Client::ThreadedSigClientInterface::emit_signals ( )
inlinevirtual

Process all queued events - Called from GTK thread to emit signals.

Reimplemented from Ingen::Client::SigClientInterface.


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