added method NetObj::findChildNode
authorVictor Kirhenshtein <victor@netxms.org>
Fri, 5 Aug 2016 12:49:28 +0000 (15:49 +0300)
committerVictor Kirhenshtein <victor@netxms.org>
Fri, 5 Aug 2016 12:49:28 +0000 (15:49 +0300)
src/server/core/netobj.cpp
src/server/include/nms_objects.h

index 3e316b5..45bf631 100644 (file)
@@ -1821,6 +1821,26 @@ NetObj *NetObj::findChildObject(const TCHAR *name, int typeFilter)
        return object;
 }
 
+/**
+ * Find child node by IP address
+ */
+Node *NetObj::findChildNode(const InetAddress& addr)
+{
+   Node *node = NULL;
+   lockChildList(false);
+   for(int i = 0; i < m_childList->size(); i++)
+   {
+      NetObj *curr = m_childList->get(i);
+      if ((curr->getObjectClass() == OBJECT_NODE) && addr.equals(((Node *)curr)->getIpAddress()))
+      {
+         node = (Node *)curr;
+         break;
+      }
+   }
+   unlockChildList();
+   return node;
+}
+
 /**
  * Called by client session handler to check if threshold summary should
  * be shown for this object. Default implementation always returns false.
index 072e3ac..3c5c8ea 100644 (file)
@@ -621,6 +621,7 @@ public:
        ObjectArray<NetObj> *getFullChildList(bool eventSourceOnly, bool updateRefCount);
 
    NetObj *findChildObject(const TCHAR *name, int typeFilter);
+   Node *findChildNode(const InetAddress& addr);
 
    int getChildCount() { return m_childList->size(); }
    int getParentCount() { return m_parentList->size(); }