| //===-- CFCMutableDictionary.h ----------------------------------*- C++ -*-===// |
| // |
| // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. |
| // See https://llvm.org/LICENSE.txt for license information. |
| // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
| // |
| //===----------------------------------------------------------------------===// |
| |
| #ifndef CoreFoundationCPP_CFMutableDictionary_h_ |
| #define CoreFoundationCPP_CFMutableDictionary_h_ |
| |
| #include "CFCReleaser.h" |
| |
| class CFCMutableDictionary : public CFCReleaser<CFMutableDictionaryRef> { |
| public: |
| // Constructors and Destructors |
| CFCMutableDictionary(CFMutableDictionaryRef s = NULL); |
| CFCMutableDictionary(const CFCMutableDictionary &rhs); |
| virtual ~CFCMutableDictionary(); |
| |
| // Operators |
| const CFCMutableDictionary &operator=(const CFCMutableDictionary &rhs); |
| |
| CFIndex GetCount() const; |
| CFIndex GetCountOfKey(const void *value) const; |
| CFIndex GetCountOfValue(const void *value) const; |
| void GetKeysAndValues(const void **keys, const void **values) const; |
| const void *GetValue(const void *key) const; |
| Boolean GetValueIfPresent(const void *key, const void **value_handle) const; |
| bool AddValue(CFStringRef key, const void *value, bool can_create = false); |
| bool SetValue(CFStringRef key, const void *value, bool can_create = false); |
| bool AddValueSInt8(CFStringRef key, int8_t value, bool can_create = false); |
| bool SetValueSInt8(CFStringRef key, int8_t value, bool can_create = false); |
| bool AddValueSInt16(CFStringRef key, int16_t value, bool can_create = false); |
| bool SetValueSInt16(CFStringRef key, int16_t value, bool can_create = false); |
| bool AddValueSInt32(CFStringRef key, int32_t value, bool can_create = false); |
| bool SetValueSInt32(CFStringRef key, int32_t value, bool can_create = false); |
| bool AddValueSInt64(CFStringRef key, int64_t value, bool can_create = false); |
| bool SetValueSInt64(CFStringRef key, int64_t value, bool can_create = false); |
| bool AddValueUInt8(CFStringRef key, uint8_t value, bool can_create = false); |
| bool SetValueUInt8(CFStringRef key, uint8_t value, bool can_create = false); |
| bool AddValueUInt16(CFStringRef key, uint16_t value, bool can_create = false); |
| bool SetValueUInt16(CFStringRef key, uint16_t value, bool can_create = false); |
| bool AddValueUInt32(CFStringRef key, uint32_t value, bool can_create = false); |
| bool SetValueUInt32(CFStringRef key, uint32_t value, bool can_create = false); |
| bool AddValueUInt64(CFStringRef key, uint64_t value, bool can_create = false); |
| bool SetValueUInt64(CFStringRef key, uint64_t value, bool can_create = false); |
| bool AddValueDouble(CFStringRef key, double value, bool can_create = false); |
| bool SetValueDouble(CFStringRef key, double value, bool can_create = false); |
| bool AddValueCString(CFStringRef key, const char *cstr, |
| bool can_create = false); |
| bool SetValueCString(CFStringRef key, const char *cstr, |
| bool can_create = false); |
| void RemoveValue(const void *value); |
| void ReplaceValue(const void *key, const void *value); |
| void RemoveAllValues(); |
| CFMutableDictionaryRef Dictionary(bool can_create); |
| |
| protected: |
| // Classes that inherit from CFCMutableDictionary can see and modify these |
| |
| private: |
| // For CFCMutableDictionary only |
| }; |
| |
| #endif // CoreFoundationCPP_CFMutableDictionary_h_ |