|
dxd - dynax driver framework 3.0.1d223
cross platform open source driver development framework
|
persistant CoreAudio storarage base class - do not use directly! use coreaudio::server::preference More...
#include <dx_coreaudio_server.h>
Public Member Functions | |
| _preference (const ::AudioServerPlugInHostInterface *host=nullptr, ::CFStringRef key=nullptr) | |
| catch (...) | |
| template<typename container_t, typename = typename std::enable_if< dx::is_string_container_v<container_t>, container_t>::type> | |
| operator container_t () const | |
| position-only: self's own child names, as any string container. | |
| size_t | size () const |
| self's own immediate child count. | |
Static Public Member Functions | |
| static void | assign (const self_t &self, const value_t &value) |
| static void | assign_property (const self_t &self, ::CFPropertyListRef value, ::CFPropertyListRef baseline=nullptr) |
| static container_t | children (const self_t &self) |
| static constexpr bool | enabled () |
| static bool | fetch (const self_t &self, value_t &value) |
| static bool | nested (const self_t &self) |
| static ::CFPropertyListRef | property_list (const self_t &self) |
| static void | purge (const self_t &self) noexcept |
| static size_t | size (const self_t &self) |
Public Attributes | |
| std::string | key |
Protected Member Functions | |
| ::CFIndex | count () const noexcept |
| void | erase () |
| CFTypeID | id () noexcept |
| CFTypeID | id () noexcept |
| CFTypeID | id () noexcept |
| CFTypeID | id () noexcept |
| CFTypeID | id () noexcept |
| CFTypeID | id () noexcept |
| CFTypeID | id () noexcept |
| CFTypeID | id () noexcept |
| CFTypeID | id () noexcept |
| CFTypeID | id () noexcept |
| CFTypeID | id () noexcept |
| CFTypeID | id () noexcept |
| CFTypeID | id () noexcept |
| CFTypeID | id () noexcept |
| CFTypeID | id () noexcept |
| CFTypeID | id () noexcept |
| CFTypeID | id () noexcept |
| CFTypeID | id () noexcept |
| CFTypeID | id () noexcept |
| CFTypeID | id () noexcept |
| CFTypeID | id () noexcept |
| CFTypeID | id () noexcept |
| CFTypeID | id () noexcept |
| reference & | initialize (::CFPropertyListRef cf_object, bool retain=true) |
| operator bool () const | |
| operator type<> () const noexcept | |
| bool | operator!= (::CFPropertyListRef cf_object) const noexcept |
| operator::CFTypeID () const noexcept | |
| operator::CFTypeRef () const noexcept | |
| bool | operator== (::CFPropertyListRef cf_object) const noexcept |
| virtual bool | operator== (::CFTypeID cf_type) const noexcept |
| reference & | release () noexcept |
| const reference & | retain () const noexcept |
Static Protected Member Functions | |
| ::CFTypeID | id () noexcept |
Protected Attributes | |
| ::CFPropertyListRef | cf_object |
Friends | |
| class | cf::tree< _preference > |
persistant CoreAudio storarage base class - do not use directly! use coreaudio::server::preference
Due to CoreAudio persistant storage limitations this class does not support root key retrieval and excepts on such attempts, including checking for root container.
The value is cached @ the underlaying cf::reference<::CFPropertyListRef>.
Implements cf::tree's 10 position-only primitives (cf_tree.h) over AudioServerPlugInHostInterface's CopyFromStorage/WriteToStorage/ DeleteFromStorage - operating on this key alone, never the parent chain. cf::tree supplies the dx::key_value_tree<preference> contract (fetch/ assign/purge/nested) on top, by recursing through those primitives up to the true root. get()'s own dx_pass(host && key...) is what actually enforces this class' no-root-key limitation: property_list() (cf tree.h) reaches it only through operator bool()/operator ::CFPropertyListRef() below, so an empty key still excepts there instead of silently falling back to nullptr the way cf::_preference's root case does.
|
inline |
|
inlinestaticinherited |
|
inlinestaticinherited |
downward write-back mirroring property_list()'s upward read, creating ancestor dictionaries as needed. baseline is the parent value this write's own value was computed from (passed down from the caller's own property_list() read) - at the root, a mismatch against the current stored value means a concurrent writer raced this one, and dx::busy is raised so assign()/purge() retry against fresh state.
|
inlineinherited |
|
inlinestaticinherited |
|
inlinenoexceptinherited |
|
inlinestaticconstexprinherited |
mirrors fetch<>'s supported value_t set, for key_value_tree_enabled's SFINAE (dx_key_value_tree.h) - cf's own POD/bridging or CFPropertyListRef-constructible types only.
|
inlineprotected |
|
inlinestaticinherited |
value_t is a cf POD/bridging type (see enabled() below) or a foreign type convertible from a CF pointer (e.g. cf::dictionary<>, routed via the third branch below); returns false for an absent self, throwing only for a genuinely malformed stored value.
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
staticnoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlineinherited |
|
inlinestaticinherited |
|
inlineexplicitprotectedvirtual |
Reimplemented from cf::reference<::CFPropertyListRef >.
|
inline |
position-only: self's own child names, as any string container.
|
noexceptinherited |
|
inlinenoexceptinherited |
|
inlineexplicitnoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinevirtualnoexceptinherited |
|
inlinestaticinherited |
|
inlinestaticnoexceptinherited |
|
inlinenoexceptinherited |
|
inlinenoexceptinherited |
|
inlinestaticinherited |
|
inline |
self's own immediate child count.
|
friend |
|
protectedinherited |
| std::string dx::coreaudio::server::_preference::key |
| (c) copyright 2009 dynamic acoustics e.U. | generated on |