Ingen  0.5.1
Public Types | Public Member Functions | Friends | List of all members
Ingen::Client::PortModel Class Reference

Model of a port. More...

#include <PortModel.hpp>

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

Public Types

enum  Direction {
  INPUT,
  OUTPUT
}
 
- Public Types inherited from Ingen::Node
enum  GraphType {
  GRAPH,
  BLOCK,
  PORT
}
 
typedef std::pair< const Node *, const Node * > ArcsKey
 
typedef std::map< ArcsKey, SPtr< Arc > > Arcs
 
- Public Types inherited from Ingen::Resource
enum  Graph {
  DEFAULT,
  EXTERNAL,
  INTERNAL
}
 

Public Member Functions

GraphType graph_type () const
 
bool supports (const URIs::Quark &value_type) const
 
uint32_t index () const
 
const Atomvalue () const
 
bool connected () const
 
bool is_input () const
 
bool is_output () const
 
bool port_property (const URIs::Quark &uri) const
 
bool is_logarithmic () const
 
bool is_enumeration () const
 
bool is_integer () const
 
bool is_toggle () const
 
bool is_numeric () const
 
bool is_uri () const
 
bool operator== (const PortModel &pm) const
 
void on_property (const Raul::URI &uri, const Atom &value)
 Hook called whenever a property is added. More...
 
 INGEN_SIGNAL (value_changed, void, const Atom &)
 
 INGEN_SIGNAL (voice_changed, void, uint32_t, const Atom &)
 
 INGEN_SIGNAL (activity, void, const Atom &)
 
 INGEN_SIGNAL (connection, void, SPtr< PortModel >)
 
 INGEN_SIGNAL (disconnection, void, SPtr< PortModel >)
 
- Public Member Functions inherited from Ingen::Client::ObjectModel
bool is_a (const URIs::Quark &type) const
 
const Atomget_property (const Raul::URI &key) const
 Get a single property value. More...
 
void on_property_removed (const Raul::URI &uri, const Atom &value)
 Hook called whenever a property value is removed. More...
 
const Raul::Path & path () const
 
const Raul::Symbol & symbol () const
 
SPtr< ObjectModelparent () const
 
bool polyphonic () const
 
Nodegraph_parent () const
 
 INGEN_SIGNAL (new_child, void, SPtr< ObjectModel >)
 
 INGEN_SIGNAL (removed_child, void, SPtr< ObjectModel >)
 
 INGEN_SIGNAL (property, void, const Raul::URI &, const Atom &)
 
 INGEN_SIGNAL (property_removed, void, const Raul::URI &, const Atom &)
 
 INGEN_SIGNAL (destroyed, void)
 
 INGEN_SIGNAL (moved, void)
 
- Public Member Functions inherited from Ingen::Node
Arcs & arcs ()
 
const Arcs & arcs () const
 
virtual uint32_t num_ports () const
 
virtual Nodeport (uint32_t index) const
 
virtual const Resourceplugin () const
 
virtual LilvInstance * instance ()
 
virtual bool save_state (const std::string &dir) const
 
Raul::URI base_uri () const
 
- Public Member Functions inherited from Ingen::Resource
 Resource (const URIs &uris, const Raul::URI &uri)
 
Resourceoperator= (const Resource &rhs)
 
virtual const Atomset_property (const Raul::URI &uri, const Atom &value, Graph ctx=Graph::DEFAULT)
 Set (replace) a property value. More...
 
virtual const Atomset_property (const Raul::URI &uri, const URIs::Quark &value, Graph ctx=Graph::DEFAULT)
 Set (replace) a property value. More...
 
virtual bool add_property (const Raul::URI &uri, const Atom &value, Graph ctx=Graph::DEFAULT)
 Add a property value. More...
 
virtual void remove_property (const Raul::URI &uri, const Atom &value)
 Remove a property. More...
 
virtual void remove_property (const Raul::URI &uri, const URIs::Quark &value)
 Remove a property. More...
 
virtual bool has_property (const Raul::URI &uri, const Atom &value) const
 Return true iff a property is set with a specific value. More...
 
virtual bool has_property (const Raul::URI &uri, const URIs::Quark &value) const
 Return true iff a property is set with a specific value. More...
 
void set_properties (const Properties &p)
 Set (replace) several properties at once. More...
 
void add_properties (const Properties &p)
 Add several properties at once. More...
 
void remove_properties (const Properties &p)
 Remove several properties at once. More...
 
virtual void set_uri (const Raul::URI &uri)
 
Properties properties (Resource::Graph ctx) const
 Get all the properties with a given context. More...
 
const URIsuris () const
 
const Raul::URI & uri () const
 
const Propertiesproperties () const
 
Propertiesproperties ()
 

Friends

class ClientStore
 

Additional Inherited Members

- Static Public Member Functions inherited from Ingen::Node
static Raul::URI main_uri ()
 
static bool uri_is_path (const Raul::URI &uri)
 
static Raul::Path uri_to_path (const Raul::URI &uri)
 
static Raul::URI path_to_uri (const Raul::Path &path)
 
- Static Public Member Functions inherited from Ingen::Resource
static Raul::URI graph_to_uri (Graph g)
 
static Graph uri_to_graph (const char *uri)
 
static bool type (const URIs &uris, const Properties &properties, bool &graph, bool &block, bool &port, bool &is_output)
 Get the ingen type from a set of Properties. More...
 
- Protected Member Functions inherited from Ingen::Client::ObjectModel
 ObjectModel (URIs &uris, const Raul::Path &path)
 
 ObjectModel (const ObjectModel &copy)
 
virtual void set_path (const Raul::Path &p)
 
virtual void set_parent (SPtr< ObjectModel > p)
 
- Protected Member Functions inherited from Ingen::Node
 Node (const URIs &uris, const Raul::Path &path)
 
- Protected Member Functions inherited from Ingen::Resource
const Atomset_property (const Raul::URI &uri, const Atom &value) const
 
- Protected Attributes inherited from Ingen::Client::ObjectModel
SPtr< ObjectModel_parent
 
- Protected Attributes inherited from Ingen::Node
Arcs _arcs
 Graphs only.
 
- Protected Attributes inherited from Ingen::Resource
const URIs_uris
 

Detailed Description

Model of a port.

Member Function Documentation

§ on_property()

void Ingen::Client::PortModel::on_property ( const Raul::URI &  uri,
const Atom value 
)
virtual

Hook called whenever a property is added.

This can be used by derived classes to implement special behaviour for particular properties (e.g. ingen:value for ports).

Reimplemented from Ingen::Client::ObjectModel.

References Ingen::Client::ObjectModel::get_property(), Ingen::Resource::has_property(), Ingen::Client::ObjectModel::on_property(), Ingen::Resource::properties(), and Ingen::Client::ObjectModel::set().


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