removed unused files in Java subagent; more Windows makefiles added
authorVictor Kirhenshtein <victor@netxms.org>
Sun, 5 Feb 2017 18:56:47 +0000 (20:56 +0200)
committerVictor Kirhenshtein <victor@netxms.org>
Sun, 5 Feb 2017 18:56:47 +0000 (20:56 +0200)
22 files changed:
Makefile.inc.w32
src/Makefile.w32
src/agent/subagents/Makefile.w32
src/agent/subagents/java/Action.cpp [deleted file]
src/agent/subagents/java/ListParameter.cpp [deleted file]
src/agent/subagents/java/Makefile.am
src/agent/subagents/java/Makefile.w32 [new file with mode: 0644]
src/agent/subagents/java/Parameter.cpp [deleted file]
src/agent/subagents/java/ParameterType.cpp [deleted file]
src/agent/subagents/java/PushParameter.cpp [deleted file]
src/agent/subagents/java/TableColumn.cpp [deleted file]
src/agent/subagents/java/TableParameter.cpp [deleted file]
src/agent/subagents/java/java/Makefile.am
src/agent/subagents/java/java/Makefile.w32 [new file with mode: 0644]
src/libnxsl/Makefile.am
src/libnxsl/Makefile.w32
src/libnxsl/parser.l
src/nxscript/Makefile.am
src/nxscript/Makefile.w32 [new file with mode: 0644]
src/snmp/Makefile.w32
src/snmp/nxmibc/Makefile.am
src/snmp/nxmibc/Makefile.w32 [new file with mode: 0644]

index f598e44..45c45e9 100644 (file)
@@ -51,6 +51,9 @@ WINDDK_BASE = C:\SDK\WinDDK
 !ifndef OPENSSL_BASE
 OPENSSL_BASE = C:\SDK\OpenSSL
 !endif
+!ifndef JDK_BASE
+JDK_BASE = C:\Program Files\Java\jdk1.8.0_121
+!endif
 
 # Binaries directory
 BINDIR = $(NETXMS_BASE)\bin\$(OBJDIR)
@@ -106,6 +109,15 @@ all: Makefile.w32 subdirs $(GENERATED) $(BINFILE)
 # Build target
 !ifdef TARGET
 
+!if "$(TYPE)" == "jar"
+
+$(BINFILE): pom.xml
+       mvn clean
+       mvn install
+       mv target/$(TARGET) $(BINFILE)
+
+!else
+
 $(BINFILE): objdir $(OBJ)
    @if not exist $(BINDIR) mkdir $(BINDIR)
    @echo "    LD " $(TARGET)
@@ -139,6 +151,7 @@ messages.h: messages.mc
    @$(MC) messages.mc
 
 !endif
+!endif
 
 # Clean
 .PHONY: clean
index 7f3d0ee..878409d 100644 (file)
@@ -1,3 +1,4 @@
-SUBDIRS = jansson libexpat libtre sqlite zlib libnetxms libnxlp libnxmap libnxmb libstrophe db snmp appagent agent
+SUBDIRS = jansson libexpat libtre sqlite zlib libnetxms libnxlp libnxmap libnxmb libnxsl libstrophe \
+          nxscript db snmp appagent agent
 
 include ..\Makefile.inc.w32
index c7154e5..791b99c 100644 (file)
@@ -1,3 +1,3 @@
-SUBDIRS = db2 dbquery devemu ecs filemgr gps informix
+SUBDIRS = db2 dbquery devemu ecs filemgr gps informix java
 
 include ..\..\..\Makefile.inc.w32
diff --git a/src/agent/subagents/java/Action.cpp b/src/agent/subagents/java/Action.cpp
deleted file mode 100644 (file)
index a1861cd..0000000
+++ /dev/null
@@ -1,313 +0,0 @@
-/* 
- ** Java-Bridge NetXMS subagent
- ** Copyright (C) 2013 TEMPEST a.s.
- **
- ** 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: Action.cpp
- **
- **/
-
-#include "java_subagent.h"
-#include "Action.h"
-#include "JNIException.h"
-
-namespace org_netxms_agent
-{
-
-   // Static declarations (if any)
-
-   // Returns the current env
-
-   JNIEnv * Action::getCurrentEnv()
-   {
-      JNIEnv * curEnv = NULL;
-      jint res=this->jvm->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
-      if (res != JNI_OK)
-      {
-         AgentWriteLog(NXLOG_ERROR, _T("Action: Could not retrieve the current JVM."));
-         throw JNIException();
-
-      }
-      return curEnv;
-   }
-   // Destructor
-
-   Action::~Action()
-   {
-      JNIEnv * curEnv = NULL;
-      this->jvm->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
-
-      curEnv->DeleteGlobalRef(this->instance);
-      curEnv->DeleteGlobalRef(this->instanceClass);
-      curEnv->DeleteGlobalRef(this->stringArrayClass);
-   }
-   // Constructors
-   Action::Action(JavaVM * jvm_)
-   {
-      jmethodID constructObject = NULL ;
-      jobject localInstance ;
-      jclass localClass ;
-
-      const char *construct="<init>";
-      const char *param="()V";
-      jvm=jvm_;
-
-      JNIEnv * curEnv = getCurrentEnv();
-
-      localClass = curEnv->FindClass( this->className() ) ;
-      if (localClass == NULL)
-      {
-         AgentWriteLog(NXLOG_ERROR, _T("Action: Could not get the Class %s"), WideStringFromMBString(this->className()));
-
-         throw JNIException();
-      }
-
-      this->instanceClass = static_cast<jclass>(curEnv->NewGlobalRef(localClass));
-
-      /* localClass is not needed anymore */
-      curEnv->DeleteLocalRef(localClass);
-
-      if (this->instanceClass == NULL)
-      {
-         AgentWriteLog(NXLOG_ERROR, _T("Action: Could not create a Global Ref of %s"), WideStringFromMBString(this->className()));
-
-         throw JNIException();
-      }
-
-      constructObject = curEnv->GetMethodID( this->instanceClass, construct , param ) ;
-      if(constructObject == NULL)
-      {
-         AgentWriteLog(NXLOG_ERROR, _T("Action: Could not retrieve the constructor of the class %s with the profile : %s%s"), WideStringFromMBString(this->className()), WideStringFromMBString(construct), WideStringFromMBString(param));
-
-         throw JNIException();
-      }
-
-      localInstance = curEnv->NewObject( this->instanceClass, constructObject ) ;
-      if(localInstance == NULL)
-      {
-         AgentWriteLog(NXLOG_ERROR, _T("Action: Could not instantiate the object %s with the constructor : %s%s"), WideStringFromMBString(this->className()), WideStringFromMBString(construct), WideStringFromMBString(param));
-
-         throw JNIException();
-      }
-
-      this->instance = curEnv->NewGlobalRef(localInstance) ;
-      if(this->instance == NULL)
-      {
-         AgentWriteLog(NXLOG_ERROR, _T("Action: Could not create a new global ref of %s"), WideStringFromMBString(this->className()));
-
-         throw JNIException();
-      }
-      /* localInstance not needed anymore */
-      curEnv->DeleteLocalRef(localInstance);
-
-      /* Methods ID set to NULL */
-      jstringgetNameID=NULL;
-      jstringgetDescriptionID=NULL;
-      voidexecutejstringjava_lang_StringjobjectArray_java_lang_Stringjava_lang_StringID=NULL;
-
-      jclass localStringArrayClass = curEnv->FindClass("java/lang/String");
-      stringArrayClass = static_cast<jclass>(curEnv->NewGlobalRef(localStringArrayClass));
-      curEnv->DeleteLocalRef(localStringArrayClass);
-
-   }
-
-   Action::Action(JavaVM * jvm_, jobject JObj)
-   {
-      jvm=jvm_;
-
-      JNIEnv * curEnv = getCurrentEnv();
-
-      jclass localClass = curEnv->GetObjectClass(JObj);
-      this->instanceClass = static_cast<jclass>(curEnv->NewGlobalRef(localClass));
-      curEnv->DeleteLocalRef(localClass);
-
-      if (this->instanceClass == NULL)
-      {
-
-         AgentWriteLog(NXLOG_ERROR, _T("Action: Could not create a Global Ref of %s"), WideStringFromMBString(this->className()));
-
-         throw JNIException();
-      }
-
-      this->instance = curEnv->NewGlobalRef(JObj) ;
-      if(this->instance == NULL)
-      {
-
-         AgentWriteLog(NXLOG_ERROR, _T("Action: Could not create a new global ref of %s"), WideStringFromMBString(this->className()));
-
-         throw JNIException();
-      }
-      /* Methods ID set to NULL */
-      jstringgetNameID=NULL;
-      jstringgetDescriptionID=NULL;
-      voidexecutejstringjava_lang_StringjobjectArray_java_lang_Stringjava_lang_StringID=NULL;
-
-      jclass localStringArrayClass = curEnv->FindClass("java/lang/String");
-      stringArrayClass = static_cast<jclass>(curEnv->NewGlobalRef(localStringArrayClass));
-      curEnv->DeleteLocalRef(localStringArrayClass);
-
-   }
-
-   // Generic methods
-
-   void Action::synchronize()
-   {
-      if (getCurrentEnv()->MonitorEnter(instance) != JNI_OK)
-      {
-         AgentWriteLog(NXLOG_ERROR, _T("Action: Fail to enter monitor."));
-         throw JNIException();
-
-      }
-   }
-
-   void Action::endSynchronize()
-   {
-      if ( getCurrentEnv()->MonitorExit(instance) != JNI_OK)
-      {
-
-         AgentWriteLog(NXLOG_ERROR, _T("Action: Fail to exit monitor."));
-         throw JNIException();
-      }
-   }
-   // Method(s)
-
-   TCHAR* Action::getName ()
-   {
-
-      JNIEnv * curEnv = getCurrentEnv();
-
-      if (jstringgetNameID==NULL)/* Use the cache */
-      {
-         jstringgetNameID = curEnv->GetMethodID(this->instanceClass, "getName", "()Ljava/lang/String;" ) ;
-         if (jstringgetNameID == NULL)
-         {
-            AgentWriteLog(NXLOG_ERROR, _T("Action: Could not access to the method getName"));
-
-            throw JNIException();
-         }
-      }
-      jstring res =  static_cast<jstring>( curEnv->CallObjectMethod( this->instance, jstringgetNameID ));
-      if (curEnv->ExceptionCheck())
-      {
-         curEnv->ExceptionDescribe() ;
-      }
-      if (res != NULL)
-      {
-
-         TCHAR *myStringBuffer = CStringFromJavaString(curEnv, res);
-         curEnv->DeleteLocalRef(res);
-
-         return myStringBuffer;
-      }
-      else
-      {
-         curEnv->DeleteLocalRef(res);
-         return NULL;
-      }
-   }
-
-   TCHAR* Action::getDescription ()
-   {
-
-      JNIEnv * curEnv = getCurrentEnv();
-
-                                 /* Use the cache */
-      if (jstringgetDescriptionID==NULL)
-      {
-         jstringgetDescriptionID = curEnv->GetMethodID(this->instanceClass, "getDescription", "()Ljava/lang/String;" ) ;
-         if (jstringgetDescriptionID == NULL)
-         {
-            AgentWriteLog(NXLOG_ERROR, _T("Action: Could not access to the method getDescription"));
-
-            throw JNIException();
-         }
-      }
-      jstring res =  static_cast<jstring>( curEnv->CallObjectMethod( this->instance, jstringgetDescriptionID ));
-      if (curEnv->ExceptionCheck())
-      {
-         curEnv->ExceptionDescribe() ;
-      }
-      if (res != NULL)
-      {
-
-         TCHAR *myStringBuffer = CStringFromJavaString(curEnv, res);
-         curEnv->DeleteLocalRef(res);
-
-         return myStringBuffer;
-      }
-      else
-      {
-         curEnv->DeleteLocalRef(res);
-         return NULL;
-      }
-   }
-
-   void Action::execute (TCHAR const* action, TCHAR const* const* args, int argsSize)
-   {
-
-      JNIEnv * curEnv = getCurrentEnv();
-
-                                 /* Use the cache */
-      if (voidexecutejstringjava_lang_StringjobjectArray_java_lang_Stringjava_lang_StringID==NULL)
-      {
-         voidexecutejstringjava_lang_StringjobjectArray_java_lang_Stringjava_lang_StringID = curEnv->GetMethodID(this->instanceClass, "execute", "(Ljava/lang/String;[Ljava/lang/String;)V" ) ;
-         if (voidexecutejstringjava_lang_StringjobjectArray_java_lang_Stringjava_lang_StringID == NULL)
-         {
-            AgentWriteLog(NXLOG_ERROR, _T("Action: Could not access to the method execute"));
-
-            throw JNIException();
-         }
-      }
-      jstring action_ = JavaStringFromCString(curEnv, action);
-      if (action != NULL && action_ == NULL)
-      {
-         AgentWriteLog(NXLOG_ERROR, _T("Action: Could not convert C string to Java  string, memory full."));
-         throw JNIException();
-      }
-
-      jclass stringArrayClass = curEnv->FindClass("java/lang/String");
-
-      // create java array of strings.
-      jobjectArray args_ = curEnv->NewObjectArray( argsSize, stringArrayClass, NULL);
-      if (args_ == NULL)
-      {
-         AgentWriteLog(NXLOG_ERROR, _T("Action: Could not allocate Java string array, memory full."));
-         throw JNIException();
-      }
-
-      // convert each TCHAR * to java strings and fill the java array.
-      for ( int i = 0; i < argsSize; i++)
-      {
-         jstring tempString = JavaStringFromCString(curEnv, args[i]);
-         if (tempString == NULL)
-         {
-            AgentWriteLog(NXLOG_ERROR, _T("Action: Could not convert C string to Java  string, memory full."));
-            throw JNIException();
-         }
-
-         curEnv->SetObjectArrayElement(args_, i, tempString);
-
-         // avoid keeping reference on to many strings
-         curEnv->DeleteLocalRef(tempString);
-      }
-      curEnv->CallVoidMethod( this->instance, voidexecutejstringjava_lang_StringjobjectArray_java_lang_Stringjava_lang_StringID ,action_, args_);
-      curEnv->DeleteLocalRef(stringArrayClass);
-      curEnv->DeleteLocalRef(action_);
-      curEnv->DeleteLocalRef(args_);
-
-   }
-
-}
diff --git a/src/agent/subagents/java/ListParameter.cpp b/src/agent/subagents/java/ListParameter.cpp
deleted file mode 100644 (file)
index 9a9b155..0000000
+++ /dev/null
@@ -1,261 +0,0 @@
-/* 
- ** Java-Bridge NetXMS subagent
- ** Copyright (C) 2013 TEMPEST a.s.
- **
- ** 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: ListParameter.cpp
- **
- **/
-
-#include "java_subagent.h"
-#include "ListParameter.h"
-#include "JNIException.h"
-
-namespace org_netxms_agent
-{
-
-   // Static declarations (if any)
-
-   // Returns the current env
-
-   JNIEnv * ListParameter::getCurrentEnv()
-   {
-      JNIEnv * curEnv = NULL;
-      jint res=this->jvm->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
-      if (res != JNI_OK)
-      {
-         AgentWriteLog(NXLOG_ERROR, _T("ListParameter: Could not retrieve the current JVM."));
-         throw JNIException();
-
-      }
-      return curEnv;
-   }
-   // Destructor
-
-   ListParameter::~ListParameter()
-   {
-      JNIEnv * curEnv = NULL;
-      this->jvm->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
-
-      curEnv->DeleteGlobalRef(this->instance);
-      curEnv->DeleteGlobalRef(this->instanceClass);
-   }
-   // Constructors
-   ListParameter::ListParameter(JavaVM * jvm_)
-   {
-      jmethodID constructObject = NULL ;
-      jobject localInstance ;
-      jclass localClass ;
-
-      const char *construct="<init>";
-      const char *param="()V";
-      jvm=jvm_;
-
-      JNIEnv * curEnv = getCurrentEnv();
-
-      localClass = curEnv->FindClass( this->className() ) ;
-      if (localClass == NULL)
-      {
-         AgentWriteLog(NXLOG_ERROR, _T("ListParameter: Could not get the Class %s"), WideStringFromMBString(this->className()));
-
-         throw JNIException();
-      }
-
-      this->instanceClass = static_cast<jclass>(curEnv->NewGlobalRef(localClass));
-
-      /* localClass is not needed anymore */
-      curEnv->DeleteLocalRef(localClass);
-
-      if (this->instanceClass == NULL)
-      {
-         AgentWriteLog(NXLOG_ERROR, _T("ListParameter: Could not create a Global Ref of %s"), WideStringFromMBString(this->className()));
-
-         throw JNIException();
-      }
-
-      constructObject = curEnv->GetMethodID( this->instanceClass, construct , param ) ;
-      if(constructObject == NULL)
-      {
-         AgentWriteLog(NXLOG_ERROR, _T("ListParameter: Could not retrieve the constructor of the class %s with the profile : %s%s"), WideStringFromMBString(this->className()), WideStringFromMBString(construct), WideStringFromMBString(param));
-
-         throw JNIException();
-      }
-
-      localInstance = curEnv->NewObject( this->instanceClass, constructObject ) ;
-      if(localInstance == NULL)
-      {
-         AgentWriteLog(NXLOG_ERROR, _T("ListParameter: Could not instantiate the object %s with the constructor : %s%s"), WideStringFromMBString(this->className()), WideStringFromMBString(construct), WideStringFromMBString(param));
-
-         throw JNIException();
-      }
-
-      this->instance = curEnv->NewGlobalRef(localInstance) ;
-      if(this->instance == NULL)
-      {
-         AgentWriteLog(NXLOG_ERROR, _T("ListParameter: Could not create a new global ref of %s"), WideStringFromMBString(this->className()));
-
-         throw JNIException();
-      }
-      /* localInstance not needed anymore */
-      curEnv->DeleteLocalRef(localInstance);
-
-      /* Methods ID set to NULL */
-      jstringgetNameID=NULL;
-      jobjectArray_getValuesjstringjava_lang_StringID=NULL;
-
-   }
-
-   ListParameter::ListParameter(JavaVM * jvm_, jobject JObj)
-   {
-      jvm=jvm_;
-
-      JNIEnv * curEnv = getCurrentEnv();
-
-      jclass localClass = curEnv->GetObjectClass(JObj);
-      this->instanceClass = static_cast<jclass>(curEnv->NewGlobalRef(localClass));
-      curEnv->DeleteLocalRef(localClass);
-
-      if (this->instanceClass == NULL)
-      {
-
-         AgentWriteLog(NXLOG_ERROR, _T("ListParameter: Could not create a Global Ref of %s"), WideStringFromMBString(this->className()));
-
-         throw JNIException();
-      }
-
-      this->instance = curEnv->NewGlobalRef(JObj) ;
-      if(this->instance == NULL)
-      {
-
-         AgentWriteLog(NXLOG_ERROR, _T("ListParameter: Could not create a new global ref of %s"), WideStringFromMBString(this->className()));
-
-         throw JNIException();
-      }
-      /* Methods ID set to NULL */
-      jstringgetNameID=NULL;
-      jobjectArray_getValuesjstringjava_lang_StringID=NULL;
-
-   }
-
-   // Generic methods
-
-   void ListParameter::synchronize()
-   {
-      if (getCurrentEnv()->MonitorEnter(instance) != JNI_OK)
-      {
-         AgentWriteLog(NXLOG_ERROR, _T("ListParameter: Fail to enter monitor."));
-         throw JNIException();
-
-      }
-   }
-
-   void ListParameter::endSynchronize()
-   {
-      if ( getCurrentEnv()->MonitorExit(instance) != JNI_OK)
-      {
-
-         AgentWriteLog(NXLOG_ERROR, _T("ListParameter: Fail to exit monitor."));
-         throw JNIException();
-      }
-   }
-   // Method(s)
-
-   TCHAR* ListParameter::getName ()
-   {
-
-      JNIEnv * curEnv = getCurrentEnv();
-
-      if (jstringgetNameID==NULL)/* Use the cache */
-      {
-         jstringgetNameID = curEnv->GetMethodID(this->instanceClass, "getName", "()Ljava/lang/String;" ) ;
-         if (jstringgetNameID == NULL)
-         {
-            AgentWriteLog(NXLOG_ERROR, _T("ListParameter: Could not access to the method getName"));
-
-            throw JNIException();
-         }
-      }
-      jstring res =  static_cast<jstring>( curEnv->CallObjectMethod( this->instance, jstringgetNameID ));
-      if (curEnv->ExceptionCheck())
-      {
-         curEnv->ExceptionDescribe() ;
-      }
-      if (res != NULL)
-      {
-         TCHAR *myStringBuffer = CStringFromJavaString(curEnv, res);
-         curEnv->DeleteLocalRef(res);
-         return myStringBuffer;
-      }
-      else
-      {
-         curEnv->DeleteLocalRef(res);
-         return NULL;
-      }
-   }
-
-   TCHAR **ListParameter::getValues(TCHAR const* param, int *lenRow)
-   {
-
-      JNIEnv * curEnv = getCurrentEnv();
-
-                                 /* Use the cache */
-      if (jobjectArray_getValuesjstringjava_lang_StringID==NULL)
-      {
-         jobjectArray_getValuesjstringjava_lang_StringID = curEnv->GetMethodID(this->instanceClass, "getValues", "(Ljava/lang/String;)[Ljava/lang/String;" ) ;
-         if (jobjectArray_getValuesjstringjava_lang_StringID == NULL)
-         {
-            AgentWriteLog(NXLOG_ERROR, _T("ListParameter: Could not access to the method getValues"));
-
-            throw JNIException();
-         }
-      }
-      jstring param_ = JavaStringFromCString(curEnv, param);
-      if (param != NULL && param_ == NULL)
-      {
-         AgentWriteLog(NXLOG_ERROR, _T("ListParameter: Could not convert C string to Java  string, memory full."));
-         throw JNIException();
-      }
-
-      jobjectArray res =  static_cast<jobjectArray>( curEnv->CallObjectMethod( this->instance, jobjectArray_getValuesjstringjava_lang_StringID ,param_));
-      if (curEnv->ExceptionCheck())
-      {
-         curEnv->ExceptionDescribe() ;
-      }
-      if (res != NULL)
-      {
-         * lenRow = curEnv->GetArrayLength(res);
-
-         TCHAR **arrayOfString;
-         arrayOfString = new TCHAR *[*lenRow];
-         for (jsize i = 0; i < *lenRow; i++)
-         {
-            jstring resString = reinterpret_cast<jstring>(curEnv->GetObjectArrayElement(res, i));
-            arrayOfString[i] = CStringFromJavaString(curEnv, resString);
-            curEnv->DeleteLocalRef(resString);
-         }
-         curEnv->DeleteLocalRef(param_);
-
-         curEnv->DeleteLocalRef(res);
-         return arrayOfString;
-      }
-      else
-      {
-         curEnv->DeleteLocalRef(res);
-         return NULL;
-      }
-   }
-
-}
index f6a7b07..5752d74 100644 (file)
@@ -7,6 +7,7 @@ java_la_LDFLAGS = -module -avoid-version -export-symbols ../subagent.sym
 java_la_LIBADD = ../../libnxagent/libnxagent.la ../../../libnetxms/libnetxms.la
 
 EXTRA_DIST = \
+       Makefile.w32 \
        java.vcproj \
        java_subagent.h \
        SubAgent.h
diff --git a/src/agent/subagents/java/Makefile.w32 b/src/agent/subagents/java/Makefile.w32
new file mode 100644 (file)
index 0000000..f55298d
--- /dev/null
@@ -0,0 +1,8 @@
+TARGET = java.nsm
+TYPE = nsm
+SOURCES = ConfigHelper.cpp main.cpp SubAgent.cpp
+CPPFLAGS = /I "$(JDK_BASE)\include" /I "$(JDK_BASE)\include\win32"
+LIBS = libnxagent.lib libnetxms.lib
+SUBDIRS = java
+         
+include ..\..\..\..\Makefile.inc.w32
diff --git a/src/agent/subagents/java/Parameter.cpp b/src/agent/subagents/java/Parameter.cpp
deleted file mode 100644 (file)
index 8059d85..0000000
+++ /dev/null
@@ -1,311 +0,0 @@
-/* 
- ** Java-Bridge NetXMS subagent
- ** Copyright (C) 2013 TEMPEST a.s.
- **
- ** 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: Parameter.cpp
- **
- **/
-
-#include "java_subagent.h"
-#include "Parameter.h"
-#include "JNIException.h"
-
-namespace org_netxms_agent
-{
-
-   // Static declarations (if any)
-
-   // Returns the current env
-
-   JNIEnv *Parameter::getCurrentEnv()
-   {
-      JNIEnv *curEnv = NULL;
-      jint res = jvm->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
-      if (res != JNI_OK)
-      {
-         AgentWriteLog(NXLOG_ERROR, _T("Parameter: Could not retrieve the current JVM."));
-         throw JNIException();
-      }
-      return curEnv;
-   }
-   // Destructor
-
-   Parameter::~Parameter()
-   {
-      JNIEnv *curEnv = NULL;
-      jvm->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
-
-      curEnv->DeleteGlobalRef(this->instance);
-      curEnv->DeleteGlobalRef(this->instanceClass);
-   }
-   // Constructors
-   Parameter::Parameter(JavaVM * jvm_)
-   {
-      jmethodID constructObject = NULL ;
-      jobject localInstance ;
-      jclass localClass ;
-
-      const char *construct="<init>";
-      const char *param="()V";
-      jvm = jvm_;
-
-      JNIEnv *curEnv = getCurrentEnv();
-
-      localClass = curEnv->FindClass( this->className() ) ;
-      if (localClass == NULL)
-      {
-         AgentWriteLog(NXLOG_ERROR, _T("Parameter: Could not get class %hs"), className());
-         throw JNIException();
-      }
-
-      this->instanceClass = static_cast<jclass>(curEnv->NewGlobalRef(localClass));
-
-      /* localClass is not needed anymore */
-      curEnv->DeleteLocalRef(localClass);
-
-      if (this->instanceClass == NULL)
-      {
-         AgentWriteLog(NXLOG_ERROR, _T("Parameter: Could not create a Global Ref of %hs"), className());
-         throw JNIException();
-      }
-
-      constructObject = curEnv->GetMethodID( this->instanceClass, construct , param ) ;
-      if(constructObject == NULL)
-      {
-         AgentWriteLog(NXLOG_ERROR, _T("Parameter: Could not retrieve the constructor of the class %hs with the profile %hs%hs"), className(), construct, param);
-
-         throw JNIException();
-      }
-
-      localInstance = curEnv->NewObject( this->instanceClass, constructObject ) ;
-      if(localInstance == NULL)
-      {
-         AgentWriteLog(NXLOG_ERROR, _T("Parameter: Could not instantiate object %hs with the constructor %hs%hs"), className(), construct, param);
-
-         throw JNIException();
-      }
-
-      instance = curEnv->NewGlobalRef(localInstance);
-      if (instance == NULL)
-      {
-         AgentWriteLog(NXLOG_ERROR, _T("Parameter: Could not create a new global ref of %s"), className());
-         throw JNIException();
-      }
-      /* localInstance not needed anymore */
-      curEnv->DeleteLocalRef(localInstance);
-
-      /* Methods ID set to NULL */
-      jstringgetNameID=NULL;
-      jstringgetDescriptionID=NULL;
-      jobjectgetTypeID=NULL;
-      jstringgetValuejstringjava_lang_StringID=NULL;
-
-   }
-
-   Parameter::Parameter(JavaVM * jvm_, jobject JObj)
-   {
-      jvm=jvm_;
-
-      JNIEnv * curEnv = getCurrentEnv();
-
-      jclass localClass = curEnv->GetObjectClass(JObj);
-      this->instanceClass = static_cast<jclass>(curEnv->NewGlobalRef(localClass));
-      curEnv->DeleteLocalRef(localClass);
-
-      if (this->instanceClass == NULL)
-      {
-
-         AgentWriteLog(NXLOG_ERROR, _T("Parameter: Could not create a Global Ref of %hs"), className());
-         throw JNIException();
-      }
-
-      this->instance = curEnv->NewGlobalRef(JObj) ;
-      if(this->instance == NULL)
-      {
-
-         AgentWriteLog(NXLOG_ERROR, _T("Parameter: Could not create a new global ref of %hs"), className());
-
-         throw JNIException();
-      }
-      /* Methods ID set to NULL */
-      jstringgetNameID=NULL;
-      jstringgetDescriptionID=NULL;
-      jobjectgetTypeID=NULL;
-      jstringgetValuejstringjava_lang_StringID=NULL;
-
-   }
-
-   // Generic methods
-
-   void Parameter::synchronize()
-   {
-      if (getCurrentEnv()->MonitorEnter(instance) != JNI_OK)
-      {
-         AgentWriteLog(NXLOG_ERROR, _T("Parameter: Fail to enter monitor."));
-         throw JNIException();
-
-      }
-   }
-
-   void Parameter::endSynchronize()
-   {
-      if ( getCurrentEnv()->MonitorExit(instance) != JNI_OK)
-      {
-
-         AgentWriteLog(NXLOG_ERROR, _T("Parameter: Fail to exit monitor."));
-         throw JNIException();
-      }
-   }
-   // Method(s)
-
-   TCHAR* Parameter::getName ()
-   {
-
-      JNIEnv * curEnv = getCurrentEnv();
-
-      if (jstringgetNameID==NULL)/* Use the cache */
-      {
-         jstringgetNameID = curEnv->GetMethodID(this->instanceClass, "getName", "()Ljava/lang/String;" ) ;
-         if (jstringgetNameID == NULL)
-         {
-            AgentWriteLog(NXLOG_ERROR, _T("Parameter: Could not access to the method getName"));
-
-            throw JNIException();
-         }
-      }
-      jstring res =  static_cast<jstring>( curEnv->CallObjectMethod( this->instance, jstringgetNameID ));
-      if (curEnv->ExceptionCheck())
-      {
-         curEnv->ExceptionDescribe() ;
-      }
-      if (res != NULL)
-      {
-         TCHAR *myStringBuffer = CStringFromJavaString(curEnv, res);
-         curEnv->DeleteLocalRef(res);
-         return myStringBuffer;
-      }
-      else
-      {
-         curEnv->DeleteLocalRef(res);
-         return NULL;
-      }
-   }
-
-   TCHAR* Parameter::getDescription ()
-   {
-
-      JNIEnv * curEnv = getCurrentEnv();
-
-                                 /* Use the cache */
-      if (jstringgetDescriptionID==NULL)
-      {
-         jstringgetDescriptionID = curEnv->GetMethodID(this->instanceClass, "getDescription", "()Ljava/lang/String;" ) ;
-         if (jstringgetDescriptionID == NULL)
-         {
-            AgentWriteLog(NXLOG_ERROR, _T("Parameter: Could not access to the method getDescription"));
-
-            throw JNIException();
-         }
-      }
-      jstring res =  static_cast<jstring>( curEnv->CallObjectMethod( this->instance, jstringgetDescriptionID ));
-      if (curEnv->ExceptionCheck())
-      {
-         curEnv->ExceptionDescribe() ;
-      }
-      if (res != NULL)
-      {
-         TCHAR * myStringBuffer = CStringFromJavaString(curEnv, res);
-         curEnv->DeleteLocalRef(res);
-         return myStringBuffer;
-      }
-      else
-      {
-         curEnv->DeleteLocalRef(res);
-         return NULL;
-      }
-   }
-
-   ParameterType Parameter::getType ()
-   {
-
-      JNIEnv * curEnv = getCurrentEnv();
-
-      if (jobjectgetTypeID==NULL)/* Use the cache */
-      {
-         jobjectgetTypeID = curEnv->GetMethodID(this->instanceClass, "getType", "()Lorg/netxms/agent/ParameterType;" ) ;
-         if (jobjectgetTypeID == NULL)
-         {
-            AgentWriteLog(NXLOG_ERROR, _T("Parameter: Could not access to the method getType"));
-
-            throw JNIException();
-         }
-      }
-      jobject res =  static_cast<jobject>( curEnv->CallObjectMethod( this->instance, jobjectgetTypeID ));
-      if (curEnv->ExceptionCheck())
-      {
-         curEnv->ExceptionDescribe() ;
-      }
-      if (res != NULL)
-      {
-
-         return * (new ParameterType(jvm, res));
-      }
-      else
-      {
-         curEnv->DeleteLocalRef(res);
-         return NULL;
-      }
-   }
-
-   TCHAR *Parameter::getValue(const TCHAR *param)
-   {
-
-      JNIEnv * curEnv = getCurrentEnv();
-
-                                 /* Use the cache */
-      if (jstringgetValuejstringjava_lang_StringID==NULL)
-      {
-         jstringgetValuejstringjava_lang_StringID = curEnv->GetMethodID(this->instanceClass, "getValue", "(Ljava/lang/String;)Ljava/lang/String;" ) ;
-         if (jstringgetValuejstringjava_lang_StringID == NULL)
-         {
-            AgentWriteLog(NXLOG_ERROR, _T("Parameter: Could not access to the method getValue"));
-
-            throw JNIException();
-         }
-      }
-      jstring param_ = JavaStringFromCString(curEnv, param);
-      if (param != NULL && param_ == NULL)
-      {
-         AgentWriteLog(NXLOG_ERROR, _T("Parameter: Could not convert C string to Java  string, memory full."));
-         throw JNIException();
-      }
-
-      jstring res =  static_cast<jstring>( curEnv->CallObjectMethod( this->instance, jstringgetValuejstringjava_lang_StringID ,param_));
-      if (curEnv->ExceptionCheck())
-      {
-         curEnv->ExceptionDescribe();
-      }
-      curEnv->DeleteLocalRef(param_);
-      if (res != NULL)
-      {
-         TCHAR * myStringBuffer = CStringFromJavaString(curEnv, res);
-         curEnv->DeleteLocalRef(res);
-         return myStringBuffer;
-      }
-      return NULL;
-   }
-}
diff --git a/src/agent/subagents/java/ParameterType.cpp b/src/agent/subagents/java/ParameterType.cpp
deleted file mode 100644 (file)
index dfcbf9f..0000000
+++ /dev/null
@@ -1,195 +0,0 @@
-/* 
- ** Java-Bridge NetXMS subagent
- ** Copyright (C) 2013 TEMPEST a.s.
- **
- ** 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: ParameterType.cpp
- **
- **/
-
-#include "java_subagent.h"
-#include "ParameterType.h"
-#include "JNIException.h"
-
-namespace org_netxms_agent
-{
-
-   // Static declarations (if any)
-
-   // Returns the current env
-
-   JNIEnv * ParameterType::getCurrentEnv()
-   {
-      JNIEnv * curEnv = NULL;
-      jint res=this->jvm->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
-      if (res != JNI_OK)
-      {
-         AgentWriteLog(NXLOG_ERROR, _T("ParameterType: Could not retrieve the current JVM."));
-         throw JNIException();
-
-      }
-      return curEnv;
-   }
-   // Destructor
-
-   ParameterType::~ParameterType()
-   {
-      JNIEnv * curEnv = NULL;
-      this->jvm->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
-
-      curEnv->DeleteGlobalRef(this->instance);
-      curEnv->DeleteGlobalRef(this->instanceClass);
-   }
-   // Constructors
-   ParameterType::ParameterType(JavaVM * jvm_)
-   {
-      jmethodID constructObject = NULL ;
-      jobject localInstance ;
-      jclass localClass ;
-
-      const char *construct="<init>";
-      const char *param="()V";
-      jvm=jvm_;
-
-      JNIEnv * curEnv = getCurrentEnv();
-
-      localClass = curEnv->FindClass( this->className() ) ;
-      if (localClass == NULL)
-      {
-         AgentWriteLog(NXLOG_ERROR, _T("ParameterType: Could not get the Class %s"), WideStringFromMBString(this->className()));
-
-         throw JNIException();
-      }
-
-      this->instanceClass = static_cast<jclass>(curEnv->NewGlobalRef(localClass));
-
-      /* localClass is not needed anymore */
-      curEnv->DeleteLocalRef(localClass);
-
-      if (this->instanceClass == NULL)
-      {
-         AgentWriteLog(NXLOG_ERROR, _T("ParameterType: Could not create a Global Ref of %s"), WideStringFromMBString(this->className()));
-
-         throw JNIException();
-      }
-
-      constructObject = curEnv->GetMethodID( this->instanceClass, construct , param ) ;
-      if(constructObject == NULL)
-      {
-         AgentWriteLog(NXLOG_ERROR, _T("ParameterType: Could not retrieve the constructor of the class %s with the profile : %s%s"), WideStringFromMBString(this->className()), WideStringFromMBString(construct), WideStringFromMBString(param));
-
-         throw JNIException();
-      }
-
-      localInstance = curEnv->NewObject( this->instanceClass, constructObject ) ;
-      if(localInstance == NULL)
-      {
-         AgentWriteLog(NXLOG_ERROR, _T("ParameterType: Could not instantiate the object %s with the constructor : %s%s"), WideStringFromMBString(this->className()), WideStringFromMBString(construct), WideStringFromMBString(param));
-
-         throw JNIException();
-      }
-
-      this->instance = curEnv->NewGlobalRef(localInstance) ;
-      if(this->instance == NULL)
-      {
-         AgentWriteLog(NXLOG_ERROR, _T("ParameterType: Could not create a new global ref of %s"), WideStringFromMBString(this->className()));
-
-         throw JNIException();
-      }
-      /* localInstance not needed anymore */
-      curEnv->DeleteLocalRef(localInstance);
-
-      /* Methods ID set to NULL */
-      jintgetValueID=NULL;
-
-   }
-
-   ParameterType::ParameterType(JavaVM * jvm_, jobject JObj)
-   {
-      jvm=jvm_;
-
-      JNIEnv * curEnv = getCurrentEnv();
-
-      jclass localClass = curEnv->GetObjectClass(JObj);
-      this->instanceClass = static_cast<jclass>(curEnv->NewGlobalRef(localClass));
-      curEnv->DeleteLocalRef(localClass);
-
-      if (this->instanceClass == NULL)
-      {
-
-         AgentWriteLog(NXLOG_ERROR, _T("ParameterType: Could not create a Global Ref of %s"), WideStringFromMBString(this->className()));
-
-         throw JNIException();
-      }
-
-      this->instance = curEnv->NewGlobalRef(JObj) ;
-      if(this->instance == NULL)
-      {
-
-         AgentWriteLog(NXLOG_ERROR, _T("ParameterType: Could not create a new global ref of %s"), WideStringFromMBString(this->className()));
-
-         throw JNIException();
-      }
-      /* Methods ID set to NULL */
-      jintgetValueID=NULL;
-
-   }
-
-   // Generic methods
-
-   void ParameterType::synchronize()
-   {
-      if (getCurrentEnv()->MonitorEnter(instance) != JNI_OK)
-      {
-         AgentWriteLog(NXLOG_ERROR, _T("ParameterType: Fail to enter monitor."));
-         throw JNIException();
-
-      }
-   }
-
-   void ParameterType::endSynchronize()
-   {
-      if ( getCurrentEnv()->MonitorExit(instance) != JNI_OK)
-      {
-
-         AgentWriteLog(NXLOG_ERROR, _T("ParameterType: Fail to exit monitor."));
-         throw JNIException();
-      }
-   }
-   // Method(s)
-
-   int ParameterType::getValue ()
-   {
-
-      JNIEnv * curEnv = getCurrentEnv();
-
-      if (jintgetValueID==NULL)  /* Use the cache */
-      {
-         jintgetValueID = curEnv->GetMethodID(this->instanceClass, "getValue", "()I" ) ;
-         if (jintgetValueID == NULL)
-         {
-            AgentWriteLog(NXLOG_ERROR, _T("ParameterType: Could not access to the method getValue"));
-
-            throw JNIException();
-         }
-      }
-      jint res =  static_cast<jint>( curEnv->CallIntMethod( this->instance, jintgetValueID ));
-
-      return res;
-
-   }
-
-}
diff --git a/src/agent/subagents/java/PushParameter.cpp b/src/agent/subagents/java/PushParameter.cpp
deleted file mode 100644 (file)
index 83d092b..0000000
+++ /dev/null
@@ -1,269 +0,0 @@
-/* 
- ** Java-Bridge NetXMS subagent
- ** Copyright (C) 2013 TEMPEST a.s.
- **
- ** 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: PushParameter.cpp
- **
- **/
-
-#include "java_subagent.h"
-#include "PushParameter.h"
-#include "JNIException.h"
-
-namespace org_netxms_agent
-{
-
-   // Static declarations (if any)
-
-   // Returns the current env
-
-   JNIEnv * PushParameter::getCurrentEnv()
-   {
-      JNIEnv * curEnv = NULL;
-      jint res=this->jvm->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
-      if (res != JNI_OK)
-      {
-         AgentWriteLog(NXLOG_ERROR, _T("PushParameter: Could not retrieve the current JVM."));
-         throw JNIException();
-
-      }
-      return curEnv;
-   }
-   // Destructor
-
-   PushParameter::~PushParameter()
-   {
-      JNIEnv * curEnv = NULL;
-      this->jvm->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
-
-      curEnv->DeleteGlobalRef(this->instance);
-      curEnv->DeleteGlobalRef(this->instanceClass);
-   }
-   // Constructors
-   PushParameter::PushParameter(JavaVM * jvm_)
-   {
-      jmethodID constructObject = NULL ;
-      jobject localInstance ;
-      jclass localClass ;
-
-      const char *construct="<init>";
-      const char *param="()V";
-      jvm=jvm_;
-
-      JNIEnv * curEnv = getCurrentEnv();
-
-      localClass = curEnv->FindClass( this->className() ) ;
-      if (localClass == NULL)
-      {
-         AgentWriteLog(NXLOG_ERROR, _T("PushParameter: Could not get the Class %s"), WideStringFromMBString(this->className()));
-
-         throw JNIException();
-      }
-
-      this->instanceClass = static_cast<jclass>(curEnv->NewGlobalRef(localClass));
-
-      /* localClass is not needed anymore */
-      curEnv->DeleteLocalRef(localClass);
-
-      if (this->instanceClass == NULL)
-      {
-         AgentWriteLog(NXLOG_ERROR, _T("PushParameter: Could not create a Global Ref of %s"), WideStringFromMBString(this->className()));
-
-         throw JNIException();
-      }
-
-      constructObject = curEnv->GetMethodID( this->instanceClass, construct , param ) ;
-      if(constructObject == NULL)
-      {
-         AgentWriteLog(NXLOG_ERROR, _T("PushParameter: Could not retrieve the constructor of the class %s with the profile : %s%s"), WideStringFromMBString(this->className()), WideStringFromMBString(construct), WideStringFromMBString(param));
-
-         throw JNIException();
-      }
-
-      localInstance = curEnv->NewObject( this->instanceClass, constructObject ) ;
-      if(localInstance == NULL)
-      {
-         AgentWriteLog(NXLOG_ERROR, _T("PushParameter: Could not instantiate the object %s with the constructor : %s%s"), WideStringFromMBString(this->className()), WideStringFromMBString(construct), WideStringFromMBString(param));
-
-         throw JNIException();
-      }
-
-      this->instance = curEnv->NewGlobalRef(localInstance) ;
-      if(this->instance == NULL)
-      {
-         AgentWriteLog(NXLOG_ERROR, _T("PushParameter: Could not create a new global ref of %s"), WideStringFromMBString(this->className()));
-
-         throw JNIException();
-      }
-      /* localInstance not needed anymore */
-      curEnv->DeleteLocalRef(localInstance);
-
-      /* Methods ID set to NULL */
-      jstringgetNameID=NULL;
-      jstringgetDescriptionID=NULL;
-      jobjectgetTypeID=NULL;
-
-   }
-
-   PushParameter::PushParameter(JavaVM * jvm_, jobject JObj)
-   {
-      jvm=jvm_;
-
-      JNIEnv * curEnv = getCurrentEnv();
-
-      jclass localClass = curEnv->GetObjectClass(JObj);
-      this->instanceClass = static_cast<jclass>(curEnv->NewGlobalRef(localClass));
-      curEnv->DeleteLocalRef(localClass);
-
-      if (this->instanceClass == NULL)
-      {
-
-         AgentWriteLog(NXLOG_ERROR, _T("PushParameter: Could not create a Global Ref of %s"), WideStringFromMBString(this->className()));
-
-         throw JNIException();
-      }
-
-      this->instance = curEnv->NewGlobalRef(JObj) ;
-      if(this->instance == NULL)
-      {
-
-         AgentWriteLog(NXLOG_ERROR, _T("PushParameter: Could not create a new global ref of %s"), WideStringFromMBString(this->className()));
-
-         throw JNIException();
-      }
-      /* Methods ID set to NULL */
-      jstringgetNameID=NULL;
-      jstringgetDescriptionID=NULL;
-      jobjectgetTypeID=NULL;
-
-   }
-
-   // Generic methods
-
-   void PushParameter::synchronize()
-   {
-      if (getCurrentEnv()->MonitorEnter(instance) != JNI_OK)
-      {
-         AgentWriteLog(NXLOG_ERROR, _T("PushParameter: Fail to enter monitor."));
-         throw JNIException();
-
-      }
-   }
-
-   void PushParameter::endSynchronize()
-   {
-      if ( getCurrentEnv()->MonitorExit(instance) != JNI_OK)
-      {
-
-         AgentWriteLog(NXLOG_ERROR, _T("PushParameter: Fail to exit monitor."));
-         throw JNIException();
-      }
-   }
-   // Method(s)
-
-   TCHAR* PushParameter::getName ()
-   {
-
-      JNIEnv * curEnv = getCurrentEnv();
-
-      if (jstringgetNameID==NULL)/* Use the cache */
-      {
-         jstringgetNameID = curEnv->GetMethodID(this->instanceClass, "getName", "()Ljava/lang/String;" ) ;
-         if (jstringgetNameID == NULL)
-         {
-            AgentWriteLog(NXLOG_ERROR, _T("PushParameter: Could not access to the method getName"));
-
-            throw JNIException();
-         }
-      }
-      jstring res =  static_cast<jstring>( curEnv->CallObjectMethod( this->instance, jstringgetNameID ));
-      if (curEnv->ExceptionCheck())
-      {
-         curEnv->ExceptionDescribe() ;
-      }
-      if (res != NULL)
-      {
-         TCHAR * myStringBuffer = CStringFromJavaString(curEnv, res);
-         curEnv->DeleteLocalRef(res);
-         return myStringBuffer;
-      }
-      return NULL;
-   }
-
-   TCHAR* PushParameter::getDescription ()
-   {
-
-      JNIEnv * curEnv = getCurrentEnv();
-
-                                 /* Use the cache */
-      if (jstringgetDescriptionID==NULL)
-      {
-         jstringgetDescriptionID = curEnv->GetMethodID(this->instanceClass, "getDescription", "()Ljava/lang/String;" ) ;
-         if (jstringgetDescriptionID == NULL)
-         {
-            AgentWriteLog(NXLOG_ERROR, _T("PushParameter: Could not access to the method getDescription"));
-
-            throw JNIException();
-         }
-      }
-      jstring res =  static_cast<jstring>( curEnv->CallObjectMethod( this->instance, jstringgetDescriptionID ));
-      if (curEnv->ExceptionCheck())
-      {
-         curEnv->ExceptionDescribe() ;
-      }
-      if (res != NULL)
-      {
-         TCHAR * myStringBuffer = CStringFromJavaString(curEnv, res);
-         curEnv->DeleteLocalRef(res);
-         return myStringBuffer;
-      }
-      return NULL;
-   }
-
-   ParameterType PushParameter::getType ()
-   {
-
-      JNIEnv * curEnv = getCurrentEnv();
-
-      if (jobjectgetTypeID==NULL)/* Use the cache */
-      {
-         jobjectgetTypeID = curEnv->GetMethodID(this->instanceClass, "getType", "()Lorg/netxms/agent/ParameterType;" ) ;
-         if (jobjectgetTypeID == NULL)
-         {
-            AgentWriteLog(NXLOG_ERROR, _T("PushParameter: Could not access to the method getType"));
-
-            throw JNIException();
-         }
-      }
-      jobject res =  static_cast<jobject>( curEnv->CallObjectMethod( this->instance, jobjectgetTypeID ));
-      if (curEnv->ExceptionCheck())
-      {
-         curEnv->ExceptionDescribe() ;
-      }
-      if (res != NULL)
-      {
-
-         return *(new ParameterType(jvm, res));
-      }
-      else
-      {
-         curEnv->DeleteLocalRef(res);
-         return NULL;
-      }
-   }
-
-}
diff --git a/src/agent/subagents/java/TableColumn.cpp b/src/agent/subagents/java/TableColumn.cpp
deleted file mode 100644 (file)
index 2698efd..0000000
+++ /dev/null
@@ -1,261 +0,0 @@
-/* 
- ** Java-Bridge NetXMS subagent
- ** Copyright (C) 2013 TEMPEST a.s.
- **
- ** 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: TableColumn.cpp
- **
- **/
-
-#include "java_subagent.h"
-#include "TableColumn.h"
-#include "JNIException.h"
-
-namespace org_netxms_agent
-{
-
-   // Static declarations (if any)
-
-   // Returns the current env
-
-   JNIEnv * TableColumn::getCurrentEnv()
-   {
-      JNIEnv * curEnv = NULL;
-      jint res=this->jvm->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
-      if (res != JNI_OK)
-      {
-         AgentWriteLog(NXLOG_ERROR, _T("TableColumn: Could not retrieve the current JVM."));
-         throw JNIException();
-
-      }
-      return curEnv;
-   }
-   // Destructor
-
-   TableColumn::~TableColumn()
-   {
-      JNIEnv * curEnv = NULL;
-      this->jvm->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
-
-      curEnv->DeleteGlobalRef(this->instance);
-      curEnv->DeleteGlobalRef(this->instanceClass);
-   }
-   // Constructors
-   TableColumn::TableColumn(JavaVM * jvm_)
-   {
-      jmethodID constructObject = NULL ;
-      jobject localInstance ;
-      jclass localClass ;
-
-      const char *construct="<init>";
-      const char *param="()V";
-      jvm=jvm_;
-
-      JNIEnv * curEnv = getCurrentEnv();
-
-      localClass = curEnv->FindClass( this->className() ) ;
-      if (localClass == NULL)
-      {
-         AgentWriteLog(NXLOG_ERROR, _T("TableColumn: Could not get the Class %s"), WideStringFromMBString(this->className()));
-
-         throw JNIException();
-      }
-
-      this->instanceClass = static_cast<jclass>(curEnv->NewGlobalRef(localClass));
-
-      /* localClass is not needed anymore */
-      curEnv->DeleteLocalRef(localClass);
-
-      if (this->instanceClass == NULL)
-      {
-         AgentWriteLog(NXLOG_ERROR, _T("TableColumn: Could not create a Global Ref of %s"), WideStringFromMBString(this->className()));
-
-         throw JNIException();
-      }
-
-      constructObject = curEnv->GetMethodID( this->instanceClass, construct , param ) ;
-      if(constructObject == NULL)
-      {
-         AgentWriteLog(NXLOG_ERROR, _T("TableColumn: Could not retrieve the constructor of the class %s with the profile : %s%s"), WideStringFromMBString(this->className()), WideStringFromMBString(construct), WideStringFromMBString(param));
-
-         throw JNIException();
-      }
-
-      localInstance = curEnv->NewObject( this->instanceClass, constructObject ) ;
-      if(localInstance == NULL)
-      {
-         AgentWriteLog(NXLOG_ERROR, _T("TableColumn: Could not instantiate the object %s with the constructor : %s%s"), WideStringFromMBString(this->className()), WideStringFromMBString(construct), WideStringFromMBString(param));
-
-         throw JNIException();
-      }
-
-      this->instance = curEnv->NewGlobalRef(localInstance) ;
-      if(this->instance == NULL)
-      {
-         AgentWriteLog(NXLOG_ERROR, _T("TableColumn: Could not create a new global ref of %s"), WideStringFromMBString(this->className()));
-
-         throw JNIException();
-      }
-      /* localInstance not needed anymore */
-      curEnv->DeleteLocalRef(localInstance);
-
-      /* Methods ID set to NULL */
-      jstringgetNameID=NULL;
-      jobjectgetTypeID=NULL;
-      jbooleanisInstanceID=NULL;
-
-   }
-
-   TableColumn::TableColumn(JavaVM * jvm_, jobject JObj)
-   {
-      jvm=jvm_;
-
-      JNIEnv * curEnv = getCurrentEnv();
-
-      jclass localClass = curEnv->GetObjectClass(JObj);
-      this->instanceClass = static_cast<jclass>(curEnv->NewGlobalRef(localClass));
-      curEnv->DeleteLocalRef(localClass);
-
-      if (this->instanceClass == NULL)
-      {
-
-         AgentWriteLog(NXLOG_ERROR, _T("TableColumn: Could not create a Global Ref of %s"), WideStringFromMBString(this->className()));
-
-         throw JNIException();
-      }
-
-      this->instance = curEnv->NewGlobalRef(JObj) ;
-      if(this->instance == NULL)
-      {
-
-         AgentWriteLog(NXLOG_ERROR, _T("TableColumn: Could not create a new global ref of %s"), WideStringFromMBString(this->className()));
-
-         throw JNIException();
-      }
-      /* Methods ID set to NULL */
-      jstringgetNameID=NULL;
-      jobjectgetTypeID=NULL;
-      jbooleanisInstanceID=NULL;
-
-   }
-
-   // Generic methods
-
-   void TableColumn::synchronize()
-   {
-      if (getCurrentEnv()->MonitorEnter(instance) != JNI_OK)
-      {
-         AgentWriteLog(NXLOG_ERROR, _T("TableColumn: Fail to enter monitor."));
-         throw JNIException();
-
-      }
-   }
-
-   void TableColumn::endSynchronize()
-   {
-      if ( getCurrentEnv()->MonitorExit(instance) != JNI_OK)
-      {
-
-         AgentWriteLog(NXLOG_ERROR, _T("TableColumn: Fail to exit monitor."));
-         throw JNIException();
-      }
-   }
-   // Method(s)
-
-   TCHAR* TableColumn::getName ()
-   {
-
-      JNIEnv * curEnv = getCurrentEnv();
-
-      if (jstringgetNameID==NULL)/* Use the cache */
-      {
-         jstringgetNameID = curEnv->GetMethodID(this->instanceClass, "getName", "()Ljava/lang/String;" ) ;
-         if (jstringgetNameID == NULL)
-         {
-            AgentWriteLog(NXLOG_ERROR, _T("TableColumn: Could not access to the method getName"));
-
-            throw JNIException();
-         }
-      }
-      jstring res =  static_cast<jstring>( curEnv->CallObjectMethod( this->instance, jstringgetNameID ));
-      if (curEnv->ExceptionCheck())
-      {
-         curEnv->ExceptionDescribe() ;
-      }
-      if (res != NULL)
-      {
-         TCHAR * myStringBuffer = CStringFromJavaString(curEnv, res);
-         curEnv->DeleteLocalRef(res);
-         return myStringBuffer;
-      }
-      return NULL;
-   }
-
-   ParameterType TableColumn::getType ()
-   {
-
-      JNIEnv * curEnv = getCurrentEnv();
-
-      if (jobjectgetTypeID==NULL)/* Use the cache */
-      {
-         jobjectgetTypeID = curEnv->GetMethodID(this->instanceClass, "getType", "()Lorg/netxms/agent/ParameterType;" ) ;
-         if (jobjectgetTypeID == NULL)
-         {
-            AgentWriteLog(NXLOG_ERROR, _T("TableColumn: Could not access to the method getType"));
-
-            throw JNIException();
-         }
-      }
-      jobject res =  static_cast<jobject>( curEnv->CallObjectMethod( this->instance, jobjectgetTypeID ));
-      if (curEnv->ExceptionCheck())
-      {
-         curEnv->ExceptionDescribe() ;
-      }
-      if (res != NULL)
-      {
-
-         return *(new ParameterType(jvm, res));
-      }
-      else
-      {
-         curEnv->DeleteLocalRef(res);
-         return NULL;
-      }
-   }
-
-   bool TableColumn::isInstance ()
-   {
-
-      JNIEnv * curEnv = getCurrentEnv();
-
-                                 /* Use the cache */
-      if (jbooleanisInstanceID==NULL)
-      {
-         jbooleanisInstanceID = curEnv->GetMethodID(this->instanceClass, "isInstance", "()Z" ) ;
-         if (jbooleanisInstanceID == NULL)
-         {
-            AgentWriteLog(NXLOG_ERROR, _T("TableColumn: Could not access to the method isInstance"));
-
-            throw JNIException();
-         }
-      }
-      jboolean res =  static_cast<jboolean>( curEnv->CallBooleanMethod( this->instance, jbooleanisInstanceID ));
-
-      return (res == JNI_TRUE);
-
-   }
-
-}
diff --git a/src/agent/subagents/java/TableParameter.cpp b/src/agent/subagents/java/TableParameter.cpp
deleted file mode 100644 (file)
index ec189c5..0000000
+++ /dev/null
@@ -1,336 +0,0 @@
-/* 
- ** Java-Bridge NetXMS subagent
- ** Copyright (C) 2013 TEMPEST a.s.
- **
- ** 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: TableParameter.cpp
- **
- **/
-
-#include "java_subagent.h"
-#include "TableParameter.h"
-#include "JNIException.h"
-
-namespace org_netxms_agent
-{
-
-   // Static declarations (if any)
-
-   // Returns the current env
-
-   JNIEnv * TableParameter::getCurrentEnv()
-   {
-      JNIEnv * curEnv = NULL;
-      jint res=this->jvm->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
-      if (res != JNI_OK)
-      {
-         AgentWriteLog(NXLOG_ERROR, _T("TableParameter: Could not retrieve the current JVM."));
-         throw JNIException();
-
-      }
-      return curEnv;
-   }
-   // Destructor
-
-   TableParameter::~TableParameter()
-   {
-      JNIEnv * curEnv = NULL;
-      this->jvm->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
-
-      curEnv->DeleteGlobalRef(this->instance);
-      curEnv->DeleteGlobalRef(this->instanceClass);
-   }
-   // Constructors
-   TableParameter::TableParameter(JavaVM * jvm_)
-   {
-      jmethodID constructObject = NULL ;
-      jobject localInstance ;
-      jclass localClass ;
-
-      const char *construct="<init>";
-      const char *param="()V";
-      jvm=jvm_;
-
-      JNIEnv * curEnv = getCurrentEnv();
-
-      localClass = curEnv->FindClass( this->className() ) ;
-      if (localClass == NULL)
-      {
-         AgentWriteLog(NXLOG_ERROR, _T("TableParameter: Could not get the Class %s"), WideStringFromMBString(this->className()));
-
-         throw JNIException();
-      }
-
-      this->instanceClass = static_cast<jclass>(curEnv->NewGlobalRef(localClass));
-
-      /* localClass is not needed anymore */
-      curEnv->DeleteLocalRef(localClass);
-
-      if (this->instanceClass == NULL)
-      {
-         AgentWriteLog(NXLOG_ERROR, _T("TableParameter: Could not create a Global Ref of %s"), WideStringFromMBString(this->className()));
-
-         throw JNIException();
-      }
-
-      constructObject = curEnv->GetMethodID( this->instanceClass, construct , param ) ;
-      if(constructObject == NULL)
-      {
-         AgentWriteLog(NXLOG_ERROR, _T("TableParameter: Could not retrieve the constructor of the class %s with the profile : %s%s"), WideStringFromMBString(this->className()), WideStringFromMBString(construct), WideStringFromMBString(param));
-
-         throw JNIException();
-      }
-
-      localInstance = curEnv->NewObject( this->instanceClass, constructObject ) ;
-      if(localInstance == NULL)
-      {
-         AgentWriteLog(NXLOG_ERROR, _T("TableParameter: Could not instantiate the object %s with the constructor : %s%s"), WideStringFromMBString(this->className()), WideStringFromMBString(construct), WideStringFromMBString(param));
-
-         throw JNIException();
-      }
-
-      this->instance = curEnv->NewGlobalRef(localInstance) ;
-      if(this->instance == NULL)
-      {
-         AgentWriteLog(NXLOG_ERROR, _T("TableParameter: Could not create a new global ref of %s"), WideStringFromMBString(this->className()));
-
-         throw JNIException();
-      }
-      /* localInstance not needed anymore */
-      curEnv->DeleteLocalRef(localInstance);
-
-      /* Methods ID set to NULL */
-      jstringgetNameID=NULL;
-      jstringgetDescriptionID=NULL;
-      jobjectArray_getColumnsID=NULL;
-      jobjectArray__getValuesjstringjava_lang_StringID=NULL;
-
-   }
-
-   TableParameter::TableParameter(JavaVM * jvm_, jobject JObj)
-   {
-      jvm=jvm_;
-
-      JNIEnv * curEnv = getCurrentEnv();
-
-      jclass localClass = curEnv->GetObjectClass(JObj);
-      this->instanceClass = static_cast<jclass>(curEnv->NewGlobalRef(localClass));
-      curEnv->DeleteLocalRef(localClass);
-
-      if (this->instanceClass == NULL)
-      {
-
-         AgentWriteLog(NXLOG_ERROR, _T("TableParameter: Could not create a Global Ref of %hs"), className());
-
-         throw JNIException();
-      }
-
-      this->instance = curEnv->NewGlobalRef(JObj) ;
-      if(this->instance == NULL)
-      {
-
-         AgentWriteLog(NXLOG_ERROR, _T("TableParameter: Could not create a new global ref of %hs"), className());
-
-         throw JNIException();
-      }
-      /* Methods ID set to NULL */
-      jstringgetNameID=NULL;
-      jstringgetDescriptionID=NULL;
-      jobjectArray_getColumnsID=NULL;
-      jobjectArray__getValuesjstringjava_lang_StringID=NULL;
-
-   }
-
-   // Generic methods
-
-   void TableParameter::synchronize()
-   {
-      if (getCurrentEnv()->MonitorEnter(instance) != JNI_OK)
-      {
-         AgentWriteLog(NXLOG_ERROR, _T("TableParameter: Fail to enter monitor."));
-         throw JNIException();
-
-      }
-   }
-
-   void TableParameter::endSynchronize()
-   {
-      if ( getCurrentEnv()->MonitorExit(instance) != JNI_OK)
-      {
-
-         AgentWriteLog(NXLOG_ERROR, _T("TableParameter: Fail to exit monitor."));
-         throw JNIException();
-      }
-   }
-   // Method(s)
-
-   TCHAR* TableParameter::getName ()
-   {
-
-      JNIEnv * curEnv = getCurrentEnv();
-
-      if (jstringgetNameID==NULL)/* Use the cache */
-      {
-         jstringgetNameID = curEnv->GetMethodID(this->instanceClass, "getName", "()Ljava/lang/String;" ) ;
-         if (jstringgetNameID == NULL)
-         {
-            AgentWriteLog(NXLOG_ERROR, _T("TableParameter: Could not access to the method getName"));
-
-            throw JNIException();
-         }
-      }
-      jstring res =  static_cast<jstring>( curEnv->CallObjectMethod( this->instance, jstringgetNameID ));
-      if (curEnv->ExceptionCheck())
-      {
-         curEnv->ExceptionDescribe() ;
-      }
-      if (res != NULL)
-      {
-         TCHAR * myStringBuffer = CStringFromJavaString(curEnv, res);
-         curEnv->DeleteLocalRef(res);
-         return myStringBuffer;
-      }
-      return NULL;
-   }
-
-   TCHAR* TableParameter::getDescription ()
-   {
-
-      JNIEnv * curEnv = getCurrentEnv();
-
-                                 /* Use the cache */
-      if (jstringgetDescriptionID==NULL)
-      {
-         jstringgetDescriptionID = curEnv->GetMethodID(this->instanceClass, "getDescription", "()Ljava/lang/String;" ) ;
-         if (jstringgetDescriptionID == NULL)
-         {
-            AgentWriteLog(NXLOG_ERROR, _T("TableParameter: Could not access to the method getDescription"));
-
-            throw JNIException();
-         }
-      }
-      jstring res =  static_cast<jstring>( curEnv->CallObjectMethod( this->instance, jstringgetDescriptionID ));
-      if (curEnv->ExceptionCheck())
-      {
-         curEnv->ExceptionDescribe() ;
-      }
-      if (res != NULL)
-      {
-         TCHAR * myStringBuffer = CStringFromJavaString(curEnv, res);
-         curEnv->DeleteLocalRef(res);
-         return myStringBuffer;
-      }
-      return NULL;
-   }
-
-   TableColumn** TableParameter::getColumns (int *lenRow)
-   {
-
-      JNIEnv * curEnv = getCurrentEnv();
-
-                                 /* Use the cache */
-      if (jobjectArray_getColumnsID==NULL)
-      {
-         jobjectArray_getColumnsID = curEnv->GetMethodID(this->instanceClass, "getColumns", "()[Lorg/netxms/agent/TableColumn;" ) ;
-         if (jobjectArray_getColumnsID == NULL)
-         {
-            AgentWriteLog(NXLOG_ERROR, _T("TableParameter: Could not access to the method getColumns"));
-
-            throw JNIException();
-         }
-      }
-      jobjectArray res =  static_cast<jobjectArray>( curEnv->CallObjectMethod( this->instance, jobjectArray_getColumnsID ));
-      if (curEnv->ExceptionCheck())
-      {
-         curEnv->ExceptionDescribe() ;
-      }
-      if (res != NULL)
-      {
-         * lenRow = curEnv->GetArrayLength(res);
-
-         TableColumn** arrayOfColumn;
-         arrayOfColumn = new TableColumn * [*lenRow];
-         for (jsize i = 0; i < *lenRow; i++)
-         {
-            jobject resColumn = reinterpret_cast<jobject>(curEnv->GetObjectArrayElement(res, i));
-            arrayOfColumn[i] = new TableColumn(jvm, resColumn);
-         }
-
-         curEnv->DeleteLocalRef(res);
-         return arrayOfColumn;
-      }
-      else
-      {
-         curEnv->DeleteLocalRef(res);
-         return NULL;
-      }
-   }
-
-   TCHAR*** TableParameter::getValues (TCHAR const* param, int *lenRow, int *lenCol)
-   {
-
-      JNIEnv * curEnv = getCurrentEnv();
-
-                                 /* Use the cache */
-      if (jobjectArray__getValuesjstringjava_lang_StringID==NULL)
-      {
-         jobjectArray__getValuesjstringjava_lang_StringID = curEnv->GetMethodID(this->instanceClass, "getValues", "(Ljava/lang/String;)[[Ljava/lang/String;" ) ;
-         if (jobjectArray__getValuesjstringjava_lang_StringID == NULL)
-         {
-            AgentWriteLog(NXLOG_ERROR, _T("TableParameter: Could not access to the method getValues"));
-
-            throw JNIException();
-         }
-      }
-      jstring param_ = JavaStringFromCString(curEnv, param);
-      if (param != NULL && param_ == NULL)
-      {
-         AgentWriteLog(NXLOG_ERROR, _T("TableParameter: Could not convert C string to Java  string, memory full."));
-         throw JNIException();
-      }
-
-      jobjectArray res =  static_cast<jobjectArray>( curEnv->CallObjectMethod( this->instance, jobjectArray__getValuesjstringjava_lang_StringID ,param_));
-      if (curEnv->ExceptionCheck())
-      {
-         curEnv->ExceptionDescribe() ;
-      }
-      curEnv->DeleteLocalRef(param_);
-      if (res != NULL)
-      {
-         * lenRow = curEnv->GetArrayLength(res);
-
-         TCHAR ***arrayOfString;
-         arrayOfString = new TCHAR **[*lenRow];
-                                 /* Line of the array */
-         for (jsize i = 0; i < *lenRow; i++)
-         {
-            jobjectArray resStringLine = reinterpret_cast<jobjectArray>(curEnv->GetObjectArrayElement(res, i));
-            *lenCol = curEnv->GetArrayLength(resStringLine);
-            arrayOfString[i]=new TCHAR*[*lenCol];
-            for (jsize j = 0; j < *lenCol; j++)
-            {
-               jstring resString = reinterpret_cast<jstring>(curEnv->GetObjectArrayElement(resStringLine, j));
-               arrayOfString[i][j] = CStringFromJavaString(curEnv, resString);
-               curEnv->DeleteLocalRef(resString);
-            }
-            curEnv->DeleteLocalRef(resStringLine);
-         }
-         curEnv->DeleteLocalRef(res);
-         return arrayOfString;
-      }
-      return NULL;
-   }
-}
index 34a05f1..07f09aa 100644 (file)
@@ -6,4 +6,4 @@ netxms-agent.jar: pom.xml
        mvn install
        mv target/netxms-agent.jar .
 
-EXTRA_DIST = pom.xml netxms-agent.jar
+EXTRA_DIST = Makefile.w32 pom.xml netxms-agent.jar
diff --git a/src/agent/subagents/java/java/Makefile.w32 b/src/agent/subagents/java/java/Makefile.w32
new file mode 100644 (file)
index 0000000..fce84eb
--- /dev/null
@@ -0,0 +1,4 @@
+TARGET = netxms-agent.jar
+TYPE = jar
+
+include ..\..\..\..\..\Makefile.inc.w32
index ec3dd27..db4a73c 100644 (file)
@@ -12,7 +12,7 @@ if USE_INTERNAL_LIBTRE
 libnxsl_la_LIBADD += ../libtre/libnxtre.la
 endif
 
-EXTRA_DIST = libnxsl.vcproj libnxsl.h parser.l parser.y parser.tab.hpp
+EXTRA_DIST = Makefile.w32 libnxsl.vcproj libnxsl.h parser.l parser.y parser.tab.hpp
 
 lex.parser.cpp: parser.l parser.tab.cpp parser.tab.hpp
        $(LEX) -B -f -8 -olex.parser.cpp parser.l
index 5ec60b3..d19e58a 100644 (file)
@@ -1,21 +1,21 @@
-TARGET=libnxsl.dll
-TYPE=dll
-SOURCES=lex.parser.cpp parser.tab.cpp \
-     array.cpp class.cpp compiler.cpp env.cpp functions.cpp \
-     geolocation.cpp hashmap.cpp instruction.cpp iterator.cpp \
-     lexer.cpp library.cpp main.cpp network.cpp program.cpp \
-     selectors.cpp stack.cpp storage.cpp table.cpp value.cpp \
-     variable.cpp vm.cpp
-
+TARGET = libnxsl.dll
+TYPE = dll
+SOURCES = lex.parser.cpp parser.tab.cpp \
+          array.cpp class.cpp compiler.cpp env.cpp functions.cpp \
+          geolocation.cpp hashmap.cpp instruction.cpp iterator.cpp \
+          lexer.cpp library.cpp main.cpp network.cpp program.cpp \
+          selectors.cpp stack.cpp storage.cpp table.cpp value.cpp \
+          variable.cpp vm.cpp
+GENERATED = lex.parser.cpp parser.tab.hpp parser.tab.cpp
 CPPFLAGS = /DLIBNXSL_EXPORTS
-LIBS = libnetxms.lib libtre.lib
-         
-include ../../Makefile.inc.w32
+LIBS = libnetxms.lib libtre.lib ws2_32.lib
+  
+include ..\..\Makefile.inc.w32
 
-lex.parser.cpp: ..\parser.l ..\parser.tab.cpp ..\parser.tab.hpp
-       $(LEX) -B -f -8 -o..\lex.parser.cpp ..\parser.l
+lex.parser.cpp: parser.l parser.tab.cpp parser.tab.hpp
+       $(LEX) -B -f -8 -olex.parser.cpp parser.l
 
-..\parser.tab.hpp: ..\parser.tab.cpp
+parser.tab.hpp: parser.tab.cpp
 
-..\parser.tab.cpp: ..\parser.y
+parser.tab.cpp: parser.y
        $(YACC) -b parser -o parser.tab.cpp -d -t -v parser.y
index a2ede42..f1cdfa5 100644 (file)
@@ -19,6 +19,7 @@ escape                \\[bnrt0\"\\]
 %{
 
 #ifdef _WIN32
+#define YY_NO_UNISTD_H
 #pragma warning(disable : 4244 4267)
 #endif
 
index 8f57c88..9eaaf17 100644 (file)
@@ -17,4 +17,4 @@ if USE_INTERNAL_LIBTRE
 nxscript_LDADD += ../libtre/libnxtre.la
 endif
 
-EXTRA_DIST = nxscript.vcproj nxscript.h
+EXTRA_DIST = Makefile.w32 nxscript.vcproj nxscript.h
diff --git a/src/nxscript/Makefile.w32 b/src/nxscript/Makefile.w32
new file mode 100644 (file)
index 0000000..90389fd
--- /dev/null
@@ -0,0 +1,7 @@
+TARGET = nxscript.exe
+TYPE = exe
+SOURCES = class.cpp nxscript.cpp
+
+LIBS = libnetxms.lib libnxsl.lib ws2_32.lib
+         
+include ..\..\Makefile.inc.w32
index b9b3de7..ffe1f61 100644 (file)
@@ -1,3 +1,3 @@
-SUBDIRS = libnxsnmp nxsnmpget nxsnmpset nxsnmpwalk
+SUBDIRS = libnxsnmp nxmibc nxsnmpget nxsnmpset nxsnmpwalk
 
 include ..\..\Makefile.inc.w32
index b6e355a..ace8509 100644 (file)
@@ -13,7 +13,7 @@ nxmibc_SOURCES = lex.parser.cpp mibparse.cpp nxmibc.cpp parser.tab.cpp
 nxmibc_CPPFLAGS=-I@top_srcdir@/include
 nxmibc_LDADD = ../../libnetxms/libnetxms.la ../libnxsnmp/libnxsnmp.la
 
-EXTRA_DIST = nxmibc.vcproj nxmibc.h mibparse.h parser.l parser.y parser.tab.hpp
+EXTRA_DIST = Makefile.w32 nxmibc.vcproj nxmibc.h mibparse.h parser.l parser.y parser.tab.hpp
 
 lex.parser.cpp: parser.l parser.tab.cpp parser.tab.hpp
        $(LEX) -Pmp -B -f -olex.parser.cpp parser.l
diff --git a/src/snmp/nxmibc/Makefile.w32 b/src/snmp/nxmibc/Makefile.w32
new file mode 100644 (file)
index 0000000..dfcc647
--- /dev/null
@@ -0,0 +1,15 @@
+TARGET = nxmibc.exe
+TYPE = exe
+SOURCES = lex.parser.cpp mibparse.cpp nxmibc.cpp parser.tab.cpp
+GENERATED = lex.parser.cpp parser.tab.hpp parser.tab.cpp
+LIBS = libnetxms.lib libnxsnmp.lib
+         
+include ..\..\..\Makefile.inc.w32
+
+lex.parser.cpp: parser.l parser.tab.cpp parser.tab.hpp
+       $(LEX) -Pmp -B -f -8 -olex.parser.cpp parser.l
+
+parser.tab.hpp: parser.tab.cpp
+
+parser.tab.cpp: parser.y
+       $(YACC) -b parser -o parser.tab.cpp -d -p mp -t -v parser.y