12#ifndef OPENVPN_APPLE_SCDYNSTORE_H
13#define OPENVPN_APPLE_SCDYNSTORE_H
15#include <SystemConfiguration/SCDynamicStore.h>
20OPENVPN_CF_WRAP(DynamicStore, dynamic_store_cast, SCDynamicStoreRef, SCDynamicStoreGetTypeID)
22template <
typename RET,
typename KEY>
25 String keystr =
string(key);
26 return RET(RET::cast(SCDynamicStoreCopyValue(ds(), keystr())));
29template <
typename KEY>
32 Dict
dict = DynamicStoreCopy<Dict>(ds, key);
#define OPENVPN_CF_WRAP(cls, castmeth, cftype, idmeth)
Dict DynamicStoreCopyDict(const DynamicStore &ds, const KEY &key)
String string(const char *str)
Dict dict(const void **keys, const void **values, CFIndex numValues)
RET DynamicStoreCopy(const DynamicStore &ds, const KEY &key)