Fixed bug in 64-bit threshold configuration
authorVictor Kirhenshtein <victor@netxms.org>
Tue, 19 Oct 2004 10:37:20 +0000 (10:37 +0000)
committerVictor Kirhenshtein <victor@netxms.org>
Tue, 19 Oct 2004 10:37:20 +0000 (10:37 +0000)
Threshold events got new parameter: DCI ID

ChangeLog
include/netxmsdb.h
sql/events.in
src/console/win32/DCIThresholdsPage.cpp
src/server/core/dcitem.cpp

index a8623fc..fb3ab3e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -4,6 +4,7 @@
 
 - Added parameter System.ServiceState(*) to core agent (Windows only)
 - Implemented user-defined counters in WinPerf subagent
+- Added support for macros in e-mail subject
 
 
 *
index 66b0aac..d64825a 100644 (file)
@@ -23,6 +23,6 @@
 #ifndef _netxms_db_h
 #define _netxms_db_h
 
-#define DB_FORMAT_VERSION      14
+#define DB_FORMAT_VERSION      15
 
 #endif
index 273430b..ac85830 100644 (file)
@@ -5,7 +5,7 @@
 */
 
 #define THRESHOLD_EVENT_PARAMS \
-       '   1) Parameter name#0D#0A   2) Item description#0D#0A   3) Threshold value#0D#0A   4) Actual value#0D#0A   5) Parameter#27s argument'
+       '   1) Parameter name#0D#0A   2) Item description#0D#0A   3) Threshold value#0D#0A   4) Actual value#0D#0A   5) Data collection item ID#0D#0A   6) Parameter#27s argument'
 
 
 /*
@@ -193,7 +193,8 @@ INSERT INTO events (event_id,name,severity,flags,message,description) VALUES
                'Generated when threshold check is rearmed for specific data collection item.#0D#0A' CONCAT
                'Parameters:#0D#0A' CONCAT
                '   1) Parameter name#0D#0A' CONCAT
-               '   2) Item description'
+               '   2) Item description#0D#0A' CONCAT
+               '   3) Data collection item ID'
        );
 INSERT INTO events (event_id,name,severity,flags,message,description) VALUES
        (
index 81a52b1..285fac1 100644 (file)
@@ -210,10 +210,10 @@ BOOL CDCIThresholdsPage::EditThreshold(NXC_DCI_THRESHOLD *pThreshold)
             pThreshold->value.dwInt32 = strtoul((LPCTSTR)dlg.m_strValue, NULL, 0);
             break;
          case DCI_DT_INT64:
-            /* TODO: add conversion for 64 bit integers */
+            pThreshold->value.qwInt64 = strtoll((LPCTSTR)dlg.m_strValue, NULL, 0);
             break;
          case DCI_DT_UINT64:
-            /* TODO: add conversion for 64 bit integers */
+            pThreshold->value.qwInt64 = strtoull((LPCTSTR)dlg.m_strValue, NULL, 0);
             break;
          case DCI_DT_FLOAT:
             pThreshold->value.dFloat = strtod((LPCTSTR)dlg.m_strValue, NULL);
index 35c6e0d..87fd73e 100644 (file)
@@ -302,12 +302,14 @@ void DCItem::CheckThresholds(ItemValue &value)
       switch(iResult)
       {
          case THRESHOLD_REACHED:
-            PostEvent(m_ppThresholdList[i]->EventCode(), m_pNode->Id(), "ssss", m_szName,
-                      m_szDescription, m_ppThresholdList[i]->Value(), (const char *)value);
+            PostEvent(m_ppThresholdList[i]->EventCode(), m_pNode->Id(), "ssssi", m_szName,
+                      m_szDescription, m_ppThresholdList[i]->Value(), 
+                      (const char *)value, m_dwId);
             i = m_dwNumThresholds;  // Stop processing
             break;
          case THRESHOLD_REARMED:
-            PostEvent(EVENT_THRESHOLD_REARMED, m_pNode->Id(), "s", m_szName);
+            PostEvent(EVENT_THRESHOLD_REARMED, m_pNode->Id(), "ssi", m_szName, 
+                      m_szDescription, m_dwId);
             break;
          case NO_ACTION:
             if (m_ppThresholdList[i]->IsReached())