[Jsmooth-cvs] jsmooth/skeletons/winservice Makefile.win, 1.2, 1.3 WinService.cpp, 1.4, 1.5
Status: Beta
Brought to you by:
reyes
From: Rodrigo R. <re...@us...> - 2007-04-30 20:54:38
|
Update of /cvsroot/jsmooth/jsmooth/skeletons/winservice In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv10646/winservice Modified Files: Makefile.win WinService.cpp Log Message: Winservice DLL instanciation fix Index: Makefile.win =================================================================== RCS file: /cvsroot/jsmooth/jsmooth/skeletons/winservice/Makefile.win,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** Makefile.win 9 Apr 2007 22:21:23 -0000 1.2 --- Makefile.win 30 Apr 2007 20:54:32 -0000 1.3 *************** *** 11,15 **** LIBS = -L"/lib" -L"../commonjava" -L"../util-core" ../commonjava/CommonJava.a ../util-core/util-core.a INCS = -I"/include" -I"../util-core" -I"../commonjava" -I"$(JDK)/include" -I"$(JDK)/include/win32" ! CXXINCS = -g -I"/include/c++" -I"/include/c++/mingw32" -I"/include/c++/backward" -I"/include" -I"../commonjava" -I"$(JDK)/include" -I"$(JDK)/include/win32" -I../util-core BIN = winservice.exe CXXFLAGS = $(CUSTOMFLAGS) $(CXXINCS) -DJDK="$(JDK)" --- 11,15 ---- LIBS = -L"/lib" -L"../commonjava" -L"../util-core" ../commonjava/CommonJava.a ../util-core/util-core.a INCS = -I"/include" -I"../util-core" -I"../commonjava" -I"$(JDK)/include" -I"$(JDK)/include/win32" ! CXXINCS = -I"/include/c++" -I"/include/c++/mingw32" -I"/include/c++/backward" -I"/include" -I"../commonjava" -I"$(JDK)/include" -I"$(JDK)/include/win32" -I../util-core BIN = winservice.exe CXXFLAGS = $(CUSTOMFLAGS) $(CXXINCS) -DJDK="$(JDK)" Index: WinService.cpp =================================================================== RCS file: /cvsroot/jsmooth/jsmooth/skeletons/winservice/WinService.cpp,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** WinService.cpp 12 Apr 2007 20:01:50 -0000 1.4 --- WinService.cpp 30 Apr 2007 20:54:32 -0000 1.5 *************** *** 30,33 **** --- 30,35 ---- #include "JVMRegistryLookup.h" #include "JavaMachineManager.h" + #include "JClassProxy.h" + #include "JArgs.h" WinService* winservice_ref; *************** *** 83,87 **** { if (m_jvm != 0) ! m_jvm->callDLLStaticMethodInt("java.lang.System", "exit", "(I)V", 0); } --- 85,98 ---- { if (m_jvm != 0) ! { ! SunJVMDLL* runner = m_jvm->getDLL(); ! log("Calling java.lang.System.exit(0)..."); ! ! JClassProxy disp(runner, "java.lang.System"); ! disp.invokeStatic("void exit(int)", JArgs(0)); ! log("exit(0) returned successfully"); ! ! // m_jvm->callDLLStaticMethodInt("java.lang.System", "exit", "(I)V", 0); ! } } *************** *** 161,165 **** { SERVICE_STATUS status; ! log("set status " + StringUtils::toString(currentState)); status.dwServiceType = SERVICE_WIN32_OWN_PROCESS; --- 172,202 ---- { SERVICE_STATUS status; ! std::string meaning = ""; ! switch(currentState) ! { ! case SERVICE_STOPPED: ! meaning = "SERVICE_STOPPED"; ! break; ! case SERVICE_START_PENDING: ! meaning = "SERVICE_START_PENDING"; ! break; ! case SERVICE_STOP_PENDING: ! meaning = "SERVICE_STOP_PENDING"; ! break; ! case SERVICE_RUNNING: ! meaning = "SERVICE_RUNNING"; ! break; ! case SERVICE_CONTINUE_PENDING: ! meaning = "SERVICE_CONTINUE_PENDING"; ! break; ! case SERVICE_PAUSE_PENDING: ! meaning = "SERVICE_PAUSE_PENDING"; ! break; ! case SERVICE_PAUSED: ! meaning = "SERVICE_PAUSED"; ! break; ! } ! ! log("set status " + StringUtils::toString(currentState) + " (" + meaning + ")"); status.dwServiceType = SERVICE_WIN32_OWN_PROCESS; *************** *** 250,254 **** --- 287,293 ---- JavaMachineManager man(*globalResMan); + setStatus(SERVICE_RUNNING); SunJVMLauncher* launcher = man.runDLLFromRegistry(true); + if (launcher != 0) { *************** *** 257,266 **** setStatus(SERVICE_RUNNING); ! if ( ! launcher->dllInstanciate(*globalResMan, "wsreg") ) { ! log("Failed to launch the service: can't instanciate the JVM DLL"); } else ! log("Launched successfully the DLL (" + launcher->toString() + ")"); } else --- 296,308 ---- setStatus(SERVICE_RUNNING); ! ! SunJVMDLL* jdll = m_jvm->getDLL(); ! if (jdll != 0) { ! jdll->run( globalResMan->getProperty(ResourceManager::KEY_MAINCLASSNAME), false); } else ! log("ERROR: JVM is launched, but can get a DLL... ?"); ! } else *************** *** 274,278 **** setStatus(SERVICE_STOPPED); - log("stopped!"); return; } --- 316,319 ---- |