(file) Return to JMPIImpl.h CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / ProviderManager2 / JMPI

Diff for /pegasus/src/Pegasus/ProviderManager2/JMPI/JMPIImpl.h between version 1.27 and 1.34

version 1.27, 2006/11/02 16:58:29 version 1.34, 2008/12/16 18:57:00
Line 1 
Line 1 
 //%2006////////////////////////////////////////////////////////////////////////  //%LICENSE////////////////////////////////////////////////////////////////
 // //
 // Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development  // Licensed to The Open Group (TOG) under one or more contributor license
 // Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.  // agreements.  Refer to the OpenPegasusNOTICE.txt file distributed with
 // Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.;  // this work for additional information regarding copyright ownership.
 // IBM Corp.; EMC Corporation, The Open Group.  // Each contributor licenses this file to you under the OpenPegasus Open
 // Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;  // Source License; you may not use this file except in compliance with the
 // IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.  // License.
 // Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;  
 // EMC Corporation; VERITAS Software Corporation; The Open Group.  
 // Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;  
 // EMC Corporation; Symantec Corporation; The Open Group.  
 // //
 // Permission is hereby granted, free of charge, to any person obtaining a copy  // Permission is hereby granted, free of charge, to any person obtaining a
 // of this software and associated documentation files (the "Software"), to  // copy of this software and associated documentation files (the "Software"),
 // deal in the Software without restriction, including without limitation the  // to deal in the Software without restriction, including without limitation
 // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or  // the rights to use, copy, modify, merge, publish, distribute, sublicense,
 // sell copies of the Software, and to permit persons to whom the Software is  // and/or sell copies of the Software, and to permit persons to whom the
 // furnished to do so, subject to the following conditions:  // Software is furnished to do so, subject to the following conditions:
 // //
 // THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN  // The above copyright notice and this permission notice shall be included
 // ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED  // in all copies or substantial portions of the Software.
 // "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT  
 // LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR  
 // PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT  
 // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN  
 // ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION  
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  
 // //
 //==============================================================================  // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
   // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
   // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
   // IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
   // CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
   // TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
   // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
   //
   //////////////////////////////////////////////////////////////////////////
 // //
 //%///////////////////////////////////////////////////////////////////////////// //%/////////////////////////////////////////////////////////////////////////////
  
Line 40 
Line 38 
  
 #ifdef PEGASUS_PLATFORM_LINUX_GENERIC_GNU #ifdef PEGASUS_PLATFORM_LINUX_GENERIC_GNU
 #if defined (__GNUC__) && GCC_VERSION >= 40000 #if defined (__GNUC__) && GCC_VERSION >= 40000
 // If gcc is compiled with -fvisibility=hidden then JMPI is broken.  This is because  // If gcc is compiled with -fvisibility=hidden then JMPI is broken.
 // the JNI h file defines JNIEXPORT as empty since the default is visible.  // This is because the JNI h file defines JNIEXPORT as empty since
   // the default is visible.
 #undef  JNIEXPORT #undef  JNIEXPORT
 #define JNIEXPORT __attribute__ ((visibility("default"))) #define JNIEXPORT __attribute__ ((visibility("default")))
 #endif #endif
Line 66 
Line 65 
 #define Catch(jEnv) \ #define Catch(jEnv) \
    catch(CIMException & e) { \    catch(CIMException & e) { \
       JMPIjvm::cacheIDs(jEnv); \       JMPIjvm::cacheIDs(jEnv); \
       jobject ev=jEnv->NewObject(JMPIjvm::jv.CIMExceptionClassRef,JMPIjvm::jv.CIMExceptionNewISt,(jint)e.getCode(),jEnv->NewStringUTF(e.getMessage().getCString())); \        jobject ev=jEnv->NewObject( \
                        JMPIjvm::jv.CIMExceptionClassRef, \
                        JMPIjvm::jv.CIMExceptionNewISt, \
                        (jint)e.getCode(), \
                        jEnv->NewStringUTF(e.getMessage().getCString())); \
       jEnv->Throw((jthrowable)ev); \       jEnv->Throw((jthrowable)ev); \
    } \    } \
    catch(Exception & e) { \    catch(Exception & e) { \
       JMPIjvm::cacheIDs(jEnv);\       JMPIjvm::cacheIDs(jEnv);\
       jobject ev=jEnv->NewObject(JMPIjvm::jv.CIMExceptionClassRef,JMPIjvm::jv.CIMExceptionNewISt,(jint)1,jEnv->NewStringUTF(e.getMessage().getCString())); \        jobject ev=jEnv->NewObject( \
                        JMPIjvm::jv.CIMExceptionClassRef, \
                        JMPIjvm::jv.CIMExceptionNewISt, \
                        (jint)1, \
                        jEnv->NewStringUTF(e.getMessage().getCString())); \
       jEnv->Throw((jthrowable)ev); \       jEnv->Throw((jthrowable)ev); \
    } \    } \
    catch(...)  { \    catch(...)  { \
       JMPIjvm::cacheIDs(jEnv); \       JMPIjvm::cacheIDs(jEnv); \
       jobject ev=jEnv->NewObject(JMPIjvm::jv.CIMExceptionClassRef,JMPIjvm::jv.CIMExceptionNewISt,(jint)1,jEnv->NewStringUTF("Exception: Unknown")); \        jobject ev=jEnv->NewObject( \
                        JMPIjvm::jv.CIMExceptionClassRef, \
                        JMPIjvm::jv.CIMExceptionNewISt, \
                        (jint)1, \
                        jEnv->NewStringUTF("Exception: Unknown")); \
       jEnv->Throw((jthrowable)ev); \       jEnv->Throw((jthrowable)ev); \
    }    }
  
Line 108 
Line 119 
    static JNIEnv* attachThread(JvmVector **jvp);    static JNIEnv* attachThread(JvmVector **jvp);
    static void detachThread();    static void detachThread();
    static jobject getProvider(JNIEnv *env, const char *cn, jclass *cls) ;    static jobject getProvider(JNIEnv *env, const char *cn, jclass *cls) ;
    static jobject getProvider(JNIEnv *env, String jar, String cln, const char *cn, jclass *cls) ;     static jobject getProvider(
                         JNIEnv *env,
                         String jar,
                         String cln,
                         const char *cn,
                         jclass *cls) ;
    static void checkException(JNIEnv *env);    static void checkException(JNIEnv *env);
    static jstring NewPlatformString(JNIEnv *env,char *s);    static jstring NewPlatformString(JNIEnv *env,char *s);
    static jobjectArray NewPlatformStringArray(JNIEnv *env,char **strv, int strc);     static jobjectArray NewPlatformStringArray(
                              JNIEnv *env,
                              char **strv,
                              int strc);
    static int cacheIDs(JNIEnv *env);    static int cacheIDs(JNIEnv *env);
    static int destroyJVM();    static int destroyJVM();
  
Line 119 
Line 138 
    static jclass getGlobalClassRef(JNIEnv *env, const char* name);    static jclass getGlobalClassRef(JNIEnv *env, const char* name);
    static int initJVM();    static int initJVM();
  
    typedef HashTable<String,jclass,EqualFunc<String>,HashFunc<String> >  ClassTable;     typedef HashTable<
    typedef HashTable<String,jobject,EqualFunc<String>,HashFunc<String> > ObjectTable;                 String,
                  jclass,
                  EqualFunc<String>,
                  HashFunc<String> >  ClassTable;
      typedef HashTable<
                  String,
                  jobject,
                  EqualFunc<String>,
                  HashFunc<String> > ObjectTable;
  
    static ClassTable  _classTable;    static ClassTable  _classTable;
    static ObjectTable _objectTable;    static ObjectTable _objectTable;
Line 137 
Line 164 
    int port();    int port();
    String hostName();    String hostName();
    String nameSpace();    String nameSpace();
      Boolean isHttps ();
    int port_;    int port_;
    String protocol_;    String protocol_;
    String hostName_;    String hostName_;
    String nameSpace_;    String nameSpace_;
      Boolean fHttps;
 }; };
  
 class _dataType { class _dataType {
Line 373 
Line 402 
 #define CharacterClassRef            classRefs[32] #define CharacterClassRef            classRefs[32]
 #define OperationContextClassRef     classRefs[33] #define OperationContextClassRef     classRefs[33]
 #define ClassClassRef                classRefs[34] #define ClassClassRef                classRefs[34]
   #define ByteArrayOutputStreamClassRef  classRefs[35]
   #define PrintStreamClassRef            classRefs[36]
  
 #define BigIntegerValueOf            staticMethodIDs[0] #define BigIntegerValueOf            staticMethodIDs[0]
 #define JarClassLoaderLoad           staticMethodIDs[1] #define JarClassLoaderLoad           staticMethodIDs[1]
Line 430 
Line 461 
 #define ClassGetInterfaces           instMethodIDs[50] #define ClassGetInterfaces           instMethodIDs[50]
 #define ClassGetName                 instMethodIDs[51] #define ClassGetName                 instMethodIDs[51]
 #define UnsignedInt64NewStr          instMethodIDs[52] #define UnsignedInt64NewStr          instMethodIDs[52]
   #define ByteArrayOutputStreamNew       instMethodIDs[53]
   #define PrintStreamNewOb               instMethodIDs[54]
   #define ThrowablePrintStackTrace       instMethodIDs[55]
   #define ByteArrayOutputStreamToString  instMethodIDs[56]
  
 //extern "C" JNIEnv* attachThread(JvmVector**); //extern "C" JNIEnv* attachThread(JvmVector**);
 //extern "C" void detachThread(); //extern "C" void detachThread();


Legend:
Removed from v.1.27  
changed lines
  Added in v.1.34

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2