Anklang-0.3.0-1416-gfa8ce8d2 anklang-0.3.0-1416-gfa8ce8d2
ASE — Anklang Sound Engine (C++)

« « « Anklang Documentation
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
Ase::GadgetImpl Class Reference

Base type for classes that have a Property. More...

#include "gadget.hh"

Inheritance diagram for Ase::GadgetImpl:
[legend]

Public Types

using MemberAccessF = std::function< bool(GadgetImpl *, const Value *, Value *)>
 
using MemberInfosP = const StringS &(*)()
 
using MemberClassT = bool(*)(const SharedBase &)
 

Public Member Functions

void _set_parent (GadgetImpl *parent) override
 Assign parent container.
 
GadgetImpl * _parent () const override
 Retrieve parent container.
 
String type_nick () const override
 
PropertyS access_properties () override
 Retrieve handles for all properties.
 
bool set_data (const String &key, const Value &v) override
 Assign session data, prefix ephemerals with '_'.
 
Value get_data (const String &key) const override
 Retrieve session data.
 
void remove_self () override
 Remove self from parent container.
 
template<class O , class M >
void _register_parameter (O *, M *, const Param::ExtraVals &) const
 
- Public Member Functions inherited from Ase::EmittableImpl
ASE_USE_RESULT Connection on_event (const String &eventselector, const EventHandler &eventhandler) override
 
void emit_event (const String &type, const String &detail, const ValueR fields={}) override
 
void emit_notify (const String &detail) override
 Emit notify:detail, multiple notifications maybe coalesced if a CoalesceNotifies instance exists.
 
- Public Member Functions inherited from Ase::Emittable
void js_trigger (const String &eventselector, JsTrigger callback)
 
- Public Member Functions inherited from std::enable_shared_from_this< SharedBase >
T enable_shared_from_this (T... args)
 
T operator= (T... args)
 
T shared_from_this (T... args)
 
T weak_from_this (T... args)
 
T ~enable_shared_from_this (T... args)
 
- Public Member Functions inherited from Ase::Gadget
ProjectImpl * _project () const
 Find Project in parent ancestry.
 
virtual String name () const =0
 
virtual void name (const std::string &n)=0
 
virtual StringS list_properties ()
 List all property identifiers.
 
virtual PropertyP access_property (String ident)
 Retrieve handle for a Property.
 
Value get_value (String ident)
 Get native property value.
 
bool set_value (String ident, const Value &v)
 Set native property value.
 
virtual StringS read_only_properties () const
 List x()/x (v) properties that this object can't change, their setters ignore the value or warn.
 

Protected Types

enum  : uint64_t { GADGET_DESTROYED , DEVICE_ACTIVE , MASTER_TRACK }
 

Protected Member Functions

uint64_t gadget_flags () const
 
uint64_t gadget_flags (uint64_t setbits, uint64_t mask=~uint64_t(0))
 
virtual void create_properties ()
 

Static Protected Member Functions

static String canonify_key (const String &input)
 

Protected Attributes

PropertyImplS props_
 

Additional Inherited Members

- Public Attributes inherited from Ase::Emittable
const EventHandler & eventhandler
 

Detailed Description

Base type for classes that have a Property.

Definition at line 11 of file gadget.hh.

Member Typedef Documentation

◆ MemberAccessF

Definition at line 32 of file gadget.hh.

◆ MemberClassT

using Ase::GadgetImpl::MemberClassT = bool (*) (const SharedBase&)

Definition at line 34 of file gadget.hh.

◆ MemberInfosP

using Ase::GadgetImpl::MemberInfosP = const StringS& (*) ()

Definition at line 33 of file gadget.hh.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum : uint64_t
protected

Definition at line 17 of file gadget.hh.

Constructor & Destructor Documentation

◆ ~GadgetImpl()

Ase::GadgetImpl::~GadgetImpl ( )
protectedvirtual

Definition at line 17 of file gadget.cc.

Member Function Documentation

◆ _parent()

GadgetImpl * Ase::GadgetImpl::_parent ( ) const
overridevirtual

Retrieve parent container.

Implements Ase::Gadget.

Definition at line 25 of file gadget.hh.

◆ _register_parameter()

template<class O , class M >
void Ase::GadgetImpl::_register_parameter ( O *  obj,
M *  memb,
const Param::ExtraVals &  ev 
) const

Definition at line 42 of file gadget.hh.

◆ _set_parent()

void Ase::GadgetImpl::_set_parent ( GadgetImpl *  parent)
overridevirtual

Assign parent container.

Implements Ase::Gadget.

Definition at line 29 of file gadget.cc.

References assert_return.

◆ access_properties()

PropertyS Ase::GadgetImpl::access_properties ( )
overridevirtual

Retrieve handles for all properties.

Implements Ase::Gadget.

Definition at line 77 of file gadget.cc.

◆ canonify_key()

String Ase::GadgetImpl::canonify_key ( const String &  input)
staticprotected

Definition at line 39 of file gadget.cc.

◆ create_properties()

void Ase::GadgetImpl::create_properties ( )
protectedvirtual

Definition at line 202 of file gadget.cc.

◆ gadget_flags() [1/2]

uint64_t Ase::GadgetImpl::gadget_flags ( ) const
protected

Definition at line 18 of file gadget.hh.

◆ gadget_flags() [2/2]

uint64_t Ase::GadgetImpl::gadget_flags ( uint64_t  setbits,
uint64_t  mask = ~uint64_t (0) 
)
protected

Definition at line 21 of file gadget.cc.

◆ get_data()

Value Ase::GadgetImpl::get_data ( const String &  key) const
overridevirtual

Retrieve session data.

Implements Ase::Gadget.

Reimplemented in Ase::ServerImpl.

Definition at line 48 of file gadget.cc.

◆ remove_self()

void Ase::GadgetImpl::remove_self ( )
overridevirtual

Remove self from parent container.

Implements Ase::Gadget.

Reimplemented in Ase::PluginImpl, Ase::ProjectImpl, and Ase::TrackImpl.

Definition at line 86 of file gadget.cc.

Referenced by Ase::ClipImpl::remove_self(), Ase::PluginImpl::remove_self(), Ase::ProjectImpl::remove_self(), and Ase::TrackImpl::remove_self().

◆ set_data()

bool Ase::GadgetImpl::set_data ( const String &  key,
const Value &  v 
)
overridevirtual

Assign session data, prefix ephemerals with '_'.

Implements Ase::Gadget.

Reimplemented in Ase::ServerImpl.

Definition at line 55 of file gadget.cc.

References return_unless, and std::string::size().

◆ type_nick()

String Ase::GadgetImpl::type_nick ( ) const
overridevirtual

Implements Ase::Gadget.

Definition at line 65 of file gadget.cc.

Member Data Documentation

◆ props_

PropertyImplS Ase::GadgetImpl::props_
protected

Definition at line 16 of file gadget.hh.


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