dxd - dynax driver framework 2.7.0d222
cross platform open source driver development framework
Loading...
Searching...
No Matches
cf::_preference Class Reference

persistant storarage base class - do not use directly! use cf::preference More...

#include <cf_preference.h>

Inheritance diagram for cf::_preference:
Collaboration diagram for cf::_preference:

Classes

struct  property

Public Member Functions

 _preference (::CFStringRef application=::kCFPreferencesCurrentApplication, ::CFStringRef user=::kCFPreferencesCurrentUser, ::CFStringRef host=::kCFPreferencesAnyHost)
 _preference (const char *application)
 catch (...)
 catch (...)
DX_PRAGMA_IGNORE_RETURN_VALUE_BEGIN catch (const dx::exception &__dx_exception)
DX_PRAGMA_IGNORE_RETURN_VALUE_BEGIN catch (const dx::exception &__dx_exception)
 catch (const std::exception &__std_exception)
 catch (const std::exception &__std_exception)
 dx_catchall_rethrow () template< typename self_t > static void assign_property(const self_t &self
template<typename container_t, typename = typename std::enable_if< dx::is_string_container_v<container_t>, container_t>::type>
 operator container_t () const try
 position-only: self's own child names, as any string container.
size_t size () const try
 self's own immediate child count.
void synchronize () noexcept

Static Public Member Functions

static self_t void assign (const self_t &self, const value_t &value) try
static self_t container_t children (const self_t &self) try
::CFPropertyListRef ::CFPropertyListRef static self_t bool fetch (const self_t &self, value_t &value) try
static bool nested (const self_t &self) try
static ::CFPropertyListRef property_list (const self_t &self) try

Public Attributes

::CFPropertyListRef ::CFPropertyListRef baseline
std::string key
::CFPropertyListRef value

Protected Member Functions

 _preference (const _preference &preference, const std::string &key)
 catch (...)
 catch (...)
 catch (...)
 catch (...)
 catch (...)
DX_PRAGMA_IGNORE_RETURN_VALUE_BEGIN catch (const dx::exception &__dx_exception)
DX_PRAGMA_IGNORE_RETURN_VALUE_BEGIN catch (const dx::exception &__dx_exception)
DX_PRAGMA_IGNORE_RETURN_VALUE_BEGIN catch (const dx::exception &__dx_exception)
DX_PRAGMA_IGNORE_RETURN_VALUE_BEGIN catch (const dx::exception &__dx_exception)
DX_PRAGMA_IGNORE_RETURN_VALUE_BEGIN catch (const dx::exception &__dx_exception)
 catch (const std::exception &__std_exception)
 catch (const std::exception &__std_exception)
 catch (const std::exception &__std_exception)
 catch (const std::exception &__std_exception)
 catch (const std::exception &__std_exception)
DX_PRAGMA_IGNORE_RETURN_VALUE_END bool container () const
DX_PRAGMA_IGNORE_RETURN_VALUE_END void erase () noexcept
DX_PRAGMA_IGNORE_RETURN_VALUE_END operator array<>::dx_container () const try
 operator bool () const noexcept
DX_PRAGMA_IGNORE_RETURN_VALUE_END::CFPropertyListRef operator() (::CFPropertyListRef dflt) const try
DX_PRAGMA_IGNORE_RETURN_VALUE_END operator::CFArrayRef () const try
 +1: this key's own dictionary keys, or (key empty) the whole domain's top-level keys.
 operator::CFPropertyListRef () const try
void operator= (::CFPropertyListRef value) try
void operator= (const _preference &preference) noexcept
 ~_preference ()

Friends

class tree< _preference >

Detailed Description

persistant storarage base class - do not use directly! use cf::preference

Implements cf::tree's 10 position-only primitives (cf_tree.h) over CFPreferences - operating on this key alone (application/user/host, one bare CFPreferences key, empty meaning the whole domain), 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.

Constructor & Destructor Documentation

◆ _preference() [1/3]

cf::_preference::_preference ( const _preference & preference,
const std::string & key )
inlineprotected

cheap: no I/O at all, just extends identity with a bare child name - this is what dx::key_value_tree::operator[] builds on.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ~_preference()

cf::_preference::~_preference ( )
inlineprotected
Here is the call graph for this function:

◆ _preference() [2/3]

cf::_preference::_preference ( ::CFStringRef application = ::kCFPreferencesCurrentApplication,
::CFStringRef user = ::kCFPreferencesCurrentUser,
::CFStringRef host = ::kCFPreferencesAnyHost )
inline

◆ _preference() [3/3]

cf::_preference::_preference ( const char * application)
inline
Here is the call graph for this function:

Member Function Documentation

◆ assign()

self_t void cf::tree< _preference >::assign ( const self_t & self,
const value_t & value )
inlinestaticinherited

◆ catch() [1/21]

cf::_preference::catch ( ...)
inlineprotected

◆ catch() [2/21]

cf::_preference::catch ( ...)
inline

◆ catch() [3/21]

cf::_preference::catch ( ...)
inline

◆ catch() [4/21]

cf::_preference::catch ( ...)
inlineprotected

◆ catch() [5/21]

cf::_preference::catch ( ...)
inlineprotected

◆ catch() [6/21]

cf::_preference::catch ( ...)
inlineprotected

◆ catch() [7/21]

cf::_preference::catch ( ...)
inlineprotected

◆ catch() [8/21]

DX_PRAGMA_IGNORE_RETURN_VALUE_BEGIN cf::_preference::catch ( const dx::exception & __dx_exception)
inlineprotected

◆ catch() [9/21]

DX_PRAGMA_IGNORE_RETURN_VALUE_BEGIN cf::_preference::catch ( const dx::exception & __dx_exception)
inline

◆ catch() [10/21]

DX_PRAGMA_IGNORE_RETURN_VALUE_BEGIN cf::_preference::catch ( const dx::exception & __dx_exception)
inline

◆ catch() [11/21]

DX_PRAGMA_IGNORE_RETURN_VALUE_BEGIN cf::_preference::catch ( const dx::exception & __dx_exception)
inlineprotected

◆ catch() [12/21]

DX_PRAGMA_IGNORE_RETURN_VALUE_BEGIN cf::_preference::catch ( const dx::exception & __dx_exception)
inlineprotected

◆ catch() [13/21]

DX_PRAGMA_IGNORE_RETURN_VALUE_BEGIN cf::_preference::catch ( const dx::exception & __dx_exception)
inlineprotected

◆ catch() [14/21]

DX_PRAGMA_IGNORE_RETURN_VALUE_BEGIN cf::_preference::catch ( const dx::exception & __dx_exception)
inlineprotected

◆ catch() [15/21]

cf::_preference::catch ( const std::exception & __std_exception)
inlineprotected

◆ catch() [16/21]

cf::_preference::catch ( const std::exception & __std_exception)
inline

◆ catch() [17/21]

cf::_preference::catch ( const std::exception & __std_exception)
inline

◆ catch() [18/21]

cf::_preference::catch ( const std::exception & __std_exception)
inlineprotected

◆ catch() [19/21]

cf::_preference::catch ( const std::exception & __std_exception)
inlineprotected

◆ catch() [20/21]

cf::_preference::catch ( const std::exception & __std_exception)
inlineprotected

◆ catch() [21/21]

cf::_preference::catch ( const std::exception & __std_exception)
inlineprotected

◆ children()

self_t container_t cf::tree< _preference >::children ( const self_t & self)
inlinestaticinherited

◆ container()

DX_PRAGMA_IGNORE_RETURN_VALUE_END bool cf::_preference::container ( ) const
inlineprotected
Here is the call graph for this function:
Here is the caller graph for this function:

◆ dx_catchall_rethrow()

cf::tree< _preference >::dx_catchall_rethrow ( ) const &
inherited

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.

◆ erase()

DX_PRAGMA_IGNORE_RETURN_VALUE_END void cf::_preference::erase ( )
inlineprotectednoexcept
Here is the call graph for this function:
Here is the caller graph for this function:

◆ fetch()

::CFPropertyListRef ::CFPropertyListRef static self_t bool cf::tree< _preference >::fetch ( const self_t & self,
value_t & value )
inlinestaticinherited

◆ nested()

bool cf::tree< _preference >::nested ( const self_t & self)
inlinestaticinherited

◆ operator array<>::dx_container()

DX_PRAGMA_IGNORE_RETURN_VALUE_END cf::_preference::operator array<>::dx_container ( ) const
inlineprotected

same enumeration as operator ::CFArrayRef(), as the friendlier vector-of-cf::type<> container.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator bool()

cf::_preference::operator bool ( ) const
inlineprotectednoexcept

◆ operator container_t()

template<typename container_t, typename = typename std::enable_if< dx::is_string_container_v<container_t>, container_t>::type>
cf::_preference::operator container_t ( ) const
inline

position-only: self's own child names, as any string container.

◆ operator()()

DX_PRAGMA_IGNORE_RETURN_VALUE_END::CFPropertyListRef cf::_preference::operator() ( ::CFPropertyListRef dflt) const
inlineprotected
Here is the call graph for this function:

◆ operator::CFArrayRef()

DX_PRAGMA_IGNORE_RETURN_VALUE_END cf::_preference::operator::CFArrayRef ( ) const
inlineprotected

+1: this key's own dictionary keys, or (key empty) the whole domain's top-level keys.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator::CFPropertyListRef()

cf::_preference::operator::CFPropertyListRef ( ) const
inlineprotected

position-only: this key alone (empty means the whole domain) - +1, never sees the parent chain (see contract note above).

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator=() [1/2]

void cf::_preference::operator= ( ::CFPropertyListRef value)
inlineprotected
Here is the call graph for this function:

◆ operator=() [2/2]

void cf::_preference::operator= ( const _preference & preference)
inlineprotectednoexcept
Here is the call graph for this function:

◆ property_list()

::CFPropertyListRef cf::tree< _preference >::property_list ( const self_t & self)
inlinestaticinherited
Here is the caller graph for this function:

◆ size()

size_t cf::_preference::size ( ) const
inline

self's own immediate child count.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ synchronize()

void cf::_preference::synchronize ( )
inlinenoexcept
Here is the caller graph for this function:

◆ tree< _preference >

friend class tree< _preference >
friend

Member Data Documentation

◆ baseline

◆ key

std::string cf::_preference::key

◆ value


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

(c) copyright 2009 dynamic acoustics e.U. generated on

a closed source license may be obtained by requesting a written permission from dynamic acoustics e.U.
however - governmental use generally and military use especially is strictly prohibited though.