doc and include synched with local copy; unneded files removed
authorVictor Kirhenshtein <victor@netxms.org>
Wed, 29 Apr 2009 16:49:25 +0000 (16:49 +0000)
committerVictor Kirhenshtein <victor@netxms.org>
Wed, 29 Apr 2009 16:49:25 +0000 (16:49 +0000)
19 files changed:
.gitattributes
doc/manuals/netxms_user_manual.odt
include/netxms-version.h
include/netxmsdb.h
include/nms_agent.h
include/nms_common.h
include/nms_cscp.h
include/nms_threads.h
include/nms_util.h
include/nxclapi.h
include/nxconfig.h [copied from include/netxmsdb.h with 66% similarity]
include/nxevent.h
include/nxlpapi.h
include/nxmbapi.h [new file with mode: 0644]
include/nxsl.h
include/nxsl_classes.h
netxms.dsw [deleted file]
src/agent/subagents/skeleton/skeleton.dsp [deleted file]
src/agent/subagents/skeleton/skeleton.dsw [deleted file]

index c0ed0f1..8037997 100644 (file)
@@ -43,7 +43,6 @@ images/zone.png -text
 include/netxms_isc.h -text
 include/nxlpapi.h -text
 netware/bin/.keep -text
-/netxms.dsw eol=crlf
 src/PPC_libs.vcw eol=crlf
 src/agent/core/nxagentd.dsp eol=crlf
 src/agent/core/nxagentd.vcproj -text
@@ -57,8 +56,6 @@ src/agent/subagents/ping/ping.dsp eol=crlf
 src/agent/subagents/ping/ping.vcproj -text
 src/agent/subagents/portCheck/portcheck.dsp eol=crlf
 src/agent/subagents/portCheck/portcheck.vcproj -text
-src/agent/subagents/skeleton/skeleton.dsp eol=crlf
-src/agent/subagents/skeleton/skeleton.dsw eol=crlf
 src/agent/subagents/sms/sms.dsp eol=crlf
 src/agent/subagents/sms/sms.vcproj -text
 src/agent/subagents/ups/doc/apc_protocol_files/nut-banner.png -text
index 63c3fec..f3ad2c8 100644 (file)
Binary files a/doc/manuals/netxms_user_manual.odt and b/doc/manuals/netxms_user_manual.odt differ
index b5f9c01..5ceb529 100644 (file)
@@ -33,7 +33,8 @@
 #define NETXMS_VERSION_MINOR        9
 #define NETXMS_VERSION_BUILD        0
 #define NETXMS_VERSION_HOTFIX       0
-#define NETXMS_VERSION_STRING       _T("0.9.0-rc2")
+//#define NETXMS_VERSION_STRING       _T("0.9.0-rc2")
+#define NETXMS_VERSION_STRING       _T("0.2.26")
 
 
 //
index 4de65f3..2e2038a 100644 (file)
@@ -24,6 +24,6 @@
 #ifndef _netxmsdb_h
 #define _netxmsdb_h
 
-#define DB_FORMAT_VERSION   87
+#define DB_FORMAT_VERSION   90
 
 #endif
index e06daef..5c3c238 100644 (file)
 #define DCIDESC_SYSTEM_PLATFORMNAME            "Platform name"
 #define DCIDESC_PROCESS_COUNT                  "Number of {instance} processes"
 #define DCIDESC_PROCESS_COUNTEX                        "Number of {instance} processes (extended)"
+#define DCIDESC_PROCESS_CPUTIME                 "Total execution time for process {instance}"
 #define DCIDESC_PROCESS_GDIOBJ                 "GDI objects used by process {instance}"
 #define DCIDESC_PROCESS_IO_OTHERB              ""
 #define DCIDESC_PROCESS_IO_OTHEROP             ""
 #define DCIDESC_PROCESS_IO_WRITEOP             ""
 #define DCIDESC_PROCESS_KERNELTIME             "Total execution time in kernel mode for process {instance}"
 #define DCIDESC_PROCESS_PAGEFAULTS             "Page faults for process {instance}"
+#define DCIDESC_PROCESS_SYSCALLS               "Number of system calls made by process {instance}"
 #define DCIDESC_PROCESS_THREADS                        "Number of threads in process {instance}"
 #define DCIDESC_PROCESS_USEROBJ                        "USER objects used by process {instance}"
 #define DCIDESC_PROCESS_USERTIME               "Total execution time in user mode for process {instance}"
@@ -398,7 +400,7 @@ inline void ret_int64(TCHAR *rbuf, INT64 value)
 #if defined(_WIN32) && (_MSC_VER >= 1300)
    _sntprintf_s(rbuf, MAX_RESULT_LENGTH, _TRUNCATE, _T("%I64d"), value);
 #else    /* _WIN32 */
-   _sntprintf(rbuf, MAX_RESULT_LENGTH, _T("%lld"), value);
+   _sntprintf(rbuf, MAX_RESULT_LENGTH, INT64_FMT, value);
 #endif   /* _WIN32 */
 }
 
@@ -407,7 +409,7 @@ inline void ret_uint64(TCHAR *rbuf, QWORD value)
 #if defined(_WIN32) && (_MSC_VER >= 1300)
    _sntprintf_s(rbuf, MAX_RESULT_LENGTH, _TRUNCATE, _T("%I64u"), value);
 #else    /* _WIN32 */
-   _sntprintf(rbuf, MAX_RESULT_LENGTH, _T("%llu"), value);
+   _sntprintf(rbuf, MAX_RESULT_LENGTH, UINT64_FMT, value);
 #endif   /* _WIN32 */
 }
 
index f55fe25..048588d 100644 (file)
 #endif
 
 #ifndef EVENTLOG_DEBUG_TYPE
-#define EVENTLOG_DEBUG_TYPE            255
+#define EVENTLOG_DEBUG_TYPE            0x0080
+#endif
+
+
+//
+// Compatibility defines for C sources
+//
+
+#ifndef __cplusplus
+typedef int bool;
 #endif
 
 
 #define fileno(f)    _fileno(f)
 #define chdir(p)     _chdir(p)
 #define mkdir(p,m)   _mkdir(p,m)
-#define lseek(f,o,w) _lseek(f,o,v)
+#define lseek(f,o,w) _lseek(f,o,w)
 #define unlink(x)    _unlink(x)
 
 typedef unsigned __int64 QWORD;
 typedef __int64 INT64;
 typedef int socklen_t;
+typedef DWORD pid_t;
 
 #define INT64_FMT                      _T("%I64d")
 #define UINT64_FMT             _T("%I64u")
@@ -569,9 +579,12 @@ typedef struct tagPOINT
 //
 
 #ifndef _WIN32
-#define EVENTLOG_INFORMATION_TYPE   0
-#define EVENTLOG_WARNING_TYPE       1
-#define EVENTLOG_ERROR_TYPE         2
+#define EVENTLOG_SUCCESS                0x0000
+#define EVENTLOG_ERROR_TYPE             0x0001
+#define EVENTLOG_WARNING_TYPE           0x0002
+#define EVENTLOG_INFORMATION_TYPE       0x0004
+#define EVENTLOG_AUDIT_SUCCESS          0x0008
+#define EVENTLOG_AUDIT_FAILURE          0x0010
 #endif   /* _WIN32 */
 
 
index 26a5bcf..4043306 100644 (file)
@@ -1,6 +1,6 @@
 /* 
 ** NetXMS - Network Management System
-** Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 Victor Kirhenshtein
+** Copyright (C) 2003-2009 Victor Kirhenshtein
 **
 ** This program is free software; you can redistribute it and/or modify
 ** it under the terms of the GNU General Public License as published by
@@ -294,7 +294,7 @@ typedef struct
 #define CMD_DCI_DATA                0x0032
 #define CMD_GET_MIB_TIMESTAMP       0x0033
 #define CMD_GET_MIB                 0x0034
-//#define CMD_REQUEST_NEW_LPP_ID      0x0035
+#define CMD_TEST_DCI_TRANSFORMATION 0x0035
 //#define CMD_OPEN_LPP                0x0036
 #define CMD_CREATE_OBJECT           0x0037
 #define CMD_GET_EVENT_NAMES         0x0038
@@ -652,7 +652,7 @@ typedef struct
 #define VID_NUM_ROWS                ((DWORD)167)
 #define VID_TABLE_TITLE             ((DWORD)168)
 #define VID_EVENT_NAME              ((DWORD)169)
-//#define VID_LPP_VERSION             ((DWORD)170)
+#define VID_AUTO_APPLY              ((DWORD)170)
 #define VID_LOG_NAME                ((DWORD)171)
 #define VID_OPERATION               ((DWORD)172)
 #define VID_MAX_RECORDS             ((DWORD)173)
@@ -801,6 +801,17 @@ typedef struct
 #define VID_TOKEN_SOFTLIMIT         ((DWORD)316)
 #define VID_TOKEN_HARDLIMIT         ((DWORD)317)
 #define VID_USE_IFXTABLE            ((DWORD)318)
+#define VID_APPLY_FILTER            ((DWORD)319)
+#define VID_ENABLE_AUTO_BIND        ((DWORD)320)
+#define VID_AUTO_BIND_FILTER        ((DWORD)321)
+#define VID_BASE_UNITS              ((DWORD)322)
+#define VID_MULTIPLIER              ((DWORD)323)
+#define VID_CUSTOM_UNITS_NAME       ((DWORD)324)
+#define VID_PERFTAB_SETTINGS        ((DWORD)325)
+#define VID_EXECUTION_STATUS        ((DWORD)326)
+#define VID_EXECUTION_RESULT        ((DWORD)327)
+#define VID_TABLE_NUM_ROWS          ((DWORD)328)
+#define VID_TABLE_NUM_COLS          ((DWORD)329)
 
 // Variable ranges for object's ACL
 #define VID_ACL_USER_BASE           ((DWORD)0x00001000)
@@ -939,6 +950,9 @@ typedef struct
 
 #define VID_WEBMAP_LIST_BASE        ((DWORD)0x30000000)
 
+#define VID_TABLE_COLUMN_INFO_BASE  ((DWORD)0x10000000)
+#define VID_TABLE_DATA_BASE         ((DWORD)0x20000000)
+
 
 //
 // Inline functions
index 35ac574..411d0a7 100644 (file)
@@ -1,6 +1,6 @@
 /* 
 ** NetXMS - Network Management System
-** Copyright (C) 2003-2008 Victor Kirhenshtein
+** Copyright (C) 2003-2009 Victor Kirhenshtein
 **
 ** This program is free software; you can redistribute it and/or modify
 ** it under the terms of the GNU General Public License as published by
@@ -75,11 +75,16 @@ THREAD_RESULT LIBNETXMS_EXPORTABLE THREAD_CALL SEHThreadStarter(void *);
 int LIBNETXMS_EXPORTABLE ___ExceptionHandler(EXCEPTION_POINTERS *pInfo);
 
 void LIBNETXMS_EXPORTABLE SetExceptionHandler(BOOL (*pfHandler)(EXCEPTION_POINTERS *),
-                                                                                                                        void (*pfWriter)(char *));
+                                                                                                                        void (*pfWriter)(const TCHAR *), const TCHAR *pszDumpDir,
+                                                                                                                        const TCHAR *pszBaseProcessName,
+                                                                                                                        DWORD dwLogMsgCode, BOOL bPrintToScreen);
 BOOL LIBNETXMS_EXPORTABLE SEHDefaultConsoleHandler(EXCEPTION_POINTERS *pInfo);
 TCHAR LIBNETXMS_EXPORTABLE *SEHExceptionName(DWORD code);
 void LIBNETXMS_EXPORTABLE SEHShowCallStack(CONTEXT *pCtx);
 
+void LIBNETXMS_EXPORTABLE SEHServiceExceptionDataWriter(const TCHAR *pszText);
+BOOL LIBNETXMS_EXPORTABLE SEHServiceExceptionHandler(EXCEPTION_POINTERS *pInfo);
+
 #define LIBNETXMS_EXCEPTION_HANDLER \
        } __except(___ExceptionHandler((EXCEPTION_POINTERS *)_exception_info())) { ExitProcess(99); }
 
@@ -606,7 +611,7 @@ inline void ThreadSleep(int nSeconds)
 
 inline void ThreadSleepMs(DWORD dwMilliseconds)
 {
-#if HAVE_NANOSLEEP
+#if HAVE_NANOSLEEP && HAVE_DECL_NANOSLEEP
        struct timespec interval, remainder;
 
        interval.tv_sec = dwMilliseconds / 1000;
index 788ef51..f0e1ab4 100644 (file)
@@ -1,7 +1,7 @@
 /* $Id$ */
 /* 
 ** NetXMS - Network Management System
-** Copyright (C) 2003, 2004, 2005, 2006, 2007 Victor Kirhenshtein
+** Copyright (C) 2003-2009 Victor Kirhenshtein
 **
 ** This program is free software; you can redistribute it and/or modify
 ** it under the terms of the GNU General Public License as published by
@@ -186,6 +186,8 @@ private:
 // Class for table data storage
 //
 
+class CSCPMessage;
+
 class LIBNETXMS_EXPORTABLE Table
 {
 private:
@@ -196,8 +198,11 @@ private:
 
 public:
    Table();
+   Table(CSCPMessage *msg);
    ~Table();
 
+       void FillMessage(CSCPMessage &msg);
+
    int GetNumRows(void) { return m_nNumRows; }
    int GetNumColumns(void) { return m_nNumCols; }
 
@@ -518,7 +523,7 @@ extern "C"
        const char LIBNETXMS_EXPORTABLE *XMLGetAttr(const char **attrs, const char *name);
        int LIBNETXMS_EXPORTABLE XMLGetAttrInt(const char **attrs, const char *name, int defVal);
        int LIBNETXMS_EXPORTABLE XMLGetAttrDWORD(const char **attrs, const char *name, DWORD defVal);
-       BOOL LIBNETXMS_EXPORTABLE XMLGetAttrBoolean(const char **attrs, const char *name, BOOL defVal);
+       bool LIBNETXMS_EXPORTABLE XMLGetAttrBoolean(const char **attrs, const char *name, bool defVal);
 
 #ifdef __cplusplus
        const TCHAR LIBNETXMS_EXPORTABLE *CodeToText(int iCode, CODE_TO_TEXT *pTranslator, const TCHAR *pszDefaultText = _T("Unknown"));
@@ -528,6 +533,7 @@ extern "C"
 
 #ifdef _WIN32
    TCHAR LIBNETXMS_EXPORTABLE *GetSystemErrorText(DWORD dwError, TCHAR *pszBuffer, size_t iBufSize);
+       BOOL LIBNETXMS_EXPORTABLE GetWindowsVersionString(TCHAR *versionString, int strSize);
 #endif
 
 #if !(HAVE_DAEMON)
@@ -599,6 +605,12 @@ extern "C"
 #if !HAVE_WSTAT
        int wstat(const WCHAR *_path, struct stat *_sbuf);
 #endif
+#if !HAVE_WRENAME
+       int wrename(const WCHAR *_oldpath, const WCHAR *_newpath);
+#endif
+#if !HAVE_WUNLINK
+       int wunlink(const WCHAR *_path);
+#endif
 #if !HAVE_WGETENV
        WCHAR *wgetenv(const WCHAR *_string);
 #endif
index f2aeabc..f74af06 100644 (file)
@@ -2,7 +2,7 @@
 /* 
 ** NetXMS - Network Management System
 ** Client Library API
-** Copyright (C) 2004, 2005, 2006, 2007, 2008 Victor Kirhenshtein
+** Copyright (C) 2004-2009 Victor Kirhenshtein
 **
 ** This program is free software; you can redistribute it and/or modify
 ** it under the terms of the GNU General Public License as published by
@@ -472,6 +472,8 @@ enum
 #define OBJ_UPDATE_TRUSTED_NODES    ((QWORD)_ULL(0x0100000000))
 #define OBJ_UPDATE_CUSTOM_ATTRS     ((QWORD)_ULL(0x0200000000))
 #define OBJ_UPDATE_USE_IFXTABLE     ((QWORD)_ULL(0x0400000000))
+#define OBJ_UPDATE_AUTO_APPLY       ((QWORD)_ULL(0x0800000000))
+#define OBJ_UPDATE_AUTO_BIND        ((QWORD)_ULL(0x1000000000))
 
 
 //
@@ -609,6 +611,20 @@ enum
 #define OP_NOTLIKE   7
 
 
+//
+// DCI base units
+//
+
+#define DCI_BASEUNITS_OTHER             0
+#define DCI_BASEUNITS_CUSTOM            1
+#define DCI_BASEUNITS_BYTES             2
+#define DCI_BASEUNITS_BITS              3
+#define DCI_BASEUNITS_SECONDS           4
+#define DCI_BASEUNITS_PERCENTS          5
+#define DCI_BASEUNITS_BITS_PER_SECOND   6
+#define DCI_BASEUNITS_BYTES_PER_SECOND  7
+
+
 //
 // Event policy rule flags
 //
@@ -1001,11 +1017,15 @@ struct __nxc_object_subnet
 struct __nxc_object_container
 {
    DWORD dwCategory;
+       BOOL isAutoBindEnabled;
+       TCHAR *pszAutoBindFilter;
 };
 
 struct __nxc_object_dct
 {
    DWORD dwVersion;
+       BOOL isAutoApplyEnabled;
+       TCHAR *pszAutoApplyFilter;
 };
 
 struct __nxc_object_netsrv
@@ -1113,11 +1133,11 @@ typedef struct
 {
    QWORD qwFlags;
    DWORD dwObjectId;
-   TCHAR *pszName;
+   const TCHAR *pszName;
    int iAgentPort;
    int iAuthType;
-   TCHAR *pszSecret;
-   TCHAR *pszCommunity;
+   const TCHAR *pszSecret;
+   const TCHAR *pszCommunity;
    BOOL bInheritRights;
    DWORD dwImage;
    DWORD dwAclSize;
@@ -1127,8 +1147,8 @@ typedef struct
    WORD wProto;
    WORD wPort;
    DWORD dwPollerNode;
-   TCHAR *pszRequest;
-   TCHAR *pszResponse;
+   const TCHAR *pszRequest;
+   const TCHAR *pszResponse;
    DWORD dwIpAddr;
    DWORD dwPeerGateway;
    DWORD dwNumLocalNets;
@@ -1152,7 +1172,7 @@ typedef struct
    int nInactiveStatus;
    DWORD dwNumDCI;
    INPUT_DCI *pDCIList;
-   TCHAR *pszScript;
+   const TCHAR *pszScript;
        DWORD dwClusterType;
        DWORD dwNumSyncNets;
        IP_NETWORK *pSyncNetList;
@@ -1162,6 +1182,10 @@ typedef struct
        DWORD dwNumTrustedNodes;
        DWORD *pdwTrustedNodes;
        int nUseIfXTable;
+       BOOL isAutoApplyEnabled;
+       const TCHAR *pszAutoApplyFilter;
+       BOOL isAutoBindEnabled;
+       const TCHAR *pszAutoBindFilter;
 #ifdef __cplusplus
        StringMap *pCustomAttrs;
 #else
@@ -1241,6 +1265,10 @@ typedef struct
    DWORD dwNumSchedules;
    TCHAR **ppScheduleList;
        DWORD dwProxyNode;
+       int nBaseUnits;
+       int nMultiplier;
+       TCHAR *pszCustomUnitName;
+       TCHAR *pszPerfTabSettings;
 } NXC_DCI;
 
 
@@ -1918,6 +1946,9 @@ DWORD LIBNXCL_EXPORTABLE NXCGetSystemDCIList(NXC_SESSION hSession, DWORD dwNodeI
                                              DWORD *pdwNumItems, NXC_SYSTEM_DCI **ppList);
 DWORD LIBNXCL_EXPORTABLE NXCPushDCIData(NXC_SESSION hSession, DWORD dwNumItems,
                                         NXC_DCI_PUSH_DATA *pItems, DWORD *pdwIndex);
+DWORD LIBNXCL_EXPORTABLE NXCTestDCITransformation(NXC_SESSION hSession, DWORD dwNodeId, DWORD dwItemId,
+                                                                                                                                 const TCHAR *script, const TCHAR *value, BOOL *execStatus,
+                                                                                                                                 TCHAR *execResult, size_t resultBufSize);
 
 /** MIB files **/
 DWORD LIBNXCL_EXPORTABLE NXCGetMIBFileTimeStamp(NXC_SESSION hSession, DWORD *pdwTimeStamp);
similarity index 66%
copy from include/netxmsdb.h
copy to include/nxconfig.h
index 4de65f3..c9d6a37 100644 (file)
@@ -1,7 +1,6 @@
-/* $Id$ */
 /* 
 ** NetXMS - Network Management System
-** Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 Victor Kirhenshtein
+** Copyright (C) 2003-2009 Victor Kirhenshtein
 **
 ** This program is free software; you can redistribute it and/or modify
 ** it under the terms of the GNU General Public License as published by
 ** along with this program; if not, write to the Free Software
 ** Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 **
-** File: netxmsdb.h
+** File: nxconfig.h
 **
 **/
 
-#ifndef _netxmsdb_h
-#define _netxmsdb_h
+#ifndef _nxconfig_h_
+#define _nxconfig_h_
+
+
+//
+// Config class
+//
+
+class Config
+{
+private:
+       StringMap m_parameters;
+
+public:
+       Config();
+       ~Config();
+
+       bool loadConfig(const TCHAR *file);
+       bool loadXmlConfig(const TCHAR *file);
+       bool loadIniConfig(const TCHAR *file);
+
+       bool loadConfigDirectory(const TCHAR *path);
+};
 
-#define DB_FORMAT_VERSION   87
 
 #endif
index 0639917..e49684a 100644 (file)
 #define EVENT_EVENT_STORM_ENDED           49
 #define EVENT_NETWORK_CONNECTION_LOST     50
 #define EVENT_NETWORK_CONNECTION_RESTORED 51
+#define EVENT_DB_QUERY_FAILED             52
 
 #define EVENT_SNMP_UNMATCHED_TRAP         500
 #define EVENT_SNMP_COLD_START             501
index 617ad61..03a1fed 100644 (file)
@@ -58,7 +58,7 @@
 //    object id, user arg\r
 //\r
 \r
-typedef void (* LOG_PARSER_CALLBACK)(DWORD, const char *, int, char **, DWORD, void *);\r
+typedef void (* LogParserCallback)(DWORD, const char *, int, char **, DWORD, void *);\r
 \r
 \r
 //\r
@@ -73,7 +73,7 @@ private:
        LogParser *m_parser;\r
        regex_t m_preg;\r
        DWORD m_event;\r
-       BOOL m_isValid;\r
+       bool m_isValid;\r
        int m_numParams;\r
        regmatch_t *m_pmatch;\r
        TCHAR *m_regexp;\r
@@ -84,40 +84,51 @@ private:
        TCHAR *m_context;\r
        int m_contextAction;\r
        TCHAR *m_contextToChange;\r
-       BOOL m_isInverted;\r
-       BOOL m_breakOnMatch;\r
+       bool m_isInverted;\r
+       bool m_breakOnMatch;\r
        TCHAR *m_description;\r
 \r
-       void ExpandMacros(const char *regexp, String &out);\r
+       void expandMacros(const char *regexp, String &out);\r
 \r
 public:\r
        LogParserRule(LogParser *parser,\r
                      const char *regexp, DWORD event = 0, int numParams = 0,\r
                      const TCHAR *source = NULL, DWORD level = 0xFFFFFFFF,\r
-                                         DWORD idStart = 0xFFFFFFFF, DWORD idEnd = 0xFFFFFFFF);\r
+                                         DWORD idStart = 0, DWORD idEnd = 0xFFFFFFFF);\r
        ~LogParserRule();\r
 \r
-       BOOL IsValid() { return m_isValid; }\r
-       BOOL Match(const char *line, LOG_PARSER_CALLBACK cb, DWORD objectId, void *userArg);\r
+       bool isValid() { return m_isValid; }\r
+       bool match(const char *line, LogParserCallback cb, DWORD objectId, void *userArg);\r
+       bool matchEx(const TCHAR *source, DWORD eventId, DWORD level,\r
+                    const char *line, LogParserCallback cb, DWORD objectId, void *userArg); \r
        \r
-       void SetContext(const TCHAR *context) { safe_free(m_context); m_context = (context != NULL) ? _tcsdup(context) : NULL; }\r
-       void SetContextToChange(const TCHAR *context) { safe_free(m_contextToChange); m_contextToChange = (context != NULL) ? _tcsdup(context) : NULL; }\r
-       void SetContextAction(int action) { m_contextAction = action; }\r
+       void setContext(const TCHAR *context) { safe_free(m_context); m_context = (context != NULL) ? _tcsdup(context) : NULL; }\r
+       void setContextToChange(const TCHAR *context) { safe_free(m_contextToChange); m_contextToChange = (context != NULL) ? _tcsdup(context) : NULL; }\r
+       void setContextAction(int action) { m_contextAction = action; }\r
 \r
-       void SetInverted(BOOL flag) { m_isInverted = flag; }\r
-       BOOL IsInverted() { return m_isInverted; }\r
+       void setInverted(bool flag) { m_isInverted = flag; }\r
+       BOOL isInverted() { return m_isInverted; }\r
 \r
-       void SetBreakFlag(BOOL flag) { m_breakOnMatch = flag; }\r
-       BOOL GetBreakFlag() { return m_breakOnMatch; }\r
-       \r
-       const TCHAR *GetContext() { return m_context; }\r
-       const TCHAR *GetContextToChange() { return m_contextToChange; }\r
-       int GetContextAction() { return m_contextAction; }\r
+       void setBreakFlag(bool flag) { m_breakOnMatch = flag; }\r
+       BOOL getBreakFlag() { return m_breakOnMatch; }\r
+\r
+       const TCHAR *getContext() { return m_context; }\r
+       const TCHAR *getContextToChange() { return m_contextToChange; }\r
+       int getContextAction() { return m_contextAction; }\r
+\r
+       void setDescription(const TCHAR *descr) { safe_free(m_description); m_description = (descr != NULL) ? _tcsdup(descr) : NULL; }\r
+       const TCHAR *getDescription() { return CHECK_NULL_EX(m_description); }\r
+\r
+       void setSource(const TCHAR *source) { safe_free(m_source); m_source = (source != NULL) ? _tcsdup(source) : NULL; }\r
+       const TCHAR *getSource() { return CHECK_NULL_EX(m_source); }\r
+\r
+       void setLevel(DWORD level) { m_level = level; }\r
+       DWORD getLevel() { return m_level; }\r
 \r
-       void SetDescription(const TCHAR *descr) { safe_free(m_description); m_description = (descr != NULL) ? _tcsdup(descr) : NULL; }\r
-       const TCHAR *GetDescription() { return CHECK_NULL_EX(m_description); }\r
+       void setIdRange(DWORD start, DWORD end) { m_idStart = start; m_idEnd = end; }\r
+       QWORD getIdRange() { return ((QWORD)m_idStart << 32) | (QWORD)m_idEnd; }\r
 \r
-       const TCHAR *GetRegexpSource() { return CHECK_NULL(m_regexp); }\r
+       const TCHAR *getRegexpSource() { return CHECK_NULL(m_regexp); }\r
 };\r
 \r
 \r
@@ -127,67 +138,70 @@ public:
 \r
 class LIBNXLP_EXPORTABLE LogParser\r
 {\r
-       friend BOOL LogParserRule::Match(const char *, LOG_PARSER_CALLBACK, DWORD, void *);\r
+       friend bool LogParserRule::match(const char *, LogParserCallback, DWORD, void *);\r
+       friend bool LogParserRule::matchEx(const TCHAR *, DWORD, DWORD, const char *, LogParserCallback, DWORD, void *);\r
 \r
 private:\r
        int m_numRules;\r
        LogParserRule **m_rules;\r
        StringMap m_contexts;\r
        StringMap m_macros;\r
-       LOG_PARSER_CALLBACK m_cb;\r
+       LogParserCallback m_cb;\r
        void *m_userArg;\r
        TCHAR *m_fileName;\r
        CODE_TO_TEXT *m_eventNameList;\r
-       BOOL (*m_eventResolver)(const TCHAR *, DWORD *);\r
+       bool (*m_eventResolver)(const TCHAR *, DWORD *);\r
        THREAD m_thread;        // Associated thread\r
        int m_recordsProcessed;\r
        int m_recordsMatched;\r
-       BOOL m_processAllRules;\r
+       bool m_processAllRules;\r
        int m_traceLevel;\r
        void (*m_traceCallback)(const TCHAR *, va_list);\r
        \r
-       const TCHAR *CheckContext(LogParserRule *rule);\r
-       void Trace(int level, const TCHAR *format, ...);\r
+       const TCHAR *checkContext(LogParserRule *rule);\r
+       void trace(int level, const TCHAR *format, ...);\r
+       bool matchLogRecord(bool hasAttributes, const char *source, DWORD eventId, DWORD level, const char *line, DWORD objectId);\r
 \r
 public:\r
        LogParser();\r
        ~LogParser();\r
        \r
-       BOOL CreateFromXML(const char *xml, int xmlLen = -1, char *errorText = NULL, int errBufSize = 0);\r
+       bool createFromXml(const char *xml, int xmlLen = -1, char *errorText = NULL, int errBufSize = 0);\r
 \r
-       void SetFileName(const TCHAR *name);\r
-       const TCHAR *GetFileName() { return m_fileName; }\r
+       void setFileName(const TCHAR *name);\r
+       const TCHAR *getFileName() { return m_fileName; }\r
 \r
-       void SetThread(THREAD th) { m_thread = th; }\r
-       THREAD GetThread() { return m_thread; }\r
+       void setThread(THREAD th) { m_thread = th; }\r
+       THREAD getThread() { return m_thread; }\r
 \r
-       void SetProcessAllFlag(BOOL flag) { m_processAllRules = flag; }\r
-       BOOL GetProcessAllFlag() { return m_processAllRules; }\r
+       void setProcessAllFlag(bool flag) { m_processAllRules = flag; }\r
+       bool getProcessAllFlag() { return m_processAllRules; }\r
 \r
-       BOOL AddRule(const char *regexp, DWORD event = 0, int numParams = 0);\r
-       BOOL AddRule(LogParserRule *rule);\r
-       void SetCallback(LOG_PARSER_CALLBACK cb) { m_cb = cb; }\r
-       void SetUserArg(void *arg) { m_userArg = arg; }\r
-       void SetEventNameList(CODE_TO_TEXT *ctt) { m_eventNameList = ctt; }\r
-       void SetEventNameResolver(BOOL (*cb)(const TCHAR *, DWORD *)) { m_eventResolver = cb; }\r
-       DWORD ResolveEventName(const TCHAR *name, DWORD defVal = 0);\r
+       bool addRule(const char *regexp, DWORD event = 0, int numParams = 0);\r
+       bool addRule(LogParserRule *rule);\r
+       void setCallback(LogParserCallback cb) { m_cb = cb; }\r
+       void setUserArg(void *arg) { m_userArg = arg; }\r
+       void setEventNameList(CODE_TO_TEXT *ctt) { m_eventNameList = ctt; }\r
+       void setEventNameResolver(bool (*cb)(const TCHAR *, DWORD *)) { m_eventResolver = cb; }\r
+       DWORD resolveEventName(const TCHAR *name, DWORD defVal = 0);\r
 \r
-       void AddMacro(const TCHAR *name, const TCHAR *value);\r
-       const TCHAR *GetMacro(const TCHAR *name);\r
+       void addMacro(const TCHAR *name, const TCHAR *value);\r
+       const TCHAR *getMacro(const TCHAR *name);\r
 \r
-       BOOL MatchLine(const char *line, DWORD objectId = 0);\r
+       bool matchLine(const char *line, DWORD objectId = 0);\r
+       bool matchEvent(const char *source, DWORD eventId, DWORD level, const char *line, DWORD objectId = 0);\r
 \r
-       int GetProcessedRecordsCount() { return m_recordsProcessed; }\r
-       int GetMatchedRecordsCount() { return m_recordsMatched; }\r
+       int getProcessedRecordsCount() { return m_recordsProcessed; }\r
+       int getMatchedRecordsCount() { return m_recordsMatched; }\r
 \r
-       int GetTraceLevel() { return m_traceLevel; }\r
-       void SetTraceLevel(int level) { m_traceLevel = level; }\r
-       void SetTraceCallback(void (*cb)(const TCHAR *, va_list)) { m_traceCallback = cb; }\r
+       int getTraceLevel() { return m_traceLevel; }\r
+       void setTraceLevel(int level) { m_traceLevel = level; }\r
+       void setTraceCallback(void (*cb)(const TCHAR *, va_list)) { m_traceCallback = cb; }\r
 \r
 #ifdef _WIN32\r
-       BOOL MonitorFile(HANDLE stopEvent, void (*logger)(int, const TCHAR *, ...));\r
+       bool monitorFile(HANDLE stopEvent, void (*logger)(int, const TCHAR *, ...));\r
 #else\r
-       BOOL MonitorFile(CONDITION stopCondition, BOOL *stopFlag, void (*logger)(int, const TCHAR *, ...));\r
+       bool monitorFile(CONDITION stopCondition, bool *stopFlag, void (*logger)(int, const TCHAR *, ...));\r
 #endif\r
 };\r
 \r
diff --git a/include/nxmbapi.h b/include/nxmbapi.h
new file mode 100644 (file)
index 0000000..0f40d44
--- /dev/null
@@ -0,0 +1,152 @@
+/* 
+** NetXMS - Network Management System
+** NetXMS Message Bus API
+** Copyright (C) 2009 Victor Kirhenshtein
+**
+** This program is free software; you can redistribute it and/or modify
+** it under the terms of the GNU General Public License as published by
+** the Free Software Foundation; either version 2 of the License, or
+** (at your option) any later version.
+**
+** This program is distributed in the hope that it will be useful,
+** but WITHOUT ANY WARRANTY; without even the implied warranty of
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+** GNU General Public License for more details.
+**
+** You should have received a copy of the GNU General Public License
+** along with this program; if not, write to the Free Software
+** Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+**
+** File: nxmbapi.h
+**
+**/
+
+#ifndef _nxmbapi_h_
+#define _nxmbapi_h_
+
+#ifdef _WIN32
+#ifdef LIBNXMB_EXPORTS
+#define LIBNXMB_EXPORTABLE __declspec(dllexport)
+#else
+#define LIBNXMB_EXPORTABLE __declspec(dllimport)
+#endif
+#else    /* _WIN32 */
+#define LIBNXMB_EXPORTABLE
+#endif
+
+#include <nms_common.h>
+#include <nms_util.h>
+#include <nms_threads.h>
+#include <nxqueue.h>
+
+
+//
+// Message class
+//
+
+class LIBNXMB_EXPORTABLE NXMBMessage
+{
+protected:
+       TCHAR *m_type;
+       TCHAR *m_senderId;
+
+public:
+       NXMBMessage();
+       NXMBMessage(const TCHAR *type, const TCHAR *senderId);
+       virtual ~NXMBMessage();
+
+       const TCHAR *getType() { return m_type; }
+       const TCHAR *getSenderId() { return m_senderId; }
+};
+
+
+//
+// Subscriber class
+//
+
+class LIBNXMB_EXPORTABLE NXMBSubscriber
+{
+protected:
+       TCHAR *m_id;
+
+public:
+       NXMBSubscriber(const TCHAR *id);
+       virtual ~NXMBSubscriber();
+
+       const TCHAR *getId() { return CHECK_NULL(m_id); }
+
+       virtual void messageHandler(NXMBMessage &msg);
+       virtual bool isOwnedByDispatcher();
+};
+
+
+//
+// Abstract message filter class
+//
+
+class LIBNXMB_EXPORTABLE NXMBFilter
+{
+public:
+       NXMBFilter();
+       virtual ~NXMBFilter();
+
+       virtual bool isAllowed(NXMBMessage &msg);
+       virtual bool isOwnedByDispatcher();
+};
+
+
+//
+// Message filter which accept messages of specific type(s)
+//
+
+class LIBNXMB_EXPORTABLE NXMBTypeFilter : public NXMBFilter
+{
+protected:
+       StringMap m_types;
+
+public:
+       NXMBTypeFilter();
+       virtual ~NXMBTypeFilter();
+
+       virtual bool isAllowed(NXMBMessage &msg);
+
+       void addMessageType(const TCHAR *type);
+       void removeMessageType(const TCHAR *type);
+};
+
+
+//
+// Message dispatcher class
+//
+
+class LIBNXMB_EXPORTABLE NXMBDispatcher
+{
+       friend THREAD_RESULT THREAD_CALL WorkerThreadStarter(void *);
+
+private:
+       static NXMBDispatcher *m_instance;
+
+protected:
+       Queue *m_queue;
+       int m_numSubscribers;
+       NXMBSubscriber **m_subscribers;
+       NXMBFilter **m_filters;
+       MUTEX m_subscriberListAccess;
+       THREAD m_workerThreadHandle;
+
+       void workerThread();
+
+public:
+       NXMBDispatcher();
+       virtual ~NXMBDispatcher();
+
+       void postMessage(NXMBMessage *msg);
+       
+       void addSubscriber(NXMBSubscriber *subscriber, NXMBFilter *filter);
+       void removeSubscriber(const TCHAR *id);
+
+       static NXMBDispatcher *getInstance();
+};
+
+
+#endif   /* _nxmbapi_h_ */
index b22df7e..9fdc536 100644 (file)
@@ -91,9 +91,9 @@ struct NXSL_Program;
 extern "C" {
 #endif
 
-NXSL_Program LIBNXSL_EXPORTABLE *NXSLCompile(TCHAR *pszSource,
+NXSL_Program LIBNXSL_EXPORTABLE *NXSLCompile(const TCHAR *pszSource,
                                              TCHAR *pszError, int nBufSize);
-TCHAR LIBNXSL_EXPORTABLE *NXSLLoadFile(TCHAR *pszFileName, DWORD *pdwFileSize);
+TCHAR LIBNXSL_EXPORTABLE *NXSLLoadFile(const TCHAR *pszFileName, DWORD *pdwFileSize);
 
 #ifdef __cplusplus
 }
index b05f9fe..68aa3bf 100644 (file)
@@ -1,6 +1,6 @@
 /* 
 ** NetXMS - Network Management System
-** Copyright (C) 2005, 2006 Victor Kirhenshtein
+** Copyright (C) 2005-2009 Victor Kirhenshtein
 **
 ** This program is free software; you can redistribute it and/or modify
 ** it under the terms of the GNU General Public License as published by
@@ -16,7 +16,7 @@
 ** along with this program; if not, write to the Free Software
 ** Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 **
-** $module: nxsl_classes.h
+** File: nxsl_classes.h
 **
 **/
 
diff --git a/netxms.dsw b/netxms.dsw
deleted file mode 100644 (file)
index ae12567..0000000
+++ /dev/null
@@ -1,803 +0,0 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "ecs"=.\src\agent\subagents\ecs\ecs.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name libnetxms
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "hpdp"=.\src\server\modules\hpdp\hpdp.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name libnetxms
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name libnxsnmp
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name libnxsrv
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name nxcore
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "libnetxms"=.\src\libnetxms\libnetxms.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "libnxcl"=.\src\libnxcl\libnxcl.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name libnetxms
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name libnxmap
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "libnxlp"=.\src\libnxlp\libnxlp.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name libnetxms
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "libnxmap"=.\src\libnxmap\libnxmap.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name libnetxms
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "libnxmc"=.\src\client\console\libnxmc\libnxmc.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name libnetxms
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name libnxcl
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "libnxsl"=.\src\libnxsl\libnxsl.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name libnetxms
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "libnxsnmp"=.\src\snmp\libnxsnmp\libnxsnmp.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "libnxsrv"=.\src\server\libnxsrv\libnxsrv.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name libnetxms
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name libnxsnmp
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "logwatch"=.\src\agent\subagents\logwatch\logwatch.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name libnetxms
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name libnxlp
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "mcpAlarmBrowser"=.\src\client\console\plugins\AlarmBrowser\mcpAlarmBrowser.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name libnetxms
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name libnxcl
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name libnxmc
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "mcpDashboard"=.\src\client\console\plugins\Dashboard\mcpDashboard.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name libnetxms
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name libnxcl
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name libnxmc
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "mcpObjectBrowser"=.\src\client\console\plugins\ObjectBrowser\mcpObjectBrowser.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name libnetxms
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name libnxcl
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name libnxmc
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "mssql"=.\src\server\dbdrv\mssql\mssql.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name libnetxms
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name libnxsrv
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "mysql"=.\src\server\dbdrv\mysql\mysql.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name libnetxms
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name libnxsrv
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "netxmsd"=.\src\server\netxmsd\netxmsd.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name libnetxms
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name libnxsnmp
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name nxcore
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "nxaction"=.\src\server\tools\nxaction\nxaction.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name libnetxms
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name libnxsrv
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "nxadm"=.\src\server\tools\nxadm\nxadm.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name libnetxms
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name libnxsrv
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "nxagentd"=.\src\agent\core\nxagentd.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name libnetxms
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "nxalarm"=.\src\client\nxalarm\nxalarm.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name libnetxms
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name libnxcl
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "nxconfig"=.\src\server\tools\nxconfig\nxconfig.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name libnetxms
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name libnxsrv
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "nxcore"=.\src\server\core\nxcore.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name libnetxms
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name libnxsnmp
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name libnxsrv
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name libnxsl
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name libnxmap
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name libnxlp
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "nxdbmgr"=.\src\server\tools\nxdbmgr\nxdbmgr.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name libnetxms
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name libnxsrv
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "nxevent"=.\src\client\nxevent\nxevent.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name libnetxms
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name libnxcl
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "nxget"=.\src\server\tools\nxget\nxget.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name libnetxms
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name libnxsrv
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "nxmc"=.\src\client\console\nxmc\nxmc.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name libnetxms
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name libnxcl
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name libnxmap
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name libnxmc
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name libnxsnmp
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "nxpush"=.\src\client\nxpush\nxpush.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name libnetxms
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name libnxcl
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "nxscript"=.\src\nxscript\nxscript.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name libnetxms
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name libnxsl
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "nxsms"=.\src\client\nxsms\nxsms.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name libnetxms
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name libnxcl
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "nxupload"=.\src\server\tools\nxupload\nxupload.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name libnetxms
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name libnxsrv
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "odbc"=.\src\server\dbdrv\odbc\odbc.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name libnetxms
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name libnxsrv
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "odbcquery"=.\src\agent\subagents\odbcquery\odbcquery.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name libnetxms
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "oracle"=.\src\server\dbdrv\oracle\oracle.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "pgsql"=.\src\server\dbdrv\pgsql\pgsql.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name libnetxms
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name libnxsrv
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "ping"=.\src\agent\subagents\ping\ping.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name libnetxms
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "portcheck"=.\src\agent\subagents\portCheck\portcheck.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name libnetxms
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "skeleton"=.\src\agent\subagents\skeleton\skeleton.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name libnetxms
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "sms"=.\src\agent\subagents\sms\sms.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name libnetxms
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "sqlite"=.\src\server\dbdrv\sqlite\sqlite.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name libnetxms
-    End Project Dependency
-    Begin Project Dependency
-    Project_Dep_Name libnxsrv
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "ups"=.\src\agent\subagents\ups\ups.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name libnetxms
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "win9x"=.\src\agent\subagents\win9x\win9x.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name libnetxms
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "winnt"=.\src\agent\subagents\winnt\winnt.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name libnetxms
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "winperf"=.\src\agent\subagents\winperf\winperf.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name libnetxms
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "wmi"=.\src\agent\subagents\wmi\wmi.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-    Begin Project Dependency
-    Project_Dep_Name libnetxms
-    End Project Dependency
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
diff --git a/src/agent/subagents/skeleton/skeleton.dsp b/src/agent/subagents/skeleton/skeleton.dsp
deleted file mode 100644 (file)
index 0495a02..0000000
+++ /dev/null
@@ -1,116 +0,0 @@
-# Microsoft Developer Studio Project File - Name="skeleton" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=skeleton - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "skeleton.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "skeleton.mak" CFG="skeleton - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "skeleton - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "skeleton - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "skeleton - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "SKELETON_EXPORTS" /YX /FD /c
-# ADD CPP /nologo /MD /W3 /GX- /O2 /I "..\..\..\..\include" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "SKELETON_EXPORTS" /YX /FD /c
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib libnetxms.lib /nologo /dll /machine:I386 /out:"Release/skeleton.nsm" /libpath:"..\..\..\libnetxms\Release"
-
-!ELSEIF  "$(CFG)" == "skeleton - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "SKELETON_EXPORTS" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX- /ZI /Od /I "..\..\..\..\include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "SKELETON_EXPORTS" /YX /FD /GZ /c
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib libnetxms.lib /nologo /dll /debug /machine:I386 /out:"Debug/skeleton.nsm" /pdbtype:sept /libpath:"..\..\..\libnetxms\Debug"
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Desc=Copy files
-PostBuild_Cmds=copy Debug\skeleton.nsm ..\..\..\..\bin
-# End Special Build Tool
-
-!ENDIF 
-
-# Begin Target
-
-# Name "skeleton - Win32 Release"
-# Name "skeleton - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\skeleton.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=..\..\..\..\include\nms_agent.h
-# End Source File
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/src/agent/subagents/skeleton/skeleton.dsw b/src/agent/subagents/skeleton/skeleton.dsw
deleted file mode 100644 (file)
index d689406..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "skeleton"=.\skeleton.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-