| OLD | NEW |
| (Empty) |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | |
| 2 // Use of this source code is governed by a BSD-style license that can be | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 #ifndef PPAPI_CPP_DEV_VAR_DICTIONARY_DEV_H_ | |
| 6 #define PPAPI_CPP_DEV_VAR_DICTIONARY_DEV_H_ | |
| 7 | |
| 8 #include "ppapi/c/pp_bool.h" | |
| 9 #include "ppapi/cpp/dev/var_array_dev.h" | |
| 10 #include "ppapi/cpp/var.h" | |
| 11 | |
| 12 /// @file | |
| 13 /// This file defines the API for interacting with dictionary vars. | |
| 14 | |
| 15 namespace pp { | |
| 16 | |
| 17 class VarDictionary_Dev : public Var { | |
| 18 public: | |
| 19 /// Constructs a new dictionary var. | |
| 20 VarDictionary_Dev(); | |
| 21 | |
| 22 /// Constructs a <code>VarDictionary_Dev</code> given a var for which | |
| 23 /// is_dictionary() is true. This will refer to the same dictionary var, but | |
| 24 /// allow you to access methods specific to dictionary. | |
| 25 /// | |
| 26 /// @param[in] var A dictionary var. | |
| 27 explicit VarDictionary_Dev(const Var& var); | |
| 28 | |
| 29 /// Constructs a <code>VarDictionary_Dev</code> given a <code>PP_Var</code> | |
| 30 /// of type PP_VARTYPE_DICTIONARY. | |
| 31 /// | |
| 32 /// @param[in] var A <code>PP_Var</code> of type PP_VARTYPE_DICTIONARY. | |
| 33 explicit VarDictionary_Dev(const PP_Var& var); | |
| 34 | |
| 35 /// Copy constructor. | |
| 36 VarDictionary_Dev(const VarDictionary_Dev& other); | |
| 37 | |
| 38 virtual ~VarDictionary_Dev(); | |
| 39 | |
| 40 /// Assignment operator. | |
| 41 VarDictionary_Dev& operator=(const VarDictionary_Dev& other); | |
| 42 | |
| 43 /// The <code>Var</code> assignment operator is overridden here so that we can | |
| 44 /// check for assigning a non-dictionary var to a | |
| 45 /// <code>VarDictionary_Dev</code>. | |
| 46 /// | |
| 47 /// @param[in] other The dictionary var to be assigned. | |
| 48 /// | |
| 49 /// @return The resulting <code>VarDictionary_Dev</code> (as a | |
| 50 /// <code>Var</code>&). | |
| 51 virtual Var& operator=(const Var& other); | |
| 52 | |
| 53 /// Gets the value associated with the specified key. | |
| 54 /// | |
| 55 /// @param[in] key A string var. | |
| 56 /// | |
| 57 /// @return The value that is associated with <code>key</code>. If | |
| 58 /// <code>key</code> is not a string var, or it doesn't exist in the | |
| 59 /// dictionary, an undefined var is returned. | |
| 60 Var Get(const Var& key) const; | |
| 61 | |
| 62 /// Sets the value associated with the specified key. | |
| 63 /// | |
| 64 /// @param[in] key A string var. If this key hasn't existed in the dictionary, | |
| 65 /// it is added and associated with <code>value</code>; otherwise, the | |
| 66 /// previous value is replaced with <code>value</code>. | |
| 67 /// @param[in] value The value to set. | |
| 68 /// | |
| 69 /// @return A <code>PP_Bool</code> indicating whether the operation succeeds. | |
| 70 PP_Bool Set(const Var& key, const Var& value); | |
| 71 | |
| 72 /// Deletes the specified key and its associated value, if the key exists. | |
| 73 /// | |
| 74 /// @param[in] key A string var. | |
| 75 void Delete(const Var& key); | |
| 76 | |
| 77 /// Checks whether a key exists. | |
| 78 /// | |
| 79 /// @param[in] key A string var. | |
| 80 /// | |
| 81 /// @return A <code>PP_Bool</code> indicating whether the key exists. | |
| 82 PP_Bool HasKey(const Var& key) const; | |
| 83 | |
| 84 /// Gets all the keys in the dictionary. | |
| 85 /// | |
| 86 /// @return An array var which contains all the keys of the dictionary. | |
| 87 /// The elements are string vars. Returns an empty array var if failed. | |
| 88 VarArray_Dev GetKeys() const; | |
| 89 }; | |
| 90 | |
| 91 } // namespace pp | |
| 92 | |
| 93 #endif // PPAPI_CPP_DEV_VAR_DICTIONARY_DEV_H_ | |
| OLD | NEW |