| //===-- 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 LLDB_SOURCE_HOST_MACOSX_CFCPP_CFCMUTABLEDICTIONARY_H | |
| #define LLDB_SOURCE_HOST_MACOSX_CFCPP_CFCMUTABLEDICTIONARY_H | |
| #include "CFCReleaser.h" | |
| class CFCMutableDictionary : public CFCReleaser<CFMutableDictionaryRef> { | |
| public: | |
| // Constructors and Destructors | |
| CFCMutableDictionary(CFMutableDictionaryRef s = NULL); | |
| CFCMutableDictionary(const CFCMutableDictionary &rhs); | |
| ~CFCMutableDictionary() override; | |
| // 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 // LLDB_SOURCE_HOST_MACOSX_CFCPP_CFCMUTABLEDICTIONARY_H |