proper const settings for methods in StringMap
authorVictor Kirhenshtein <victor@netxms.org>
Thu, 5 Nov 2015 14:02:49 +0000 (16:02 +0200)
committerVictor Kirhenshtein <victor@netxms.org>
Thu, 5 Nov 2015 14:02:49 +0000 (16:02 +0200)
include/nms_util.h
src/libnetxms/strmap.cpp
src/libnetxms/strmapbase.cpp

index bf34942..940d943 100644 (file)
@@ -490,9 +490,9 @@ protected:
    bool m_ignoreCase;
        void (*m_objectDestructor)(void *);
 
-       StringMapEntry *find(const TCHAR *key);
+       StringMapEntry *find(const TCHAR *key) const;
        void setObject(TCHAR *key, void *value, bool keyPreAlloc);
-       void *getObject(const TCHAR *key);
+       void *getObject(const TCHAR *key) const;
        void destroyObject(void *object) { if (object != NULL) m_objectDestructor(object); }
 
 public:
@@ -505,14 +505,14 @@ public:
        void remove(const TCHAR *key);
        void clear();
 
-       int size();
-   bool contains(const TCHAR *key) { return find(key) != NULL; }
+       int size() const;
+   bool contains(const TCHAR *key) const { return find(key) != NULL; }
 
-   EnumerationCallbackResult forEach(EnumerationCallbackResult (*cb)(const TCHAR *, const void *, void *), void *userData);
-   const void *findElement(bool (*comparator)(const TCHAR *, const void *, void *), void *userData);
+   EnumerationCallbackResult forEach(EnumerationCallbackResult (*cb)(const TCHAR *, const void *, void *), void *userData) const;
+   const void *findElement(bool (*comparator)(const TCHAR *, const void *, void *), void *userData) const;
 
-   StructArray<KeyValuePair> *toArray();
-   StringList *keys();
+   StructArray<KeyValuePair> *toArray() const;
+   StringList *keys() const;
 };
 
 /**
@@ -538,11 +538,11 @@ public:
 
    void addAll(StringMap *src);
 
-       const TCHAR *get(const TCHAR *key) { return (const TCHAR *)getObject(key); }
-       UINT32 getULong(const TCHAR *key, UINT32 defaultValue);
-       bool getBoolean(const TCHAR *key, bool defaultValue);
+       const TCHAR *get(const TCHAR *key) const { return (const TCHAR *)getObject(key); }
+       UINT32 getULong(const TCHAR *key, UINT32 defaultValue) const;
+       bool getBoolean(const TCHAR *key, bool defaultValue) const;
 
-   void fillMessage(NXCPMessage *msg, UINT32 sizeFieldId, UINT32 baseFieldId);
+   void fillMessage(NXCPMessage *msg, UINT32 sizeFieldId, UINT32 baseFieldId) const;
 };
 
 /**
@@ -557,7 +557,7 @@ public:
        StringObjectMap(bool objectOwner) : StringMapBase(objectOwner) { m_objectDestructor = destructor; }
 
        void set(const TCHAR *key, T *object) { setObject((TCHAR *)key, (void *)object, false); }
-       T *get(const TCHAR *key) { return (T*)getObject(key); }
+       T *get(const TCHAR *key) const { return (T*)getObject(key); }
 };
 
 /**
index 96376e3..6d8e4a6 100644 (file)
@@ -92,7 +92,7 @@ void StringMap::set(const TCHAR *key, UINT32 value)
 /**
  * Get value by key as UINT32
  */
-UINT32 StringMap::getULong(const TCHAR *key, UINT32 defaultValue)
+UINT32 StringMap::getULong(const TCHAR *key, UINT32 defaultValue) const
 {
        const TCHAR *value = get(key);
        if (value == NULL)
@@ -103,7 +103,7 @@ UINT32 StringMap::getULong(const TCHAR *key, UINT32 defaultValue)
 /**
  * Get value by key as boolean
  */
-bool StringMap::getBoolean(const TCHAR *key, bool defaultValue)
+bool StringMap::getBoolean(const TCHAR *key, bool defaultValue) const
 {
        const TCHAR *value = get(key);
        if (value == NULL)
@@ -118,7 +118,7 @@ bool StringMap::getBoolean(const TCHAR *key, bool defaultValue)
 /**
  * Fill NXCP message with map data
  */
-void StringMap::fillMessage(NXCPMessage *msg, UINT32 sizeFieldId, UINT32 baseFieldId)
+void StringMap::fillMessage(NXCPMessage *msg, UINT32 sizeFieldId, UINT32 baseFieldId) const
 {
    msg->setField(sizeFieldId, (UINT32)size());
    UINT32 id = baseFieldId;
index a224faa..2c8250c 100644 (file)
@@ -74,7 +74,7 @@ void StringMapBase::clear()
 /**
  * Find entry index by key
  */
-StringMapEntry *StringMapBase::find(const TCHAR *key)
+StringMapEntry *StringMapBase::find(const TCHAR *key) const
 {
        if (key == NULL)
                return NULL;
@@ -149,7 +149,7 @@ void StringMapBase::setObject(TCHAR *key, void *value, bool keyPreAllocated)
 /**
  * Get value by key
  */
-void *StringMapBase::getObject(const TCHAR *key)
+void *StringMapBase::getObject(const TCHAR *key) const
 {
        StringMapEntry *entry = find(key);
    return (entry != NULL) ? entry->value : NULL;
@@ -176,7 +176,7 @@ void StringMapBase::remove(const TCHAR *key)
  * Enumerate entries
  * Returns _CONTINUE if whole map was enumerated and _STOP if enumeration was aborted by callback.
  */
-EnumerationCallbackResult StringMapBase::forEach(EnumerationCallbackResult (*cb)(const TCHAR *, const void *, void *), void *userData)
+EnumerationCallbackResult StringMapBase::forEach(EnumerationCallbackResult (*cb)(const TCHAR *, const void *, void *), void *userData) const
 {
    EnumerationCallbackResult result = _CONTINUE;
    StringMapEntry *entry, *tmp;
@@ -194,7 +194,7 @@ EnumerationCallbackResult StringMapBase::forEach(EnumerationCallbackResult (*cb)
 /**
  * Find entry
  */
-const void *StringMapBase::findElement(bool (*comparator)(const TCHAR *, const void *, void *), void *userData)
+const void *StringMapBase::findElement(bool (*comparator)(const TCHAR *, const void *, void *), void *userData) const
 {
    const void *result = NULL;
    StringMapEntry *entry, *tmp;
@@ -212,7 +212,7 @@ const void *StringMapBase::findElement(bool (*comparator)(const TCHAR *, const v
 /**
  * Convert to key/value array
  */
-StructArray<KeyValuePair> *StringMapBase::toArray()
+StructArray<KeyValuePair> *StringMapBase::toArray() const
 {
    StructArray<KeyValuePair> *a = new StructArray<KeyValuePair>(size());
    StringMapEntry *entry, *tmp;
@@ -229,7 +229,7 @@ StructArray<KeyValuePair> *StringMapBase::toArray()
 /**
  * Get list of all keys
  */
-StringList *StringMapBase::keys()
+StringList *StringMapBase::keys() const
 {
    StringList *list = new StringList();
    StringMapEntry *entry, *tmp;
@@ -243,7 +243,7 @@ StringList *StringMapBase::keys()
 /**
  * Get size
  */
-int StringMapBase::size()
+int StringMapBase::size() const
 {
    return HASH_COUNT(m_data);
 }