31 CFMutableDictionaryRef dict = get();
33 return ::CFDictionaryGetCount(dict);
40 CFMutableDictionaryRef dict = get();
42 return ::CFDictionaryGetCountOfKey(dict, key);
49 CFMutableDictionaryRef dict = get();
51 return ::CFDictionaryGetCountOfValue(dict, value);
56 const void **values)
const {
57 CFMutableDictionaryRef dict = get();
59 ::CFDictionaryGetKeysAndValues(dict, keys, values);
65 CFMutableDictionaryRef dict = get();
67 return ::CFDictionaryGetValue(dict, key);
73 const void **value_handle)
const {
74 CFMutableDictionaryRef dict = get();
76 return ::CFDictionaryGetValueIfPresent(dict, key, value_handle);
81 CFMutableDictionaryRef dict = get();
82 if (can_create && dict == NULL) {
83 dict = ::CFDictionaryCreateMutable(kCFAllocatorDefault, 0,
84 &kCFTypeDictionaryKeyCallBacks,
85 &kCFTypeDictionaryValueCallBacks);
93 CFMutableDictionaryRef dict =
Dictionary(can_create);
96 ::CFDictionaryAddValue(dict, key, value);
104 CFMutableDictionaryRef dict =
Dictionary(can_create);
107 ::CFDictionarySetValue(dict, key, value);
115 CFMutableDictionaryRef dict =
Dictionary(can_create);
118 ::CFNumberCreate(kCFAllocatorDefault, kCFNumberSInt8Type, &value));
119 if (cf_number.get()) {
121 ::CFDictionaryAddValue(dict, key, cf_number.get());
130 CFMutableDictionaryRef dict =
Dictionary(can_create);
133 ::CFNumberCreate(kCFAllocatorDefault, kCFNumberSInt8Type, &value));
134 if (cf_number.get()) {
136 ::CFDictionarySetValue(dict, key, cf_number.get());
145 CFMutableDictionaryRef dict =
Dictionary(can_create);
148 ::CFNumberCreate(kCFAllocatorDefault, kCFNumberSInt16Type, &value));
149 if (cf_number.get()) {
151 ::CFDictionaryAddValue(dict, key, cf_number.get());
160 CFMutableDictionaryRef dict =
Dictionary(can_create);
163 ::CFNumberCreate(kCFAllocatorDefault, kCFNumberSInt16Type, &value));
164 if (cf_number.get()) {
166 ::CFDictionarySetValue(dict, key, cf_number.get());
175 CFMutableDictionaryRef dict =
Dictionary(can_create);
178 ::CFNumberCreate(kCFAllocatorDefault, kCFNumberSInt32Type, &value));
179 if (cf_number.get()) {
181 ::CFDictionaryAddValue(dict, key, cf_number.get());
190 CFMutableDictionaryRef dict =
Dictionary(can_create);
193 ::CFNumberCreate(kCFAllocatorDefault, kCFNumberSInt32Type, &value));
194 if (cf_number.get()) {
196 ::CFDictionarySetValue(dict, key, cf_number.get());
205 CFMutableDictionaryRef dict =
Dictionary(can_create);
208 ::CFNumberCreate(kCFAllocatorDefault, kCFNumberSInt64Type, &value));
209 if (cf_number.get()) {
211 ::CFDictionaryAddValue(dict, key, cf_number.get());
220 CFMutableDictionaryRef dict =
Dictionary(can_create);
223 ::CFNumberCreate(kCFAllocatorDefault, kCFNumberSInt64Type, &value));
224 if (cf_number.get()) {
226 ::CFDictionarySetValue(dict, key, cf_number.get());
235 CFMutableDictionaryRef dict =
Dictionary(can_create);
239 int16_t sval = value;
241 ::CFNumberCreate(kCFAllocatorDefault, kCFNumberSInt16Type, &sval));
242 if (cf_number.get()) {
244 ::CFDictionaryAddValue(dict, key, cf_number.get());
253 CFMutableDictionaryRef dict =
Dictionary(can_create);
257 int16_t sval = value;
259 ::CFNumberCreate(kCFAllocatorDefault, kCFNumberSInt16Type, &sval));
260 if (cf_number.get()) {
262 ::CFDictionarySetValue(dict, key, cf_number.get());
271 CFMutableDictionaryRef dict =
Dictionary(can_create);
275 int32_t sval = value;
277 ::CFNumberCreate(kCFAllocatorDefault, kCFNumberSInt32Type, &sval));
278 if (cf_number.get()) {
280 ::CFDictionaryAddValue(dict, key, cf_number.get());
289 CFMutableDictionaryRef dict =
Dictionary(can_create);
293 int32_t sval = value;
295 ::CFNumberCreate(kCFAllocatorDefault, kCFNumberSInt32Type, &sval));
296 if (cf_number.get()) {
298 ::CFDictionarySetValue(dict, key, cf_number.get());
307 CFMutableDictionaryRef dict =
Dictionary(can_create);
311 int64_t sval = value;
313 ::CFNumberCreate(kCFAllocatorDefault, kCFNumberSInt64Type, &sval));
314 if (cf_number.get()) {
316 ::CFDictionaryAddValue(dict, key, cf_number.get());
325 CFMutableDictionaryRef dict =
Dictionary(can_create);
329 int64_t sval = value;
331 ::CFNumberCreate(kCFAllocatorDefault, kCFNumberSInt64Type, &sval));
332 if (cf_number.get()) {
334 ::CFDictionarySetValue(dict, key, cf_number.get());
343 CFMutableDictionaryRef dict =
Dictionary(can_create);
349 ::CFNumberCreate(kCFAllocatorDefault, kCFNumberSInt64Type, &value));
350 if (cf_number.get()) {
352 ::CFDictionaryAddValue(dict, key, cf_number.get());
361 CFMutableDictionaryRef dict =
Dictionary(can_create);
367 ::CFNumberCreate(kCFAllocatorDefault, kCFNumberSInt64Type, &value));
368 if (cf_number.get()) {
370 ::CFDictionarySetValue(dict, key, cf_number.get());
379 CFMutableDictionaryRef dict =
Dictionary(can_create);
385 ::CFNumberCreate(kCFAllocatorDefault, kCFNumberDoubleType, &value));
386 if (cf_number.get()) {
388 ::CFDictionaryAddValue(dict, key, cf_number.get());
397 CFMutableDictionaryRef dict =
Dictionary(can_create);
403 ::CFNumberCreate(kCFAllocatorDefault, kCFNumberDoubleType, &value));
404 if (cf_number.get()) {
406 ::CFDictionarySetValue(dict, key, cf_number.get());
415 CFMutableDictionaryRef dict =
Dictionary(can_create);
417 CFCString cf_str(cstr, kCFStringEncodingUTF8);
420 ::CFDictionaryAddValue(dict, key, cf_str.get());
429 CFMutableDictionaryRef dict =
Dictionary(can_create);
431 CFCString cf_str(cstr, kCFStringEncodingUTF8);
434 ::CFDictionarySetValue(dict, key, cf_str.get());
442 CFMutableDictionaryRef dict = get();
444 ::CFDictionaryRemoveAllValues(dict);
448 CFMutableDictionaryRef dict = get();
450 ::CFDictionaryRemoveValue(dict, value);
453 CFMutableDictionaryRef dict = get();
455 ::CFDictionaryReplaceValue(dict, key, value);