//===-- 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 { 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 // LLDB_SOURCE_HOST_MACOSX_CFCPP_CFCMUTABLEDICTIONARY_H