1 karl 1.12 //%2005////////////////////////////////////////////////////////////////////////
|
2 schuur 1.1 //
|
3 karl 1.10 // Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development
4 // Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.
5 // Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.;
|
6 schuur 1.1 // IBM Corp.; EMC Corporation, The Open Group.
|
7 karl 1.10 // Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
8 // IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.
|
9 karl 1.12 // Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
10 // EMC Corporation; VERITAS Software Corporation; The Open Group.
|
11 schuur 1.1 //
12 // Permission is hereby granted, free of charge, to any person obtaining a copy
13 // of this software and associated documentation files (the "Software"), to
14 // deal in the Software without restriction, including without limitation the
15 // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
16 // sell copies of the Software, and to permit persons to whom the Software is
17 // furnished to do so, subject to the following conditions:
|
18 david.dillard 1.15 //
|
19 schuur 1.1 // THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
20 // ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
21 // "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
22 // LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
23 // PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
24 // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
25 // ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
26 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
27 //
28 //==============================================================================
29 //
30 // Author: Adrian Schuur, schuur@de.ibm.com
31 //
32 // Modified By: Adrian Dutta
33 // Andy Viciu
34 // Magda Vacarelu
|
35 david.dillard 1.15 // David Dillard, VERITAS Software Corp.
36 // (david.dillard@veritas.com)
|
37 mark.hamzy 1.24 // Mark Hamzy, hamzy@us.ibm.com
|
38 schuur 1.1 //
39 //%/////////////////////////////////////////////////////////////////////////////
40
41
42 #include "JMPIImpl.h"
43
|
44 konrad.r 1.14 #if defined(PEGASUS_PLATFORM_WIN32_IX86_MSVC)
45 #include <Pegasus/Common/DynamicLibrary.h>
46 #else
|
47 schuur 1.1 #include <dlfcn.h>
|
48 konrad.r 1.14 #endif
|
49 schuur 1.1 #include <iostream>
|
50 mark.hamzy 1.16 #include <sstream>
|
51 schuur 1.1
52 #include <Pegasus/Common/Config.h>
53 #include <Pegasus/Common/System.h>
54 #include <Pegasus/Common/CIMClass.h>
55 #include <Pegasus/Common/CIMInstance.h>
56 #include <Pegasus/Common/CIMObjectPath.h>
57 #include <Pegasus/Common/CIMProperty.h>
58 #include <Pegasus/Common/CIMType.h>
59 #include <Pegasus/Common/OperationContext.h>
60 #include <Pegasus/Provider/CIMOMHandle.h>
61 #include <Pegasus/Client/CIMClient.h>
|
62 schuur 1.3 #include <Pegasus/ProviderManager2/JMPI/JMPIProviderManager.h>
|
63 schuur 1.1
64 PEGASUS_USING_STD;
65 PEGASUS_NAMESPACE_BEGIN
66
67 JavaVM *JMPIjvm::jvm=NULL;
68 JvmVector JMPIjvm::jv;
|
69 schuur 1.2 int JMPIjvm::trace=0;
|
70 schuur 1.1
|
71 mark.hamzy 1.26 #ifdef PEGASUS_DEBUG
|
72 mark.hamzy 1.16 #define DDD(x) if (JMPIjvm::trace) x;
|
73 mark.hamzy 1.26 #else
74 #define DDD(x)
75 #endif
|
76 mark.hamzy 1.16
|
77 mark.hamzy 1.20 #include "Convert.h"
78
|
79 mark.hamzy 1.17 JMPIjvm::ClassTable JMPIjvm::_classTable;
80 JMPIjvm::ObjectTable JMPIjvm::_objectTable;
81
|
82 schuur 1.1 const char* classNames[]={
|
83 mark.hamzy 1.26 /*00*/ "java/util/Vector" ,
84 /*01*/ "java/lang/Boolean",
85 /*02*/ "java/lang/Byte",
86 /*03*/ "java/lang/Short",
87 /*04*/ "java/lang/Integer",
88 /*05*/ "java/lang/Long",
89 /*06*/ "java/lang/Float",
90 /*07*/ "java/lang/Double",
91 /*08*/ "org/pegasus/jmpi/UnsignedInt8",
92 /*09*/ "org/pegasus/jmpi/UnsignedInt16",
93 /*10*/ "org/pegasus/jmpi/UnsignedInt32",
94 /*11*/ "org/pegasus/jmpi/UnsignedInt64",
95 /*12*/ "org/pegasus/jmpi/CIMObjectPath",
96 /*13*/ "org/pegasus/jmpi/CIMException",
97 /*14*/ "java/math/BigInteger",
98 /*15*/ "org/pegasus/jmpi/CIMProperty",
99 /*16*/ "org/pegasus/jmpi/CIMOMHandle",
100 /*17*/ "org/pegasus/jmpi/CIMClass",
101 /*18*/ "org/pegasus/jmpi/CIMInstance",
102 /*19*/ "org/pegasus/jmpi/CIMValue",
103 /*20*/ "java/lang/Object",
104 mark.hamzy 1.26 /*21*/ "java/lang/Throwable",
105 /*22*/ "java/lang/String",
106 /*23*/ "org/pegasus/jmpi/JarClassLoader",
107 /*24*/ "org/pegasus/jmpi/CIMDateTime",
108 /*25*/ "org/pegasus/jmpi/SelectExp",
109 /*26*/ "org/pegasus/jmpi/CIMQualifier",
110 /*27*/ "org/pegasus/jmpi/CIMQualifierType",
111 /*28*/ "org/pegasus/jmpi/CIMFlavor",
112 /*29*/ "org/pegasus/jmpi/CIMArgument",
113 /*30*/ "org/pegasus/jmpi/CIMInstanceException",
|
114 schuur 1.1 };
115
116 const METHOD_STRUCT instanceMethodNames[]={
|
117 mark.hamzy 1.28 /*00 VectorNew */ { /*Vector */ 0, "<init>", "()V" },
118 /*01 BooleanNewZ */ { /*Boolean */ 1, "<init>", "(Z)V" },
119 /*02 ByteNewB */ { /*Byte */ 2, "<init>", "(B)V" },
120 /*03 ShortNewS */ { /*Short */ 3, "<init>", "(S)V" },
121 /*04 IntegerNewI */ { /*Integer */ 4, "<init>", "(I)V" },
122 /*05 LongNewJ */ { /*Long */ 5, "<init>", "(J)V" },
123 /*06 FloatNewF */ { /*Float */ 6, "<init>", "(F)V" },
124 /*07 DoubleNewD */ { /*Double */ 7, "<init>", "(D)V" },
125 /*08 UnsignedInt8NewS */ { /*UnsignedInt8 */ 8, "<init>", "(S)V" },
126 /*09 UnsignedInt16NewI */ { /*UnsignedInt16 */ 9, "<init>", "(I)V" },
127 /*10 UnsignedInt32NewJ */ { /*UnsignedInt32 */10, "<init>", "(J)V" },
128 /*11 UnsignedInt64NewBi */ { /*UnsignedInt64 */11, "<init>", "(Ljava/math/BigInteger;)V" },
129 /*12 CIMObjectPathNewI */ { /*CIMObjectPath */12, "<init>", "(I)V" },
130 /*13 CIMExceptionNewSt */ { /*CIMException */13, "<init>", "(Ljava/lang/String;)V" },
131 /*14 CIMPropertyNewI */ { /*CIMProperty */15, "<init>", "(I)V" },
132 /*15 VectorAddElement */ { /*Vector */ 0, "addElement", "(Ljava/lang/Object;)V" },
133 /*16 VectorElementAt */ { /*Vector */ 0, "elementAt", "(I)Ljava/lang/Object;" },
134 /*17 CIMOMHandleNewISt */ { /*CIMOMHandle */16, "<init>", "(ILjava/lang/String;)V" },
135 /*18 CIMExceptionNewI */ { /*CIMException */13, "<init>", "(I)V" },
136 /*19 CIMClassNewI */ { /*CIMClass */17, "<init>", "(I)V" },
137 /*20 CIMInstanceNewI */ { /*CIMInstance */18, "<init>", "(I)V" },
138 mark.hamzy 1.28 /*21 CIMObjectPathCInst */ { /*CIMObjectPath */12, "cInst", "()I" },
139 /*22 CIMInstanceCInst */ { /*CIMInstance */18, "cInst", "()I" },
140 /*23 CIMClassCInst */ { /*CIMClass */17, "cInst", "()I" },
141 /*24 ObjectToString */ { /*Object */20, "toString", "()Ljava/lang/String;" },
142 /*25 ThrowableGetMessage */ { /*Throwable */21, "getMessage", "()Ljava/lang/String;" },
143 /*26 CIMExceptionGetID */ { /*CIMException */13, "getID", "()Ljava/lang/String;" },
144 /*27 VectorSize */ { /*Vector */ 0, "size", "()I" },
145 /*28 CIMPropertyCInst */ { /*CIMProperty */15, "cInst", "()I" },
146 /*29 CIMOMHandleGetClass */ { /*CIMOMHandle */16, "getClass", "(Lorg/pegasus/jmpi/CIMObjectPath;Z)Lorg/pegasus/jmpi/CIMClass;" },
147 /*30 VectorRemoveElementAt */ { /*Vector */ 0, "removeElementAt", "(I)V" },
148 /*31 CIMValueCInst */ { /*CIMValue */19, "cInst", "()I" },
149 /*32 CIMExceptionNewISt */ { /*CIMException */13, "<init>", "(ILjava/lang/String;)V" },
150 /*33 CIMExceptionGetCode */ { /*CIMException */13, "getCode", "()I" },
151 /*34 CIMDateTimeNewI */ { /*CIMDateTime */24, "<init>", "(I)V" },
152 /*35 SelectExpNewI */ { /*SelectExp */25, "<init>", "(I)V" },
153 /*36 CIMQualifierNewI */ { /*CIMQualifier */26, "<init>", "(I)V" },
154 /*37 CIMFlavorNewI */ { /*CIMFlavor */28, "<init>", "(I)V" },
155 /*38 CIMFlavorGetFlavor */ { /*CIMFlavor */28, "getFlavor", "()I" },
156 /*39 CIMArgumentCInst */ { /*CIMArgument */29, "cInst", "()I" },
157 /*40 CIMArgumentNewI */ { /*CIMArgument */29, "<init>", "(I)V" },
158 /*41 CIMExceptionNew */ { /*CIMException */13, "<init>", "()V" },
159 mark.hamzy 1.28 /*42 CIMExceptionNewStOb */ { /*CIMException */13, "<init>", "(Ljava/lang/String;Ljava/lang/Object;)V" },
160 /*43 CIMExceptionNewStObOb */ { /*CIMException */13, "<init>", "(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V" },
161 /*44 CIMExceptionNewStObObOb */ { /*CIMException */13, "<init>", "(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V" },
162 /*45 CIMValueNewI */ { /*CIMValue */19, "<init>", "(I)V" },
|
163 schuur 1.1 };
164
165 const METHOD_STRUCT staticMethodNames[]={
|
166 mark.hamzy 1.26 /*00*/ { 14, "valueOf", "(J)Ljava/math/BigInteger;" },
167 /*01*/ { 23, "load", "(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Class;" },
|
168 schuur 1.1 };
169
170 static int methodInitDone=0;
171
|
172 mark.hamzy 1.26 jclass classRefs[sizeof(classNames)/sizeof(classNames[0])];
173 jmethodID instanceMethodIDs[sizeof(instanceMethodNames)/sizeof(instanceMethodNames[0])];
174 jmethodID staticMethodIDs[sizeof(staticMethodNames)/sizeof(staticMethodNames[0])];
|
175 mark.hamzy 1.20
|
176 mark.hamzy 1.26 jclass JMPIjvm::getGlobalClassRef(JNIEnv *env, const char* name)
177 {
|
178 schuur 1.1 jclass localRefCls=env->FindClass(name);
|
179 mark.hamzy 1.16
180 if (localRefCls==NULL)
181 return JNI_FALSE;
182
|
183 schuur 1.1 jclass globalRefCls=(jclass) env->NewGlobalRef(localRefCls);
|
184 mark.hamzy 1.16
|
185 mark.hamzy 1.28 #if 0
186 jmethodID jmidToString = env->GetMethodID(globalRefCls, "toString", "()Ljava/lang/String;");
187 jstring jstringResult = (jstring)env->CallObjectMethod(globalRefCls, jmidToString);
188 const char *pszResult = env->GetStringUTFChars(jstringResult, 0);
189
190 DDD(PEGASUS_STD(cout)<<"--- JMPIjvm::getGlobalClassRef: globalRefCls = "<<PEGASUS_STD(hex)<<(int)globalRefCls<<PEGASUS_STD(dec)<<", name = "<<name<<", pszResult = "<<pszResult<<PEGASUS_STD(endl));
191
192 env->ReleaseStringUTFChars (jstringResult, pszResult);
193 #else
194 DDD(PEGASUS_STD(cout)<<"--- JMPIjvm::getGlobalClassRef: globalRefCls = "<<PEGASUS_STD(hex)<<(int)globalRefCls<<PEGASUS_STD(dec)<<", name = "<<name<<PEGASUS_STD(endl));
195 #endif
196
|
197 schuur 1.1 env->DeleteLocalRef(localRefCls);
|
198 mark.hamzy 1.16
|
199 schuur 1.1 return globalRefCls;
200 }
201
|
202 mark.hamzy 1.26 JMPIjvm::JMPIjvm()
203 {
|
204 schuur 1.1 initJVM();
205 }
206
|
207 mark.hamzy 1.26 JMPIjvm::~JMPIjvm()
208 {
|
209 schuur 1.1 }
210
|
211 mark.hamzy 1.26 int JMPIjvm::cacheIDs(JNIEnv *env)
212 {
|
213 mark.hamzy 1.16 DDD(PEGASUS_STD(cout)<<"--- JMPIjvm::cacheIDs(): enter"<<PEGASUS_STD(endl));
214
215 if (methodInitDone==1)
216 return JNI_TRUE;
217 if (methodInitDone==-1)
218 return JNI_FALSE;
|
219 schuur 1.1
220 methodInitDone=-1;
|
221 mark.hamzy 1.16
|
222 mark.hamzy 1.26 for (unsigned i=0; i<(sizeof(classNames)/sizeof(classNames[0])); i++) {
|
223 mark.hamzy 1.16 //////DDD(PEGASUS_STD(cout)<<"--- JMPIjvm::cacheIDs(): Trying "<<classNames[i]<<PEGASUS_STD(endl));
224 if ((classRefs[i]=getGlobalClassRef(env,classNames[i]))==NULL)
225 {
226 DDD(PEGASUS_STD(cout)<<"--- JMPIjvm::cacheIDs(): Error: Count not find global class ref for "<<classNames[i]<<PEGASUS_STD(endl));
227
228 return JNI_FALSE;
229 }
|
230 schuur 1.1 }
|
231 schuur 1.7
|
232 mark.hamzy 1.26 for (unsigned j=0; j<(sizeof(instanceMethodNames)/sizeof(instanceMethodNames[0])); j++) {
|
233 mark.hamzy 1.28 //////DDD(PEGASUS_STD(cout)<<"--- JMPIjvm::cacheIDs(): Trying "<<j<<": "<<classNames[instanceMethodNames[j].clsIndex]<<": "<<instanceMethodNames[j].methodName<<": "<<instanceMethodNames[j].signature<<PEGASUS_STD(endl));
|
234 mark.hamzy 1.16 if ((instanceMethodIDs[j]=env->GetMethodID(classRefs[instanceMethodNames[j].clsIndex],
|
235 mark.hamzy 1.28 instanceMethodNames[j].methodName,
236 instanceMethodNames[j].signature))==NULL)
|
237 mark.hamzy 1.16 {
238 DDD(PEGASUS_STD(cout)<<"--- JMPIjvm::cacheIDs(): Error could not get method id for "<<classNames[instanceMethodNames[j].clsIndex]<<": "<<instanceMethodNames[j].methodName<<PEGASUS_STD(endl));
|
239 schuur 1.1 return 0;
|
240 mark.hamzy 1.17 }
|
241 mark.hamzy 1.16 }
|
242 schuur 1.1
|
243 mark.hamzy 1.26 for (unsigned k=0; k<(sizeof(staticMethodNames)/sizeof(staticMethodNames[0])); k++) {
|
244 mark.hamzy 1.28 //////DDD(PEGASUS_STD(cout)<<"--- JMPIjvm::cacheIDs(): Trying "<<k<<": "<<classNames[staticMethodNames[k].clsIndex]<<": "<<staticMethodNames[k].methodName<<": "<<staticMethodNames[k].signature<<PEGASUS_STD(endl));
|
245 mark.hamzy 1.16 if ((staticMethodIDs[k]=env->GetStaticMethodID(classRefs[staticMethodNames[k].clsIndex],
|
246 mark.hamzy 1.28 staticMethodNames[k].methodName,
247 staticMethodNames[k].signature))==NULL)
|
248 mark.hamzy 1.16 {
249 DDD(PEGASUS_STD(cout)<<"--- JMPIjvm::cacheIDs(): Error could not get method id for "<<classNames[staticMethodNames[k].clsIndex]<<": "<<staticMethodNames[k].methodName<<PEGASUS_STD(endl));
250 return 0;
251 }
252 }
253
254 DDD(PEGASUS_STD(cout)<<"--- JMPIjvm::cacheIDs(): exit"<<PEGASUS_STD(endl));
255
|
256 schuur 1.1 methodInitDone=1;
|
257 mark.hamzy 1.16
|
258 schuur 1.1 return JNI_TRUE;
259 }
260
|
261 mark.hamzy 1.26 static void throwCIMException(JNIEnv *env,char *e)
262 {
263 env->ThrowNew(JMPIjvm::jv.CIMExceptionClassRef,e);
|
264 schuur 1.1 }
265
|
266 schuur 1.3 int JMPIjvm::destroyJVM()
267 {
|
268 mark.hamzy 1.16 DDD(PEGASUS_STD(cerr)<<"--- JPIjvm::destroyJVM()"<<PEGASUS_STD(endl));
269
|
270 mark.hamzy 1.26 #ifdef JAVA_DESTROY_VM_WORKS
|
271 schuur 1.3 if (jvm!=NULL) {
272 JvmVector *jv;
|
273 mark.hamzy 1.26
|
274 schuur 1.3 attachThread(&jv);
275 jvm->DestroyJavaVM();
|
276 mark.hamzy 1.26
277 jvm = NULL;
278
|
279 schuur 1.3 return 0;
280 }
|
281 mark.hamzy 1.26 #endif
|
282 mark.hamzy 1.16
|
283 schuur 1.3 return -1;
284 }
285
|
286 schuur 1.1 int JMPIjvm::initJVM()
287 {
288 JavaVMInitArgs vm_args;
289 jint res;
|
290 mark.hamzy 1.16 char *envstring;
|
291 schuur 1.1 JNIEnv *env;
|
292 mark.hamzy 1.16 JavaVMOption *poptions = 0;
293 int maxoption = 0;
294 Array<std::string> JNIoptions;
295 static const char *aENVoptions[][2] = {
296 { "CLASSPATH", "-Djava.class.path=" },
297 { "PEGASUS_JMPI_MAX_HEAP", "-Xmx" },
298 { "PEGASUS_JMPI_INITIAL_HEAP", "-Xms" },
299 { "PEGASUS_JMPI_JAVA_THREAD_STACK_SIZE", "-Xss" }
300 };
301 std::ostringstream oss;
|
302 schuur 1.9
303 #ifdef PEGASUS_DEBUG
|
304 mark.hamzy 1.16 if (getenv("PEGASUS_JMPI_TRACE")) JMPIjvm::trace=1;
305 else JMPIjvm::trace=0;
|
306 schuur 1.9 #else
|
307 mark.hamzy 1.16 JMPIjvm::trace=0;
|
308 schuur 1.9 #endif
|
309 schuur 1.2
|
310 mark.hamzy 1.16 DDD(PEGASUS_STD(cout) << "--- JMPIjvm::initJVM()" << PEGASUS_STD(endl));
311
|
312 schuur 1.1 jv.initRc=0;
313
|
314 mark.hamzy 1.16 envstring=getenv("CLASSPATH");
315 if (envstring==NULL) {
316 jv.initRc=1;
317
318 DDD(PEGASUS_STD(cerr) << "--- JMPIjvm::initJVM(): No CLASSPATH environment variable found" << PEGASUS_STD(endl));
319
320 return -1;
321 }
322
|
323 mark.hamzy 1.20 ///JNIoptions.append ("-Djava.compiler=NONE");
324 ///maxoption++;
325
|
326 mark.hamzy 1.16 for (Uint32 i = 0; i < (int)(sizeof (aENVoptions)/sizeof (aENVoptions[0])); i++)
327 {
328 const char *name = aENVoptions[i][0];
329
330 envstring = getenv (name);
331 if (envstring)
332 {
333 maxoption++;
334
335 oss.str ("");
336 oss << aENVoptions[i][1] << envstring;
337
338 JNIoptions.append (oss.str ());
339
340 DDD(PEGASUS_STD(cout) << "--- JMPIjvm::initJVM(): " << name << " found! Specifying \"" << oss.str () << "\"" << PEGASUS_STD(endl));
341 }
342 }
343
344 poptions = (JavaVMOption *)calloc (maxoption, sizeof (JavaVMOption));
345 if (!poptions)
346 {
|
347 schuur 1.1 jv.initRc=1;
|
348 mark.hamzy 1.16
349 DDD(PEGASUS_STD(cerr) << "--- JMPIjvm::initJVM(): Could not allocate " << maxoption << " structures of size " << sizeof (JavaVMOption) << PEGASUS_STD(endl));
350
|
351 schuur 1.1 return -1;
352 }
353
|
354 mark.hamzy 1.16 for (Uint32 i=0; i < JNIoptions.size(); i++)
355 {
356 poptions[i].optionString = (char *)JNIoptions[i].c_str ();
357
358 DDD(PEGASUS_STD(cout) << "--- JMPIjvm::initJVM(): Setting option " << i << " to \"" << poptions[i].optionString << "\"" << PEGASUS_STD(endl));
359 }
360
|
361 schuur 1.1 vm_args.version=0x00010002;
|
362 mark.hamzy 1.16 vm_args.options=poptions;
363 vm_args.nOptions=maxoption;
|
364 schuur 1.1 vm_args.ignoreUnrecognized=JNI_TRUE;
365
366 res=JNI_CreateJavaVM(&jvm,(void**)&env,&vm_args);
|
367 mark.hamzy 1.16
368 if (poptions)
369 {
370 free (poptions);
371 }
372
|
373 schuur 1.1 if (res!=0) {
|
374 mark.hamzy 1.16 DDD(PEGASUS_STD(cerr) << "--- JMPIjvm::initJVM(): Can not create Java VM"<<PEGASUS_STD(endl));
375
|
376 schuur 1.1 exit(1);
377 }
378 jv.jvm=jvm;
379 jv.env=env;
380
381 if (cacheIDs(env)==1) {
382 jv.classRefs=classRefs;
383 jv.instMethodIDs=instanceMethodIDs;
|
384 mark.hamzy 1.26 jv.staticMethodIDs=staticMethodIDs;
|
385 schuur 1.1 }
386
387 if (env->ExceptionOccurred()) {
388 env->ExceptionDescribe();
389 exit(1);
390 }
391
392 return res;
393 }
394
395 JNIEnv* JMPIjvm::attachThread(JvmVector **jvp) {
396 JNIEnv* env;
397 if (jvm==NULL) initJVM();
398 jvm->AttachCurrentThread((void**)&env,NULL);
399 *jvp=&jv;
400 return env;
401 }
402
|
403 mark.hamzy 1.26 void JMPIjvm::detachThread()
404 {
|
405 schuur 1.1 jvm->DetachCurrentThread();
406 }
407
408 jobject JMPIjvm::getProvider(JNIEnv *env, String jar, String cln,
409 const char *cn, jclass *cls)
410 {
|
411 mark.hamzy 1.17 jobject gProv=NULL;
412 jclass scls=NULL;
|
413 mark.hamzy 1.16
|
414 mark.hamzy 1.18 DDD(PEGASUS_STD(cout)<<"--- JMPIjvm::getProvider: jar = "<<jar<<", cln = "<<cln<<", cn = "<<cn<<", cls = "<<cls<<PEGASUS_STD(endl));
|
415 mark.hamzy 1.17
416 _objectTable.lookup(cln,gProv);
417 _classTable.lookup(cln,scls);
|
418 mark.hamzy 1.18 DDD(PEGASUS_STD(cout)<<"--- JMPIjvm::getProvider: gProv = "<<PEGASUS_STD(hex)<<(int)gProv<<", scls = "<<(int)scls<<PEGASUS_STD(dec)<<PEGASUS_STD(endl));
|
419 mark.hamzy 1.16
|
420 schuur 1.1 if (gProv) {
421 *cls=scls;
422 return gProv;
423 }
424
425 /*
|
426 mark.hamzy 1.16 DDD(PEGASUS_STD(cout)<<"--- jar: "<<jar<<PEGASUS_STD(endl));
427 DDD(PEGASUS_STD(cout)<<"--- cln: "<<cln<<PEGASUS_STD(endl));
|
428 schuur 1.1
429 jstring jjar=env->NewStringUTF((const char*)jar.getCString());
430 jstring jcln=env->NewStringUTF((const char*)cln.getCString());
431
|
432 mark.hamzy 1.26 jclass jcls=(jclass)env->CallStaticObjectMethod(JMPIjvm::jv.JarClassLoaderRef,jv.JarClassLoaderLoad,
|
433 schuur 1.1 jjar,jcln);
434 if (env->ExceptionCheck()) {
435 env->ExceptionDescribe();
|
436 mark.hamzy 1.16 PEGASUS_STD(cerr)<<"--- Unable to instantiate provider "<<cn<<PEGASUS_STD(endl);
437 ////////return NULL;
|
438 schuur 1.1 }
439 */
440
441 scls=getGlobalClassRef(env,(const char*)cln.getCString());
442 if (env->ExceptionCheck()) {
|
443 mark.hamzy 1.18 DDD(PEGASUS_STD(cerr)<<"--- JMPIjvm::getProvider: Provider "<<cn<<" not found"<<PEGASUS_STD(endl));
|
444 mark.hamzy 1.16 DDD(env->ExceptionDescribe());
445
|
446 schuur 1.1 return NULL;
447 }
|
448 mark.hamzy 1.17 *cls=scls;
449
450 if (scls)
451 {
|
452 mark.hamzy 1.18 DDD(PEGASUS_STD(cout)<<"--- JMPIjvm::getProvider: scls = "<<PEGASUS_STD(hex)<<(int)scls<<PEGASUS_STD(dec)<<PEGASUS_STD(endl));
|
453 mark.hamzy 1.17 _classTable.insert(cln,scls);
454 }
|
455 schuur 1.1
456 jmethodID id=env->GetMethodID(*cls,"<init>","()V");
457 jobject lProv=env->NewObject(*cls,id);
458 gProv=(jobject)env->NewGlobalRef(lProv);
459 if (env->ExceptionCheck()) {
|
460 mark.hamzy 1.16 DDD(PEGASUS_STD(cerr)<<"--- Unable to instantiate provider "<<cn<<PEGASUS_STD(endl));
|
461 schuur 1.1 return NULL;
462 }
|
463 mark.hamzy 1.17
464 if (gProv)
465 {
|
466 mark.hamzy 1.18 DDD(PEGASUS_STD(cout)<<"--- JMPIjvm::getProvider: gProv = "<<PEGASUS_STD(hex)<<(int)gProv<<PEGASUS_STD(dec)<<PEGASUS_STD(endl));
|
467 mark.hamzy 1.17 _objectTable.insert(cln,gProv);
468 }
469
|
470 schuur 1.1 return gProv;
471 }
472
473 jobject JMPIjvm::getProvider(JNIEnv *env, const char *cn, jclass *cls)
474 {
|
475 mark.hamzy 1.17 String cln = cn;
476 jobject gProv=NULL;
477 jclass scls=NULL;
|
478 mark.hamzy 1.16
|
479 mark.hamzy 1.18 DDD(PEGASUS_STD(cout)<<"--- JMPIjvm::getProvider: cn = "<<cn<<", cls = "<<cls<<PEGASUS_STD(endl));
|
480 mark.hamzy 1.17
481 _objectTable.lookup(cln,gProv);
482 _classTable.lookup(cln,scls);
|
483 mark.hamzy 1.18 DDD(PEGASUS_STD(cout)<<"--- JMPIjvm::getProvider: gProv = "<<PEGASUS_STD(hex)<<(int)gProv<<", scls = "<<(int)scls<<PEGASUS_STD(dec)<<PEGASUS_STD(endl));
|
484 mark.hamzy 1.16
|
485 schuur 1.1 if (gProv) {
486 *cls=scls;
487 return gProv;
488 }
489
490 scls=getGlobalClassRef(env,cn);
491 if (env->ExceptionCheck()) {
|
492 mark.hamzy 1.18 DDD(PEGASUS_STD(cerr)<<"--- JMPIjvm::getProvider: Provider "<<cn<<" not found"<<PEGASUS_STD(endl));
|
493 mark.hamzy 1.16 DDD(env->ExceptionDescribe());
494
|
495 schuur 1.1 return NULL;
496 }
|
497 mark.hamzy 1.17 *cls=scls;
498
499 if (scls)
500 {
|
501 mark.hamzy 1.18 DDD(PEGASUS_STD(cout)<<"--- JMPIjvm::getProvider: scls = "<<PEGASUS_STD(hex)<<(int)scls<<PEGASUS_STD(dec)<<PEGASUS_STD(endl));
|
502 mark.hamzy 1.17 _classTable.insert(cln,scls);
503 }
|
504 schuur 1.1
505 jmethodID id=env->GetMethodID(*cls,"<init>","()V");
506 jobject lProv=env->NewObject(*cls,id);
507 gProv=(jobject)env->NewGlobalRef(lProv);
508 if (env->ExceptionCheck()) {
|
509 mark.hamzy 1.16 DDD(PEGASUS_STD(cerr)<<"--- Unable to instantiate provider "<<cn<<PEGASUS_STD(endl));
|
510 schuur 1.1 return NULL;
511 }
|
512 mark.hamzy 1.17
513 if (gProv)
514 {
|
515 mark.hamzy 1.18 DDD(PEGASUS_STD(cout)<<"--- JMPIjvm::getProvider: gProv = "<<PEGASUS_STD(hex)<<(int)gProv<<PEGASUS_STD(dec)<<PEGASUS_STD(endl));
|
516 mark.hamzy 1.17 _objectTable.insert(cln,gProv);
517 }
518
|
519 schuur 1.1 return gProv;
520 }
521
522 void JMPIjvm::checkException(JNIEnv *env)
523 {
524 if (env->ExceptionCheck()) {
|
525 schuur 1.7 jstring jMsg=NULL,jId=NULL;
526 int code;
527 const char *cp;
528 String msg=String::EMPTY,id=String::EMPTY;
529
|
530 schuur 1.1 jthrowable err=env->ExceptionOccurred();
|
531 mark.hamzy 1.16 DDD(env->ExceptionDescribe());
|
532 schuur 1.7 if (env->IsInstanceOf(err,JMPIjvm::jv.CIMExceptionClassRef)) {
533 env->ExceptionClear();
534 if (err) {
535 jMsg=(jstring)env->CallObjectMethod(err,JMPIjvm::jv.ThrowableGetMessage);
536 code=(int)env->CallIntMethod(err,JMPIjvm::jv.CIMExceptionGetCode);
537 jId=(jstring)env->CallObjectMethod(err,JMPIjvm::jv.CIMExceptionGetID);
538 if (jId) {
539 cp=env->GetStringUTFChars(jId,NULL);
540 id=String(cp);
541 env->ReleaseStringUTFChars(jId,cp);
542 }
543
544 if (jMsg) {
545 cp=env->GetStringUTFChars(jMsg,NULL);
546 msg=String(cp);
547 env->ReleaseStringUTFChars(jMsg,cp);
548 }
|
549 mark.hamzy 1.16
550 DDD(PEGASUS_STD(cerr)<<"--- throwing Pegasus exception: "<<code<<" "<<id<<" ("<<msg<<")"<<PEGASUS_STD(endl));
551
|
552 schuur 1.7 throw CIMException((CIMStatusCode)code,id+" ("+msg+")");
|
553 mark.hamzy 1.17 }
|
554 schuur 1.7 }
555 else {
|
556 mark.hamzy 1.28 DDD(PEGASUS_STD(cerr)<<"--- JMPIjvm::checkException: exiting..."<<PEGASUS_STD(endl));
|
557 schuur 1.7 env->ExceptionDescribe();
558 exit(13);
|
559 schuur 1.1 }
|
560 mark.hamzy 1.28 }
|
561 schuur 1.2 }
|
562 schuur 1.1
563 /**************************************************************************
564 * name - NewPlatformString
565 * description - Returns a new Java string object for the specified
566 * platform string.
567 * parameters - env
568 * s Platform encoded string
569 * returns - Java string object pointer or null (0)
570 **************************************************************************/
571 jstring JMPIjvm::NewPlatformString(JNIEnv *env, char *s)
572 {
573 size_t len = strlen(s);
574 jclass cls;
575 jmethodID mid;
576 jbyteArray ary;
577
578 NULL_CHECK0(cls = (*env).FindClass("java/lang/String"));
579 NULL_CHECK0(mid = (*env).GetMethodID(cls, "<init>", "([B)V"));
580 ary = (*env).NewByteArray((jsize)len);
581 if (ary != 0) {
582 jstring str = 0;
583 schuur 1.1 (*env).SetByteArrayRegion(ary, 0, (jsize)len,
584 (jbyte *)s);
585 if (!(*env).ExceptionOccurred()) {
586 str = (jstring)(*env).NewObject(cls, mid, ary);
587 }
588 (*env).DeleteLocalRef(ary);
589 return str;
590 }
591 return 0;
592 }
593
594
595 /**************************************************************************
596 * name - NewPlatformStringArray
597 * description - Returns a new array of Java string objects for the specified
598 * array of platform strings.
599 * parameters - env
600 * strv Platform encoded string array
601 * strc Number of strings in strv
602 * returns - Java string array object pointer
603 **************************************************************************/
604 schuur 1.1 jobjectArray JMPIjvm::NewPlatformStringArray(JNIEnv *env, char **strv, int strc)
605 {
606 jarray cls;
607 jarray ary;
608 int i;
609
610 NULL_CHECK0(cls = (jarray)(*env).FindClass("java/lang/String"));
611 NULL_CHECK0(ary = (*env).NewObjectArray(strc, (jclass)cls, 0));
612 for (i = 0; i < strc; i++) {
613 jstring str = NewPlatformString(env, *strv++);
614 NULL_CHECK0(str);
615 (*env).SetObjectArrayElement((jobjectArray)ary, i, str);
616 (*env).DeleteLocalRef(str);
617 }
618 return (jobjectArray)ary;
619 }
620
621
622
623
624
625 schuur 1.1 extern "C" {
626
627
628 void throwCimException(JNIEnv *jEnv, CIMException & e) {
629 JMPIjvm::cacheIDs(jEnv);
|
630 mark.hamzy 1.26 jobject ev=jEnv->NewObject(JMPIjvm::jv.CIMExceptionClassRef,JMPIjvm::jv.CIMExceptionNewI,(jint)e.getCode());
|
631 schuur 1.1 jEnv->Throw((jthrowable)ev);
632 }
633
634 void throwFailedException(JNIEnv *jEnv) {
635 JMPIjvm::cacheIDs(jEnv);
|
636 mark.hamzy 1.26 jobject ev=jEnv->NewObject(JMPIjvm::jv.CIMExceptionClassRef,JMPIjvm::jv.CIMExceptionNewI,1);
|
637 schuur 1.1 jEnv->Throw((jthrowable)ev);
638 }
639
640 void throwNotSupportedException(JNIEnv *jEnv) {
641 JMPIjvm::cacheIDs(jEnv);
|
642 mark.hamzy 1.26 jobject ev=jEnv->NewObject(JMPIjvm::jv.CIMExceptionClassRef,JMPIjvm::jv.CIMExceptionNewI,7);
|
643 schuur 1.1 jEnv->Throw((jthrowable)ev);
644 }
645
646
|
647 schuur 1.7
648
649 // -------------------------------------
650 // ---
651 // - CIMException
652 // ---
653 // -------------------------------------
654
655 JNIEXPORT void JNICALL Java_org_pegasus_jmpi_CIMInstanceException__1new
656 (JNIEnv *jEnv, jobject jThs) {
|
657 mark.hamzy 1.26 jEnv->CallNonvirtualVoidMethod(jThs,JMPIjvm::jv.CIMExceptionClassRef,JMPIjvm::jv.CIMExceptionNew);
|
658 schuur 1.7 }
659
660 JNIEXPORT void JNICALL Java_org_pegasus_jmpi_CIMInstanceException__1newS
661 (JNIEnv *jEnv, jobject jThs, jstring jM) {
|
662 mark.hamzy 1.26 jEnv->CallNonvirtualVoidMethod(jThs,JMPIjvm::jv.CIMExceptionClassRef,JMPIjvm::jv.CIMExceptionNewSt,jM);
|
663 schuur 1.7 }
664
665 JNIEXPORT void JNICALL Java_org_pegasus_jmpi_CIMInstanceException__1newSO
666 (JNIEnv *jEnv, jobject jThs, jstring jM, jobject jO1) {
|
667 mark.hamzy 1.26 jEnv->CallNonvirtualVoidMethod(jThs,JMPIjvm::jv.CIMExceptionClassRef,JMPIjvm::jv.CIMExceptionNewStOb,jM,jO1);
|
668 schuur 1.7 }
669
670 JNIEXPORT void JNICALL Java_org_pegasus_jmpi_CIMInstanceException__1newSOO
671 (JNIEnv *jEnv, jobject jThs, jstring jM, jobject jO1, jobject jO2) {
|
672 mark.hamzy 1.26 jEnv->CallNonvirtualVoidMethod(jThs,JMPIjvm::jv.CIMExceptionClassRef,JMPIjvm::jv.CIMExceptionNewStObOb,jM,jO1,jO2);
|
673 schuur 1.7 }
674
675 JNIEXPORT void JNICALL Java_org_pegasus_jmpi_CIMInstanceException__1newSOOO
676 (JNIEnv *jEnv, jobject jThs, jstring jM, jobject jO1, jobject jO2, jobject jO3) {
|
677 mark.hamzy 1.26 jEnv->CallNonvirtualVoidMethod(jThs,JMPIjvm::jv.CIMExceptionClassRef,JMPIjvm::jv.CIMExceptionNewStObObOb,jM,jO1,jO2,jO3);
|
678 schuur 1.7 }
679
680
681
|
682 schuur 1.1 // -------------------------------------
683 // ---
684 // - CIMOMHandle
685 // ---
686 // -------------------------------------
687
|
688 schuur 1.7 CIMPropertyList getList(JNIEnv *jEnv, jobjectArray l) {
689 CIMPropertyList pl;
|
690 mark.hamzy 1.27
|
691 schuur 1.7 if (l) {
692 Array<CIMName> n;
|
693 mark.hamzy 1.27
|
694 schuur 1.7 for (jsize i=0,s=jEnv->GetArrayLength(l); i<s; i++) {
|
695 mark.hamzy 1.27 jstring jObj = (jstring)jEnv->GetObjectArrayElement(l,i);
696 const char *pn = jEnv->GetStringUTFChars(jObj,NULL);
697
|
698 schuur 1.7 n.append(pn);
|
699 mark.hamzy 1.27
|
700 schuur 1.7 jEnv->ReleaseStringUTFChars(jObj,pn);
701 }
|
702 mark.hamzy 1.27
|
703 schuur 1.7 pl.set(n);
704 }
|
705 mark.hamzy 1.27
|
706 schuur 1.7 return pl;
707 }
708
|
709 schuur 1.1 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMOMHandle__1getClass
|
710 schuur 1.7 (JNIEnv *jEnv, jobject jThs, jint jCh, jint jCop, jboolean lo,
|
711 mark.hamzy 1.20 jboolean iq, jboolean ic, jobjectArray jPl)
712 {
713 CIMOMHandle *ch = DEBUG_ConvertJavaToC (jint, CIMOMHandle*, jCh);
714 CIMObjectPath *cop = DEBUG_ConvertJavaToC (jint, CIMObjectPath*, jCop);
715 CIMPropertyList pl;
716 OperationContext ctx;
717
718 if (jPl)
719 pl=getList(jEnv,jPl);
720 else
721 pl=CIMPropertyList();
722
|
723 schuur 1.1 try {
|
724 mark.hamzy 1.20 CIMClass cls=ch->getClass(ctx,cop->getNameSpace(),
725 cop->getClassName(),
726 (Boolean)lo,
727 (Boolean)iq,
728 (Boolean)ic,
729 pl);
730
731 return DEBUG_ConvertCToJava (CIMClass*, jint, new CIMClass(cls));
|
732 schuur 1.1 }
733 Catch(jEnv);
|
734 mark.hamzy 1.20
|
735 schuur 1.1 return 0;
736 }
737
|
738 schuur 1.7 JNIEXPORT void JNICALL Java_org_pegasus_jmpi_CIMOMHandle__1createClass
|
739 mark.hamzy 1.22 (JNIEnv *jEnv, jobject jThs, jint jCh, jint jCop, jint jCl)
|
740 mark.hamzy 1.20 {
741 CIMOMHandle *ch = DEBUG_ConvertJavaToC (jint, CIMOMHandle*, jCh);
742 CIMObjectPath *cop = DEBUG_ConvertJavaToC (jint, CIMObjectPath*, jCop);
|
743 mark.hamzy 1.22 CIMClass *cl = DEBUG_ConvertJavaToC (jint, CIMClass*, jCl);
|
744 mark.hamzy 1.20 OperationContext ctx;
745
|
746 schuur 1.7 try {
747 ch->createClass(ctx,cop->getNameSpace(),*cl);
748 }
749 Catch(jEnv);
750 }
751
752 JNIEXPORT void JNICALL Java_org_pegasus_jmpi_CIMOMHandle__1setClass
|
753 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jCh, jint jCop, jint jCl)
754 {
755 CIMOMHandle *ch = DEBUG_ConvertJavaToC (jint, CIMOMHandle*, jCh);
756 CIMObjectPath *cop = DEBUG_ConvertJavaToC (jint, CIMObjectPath*, jCop);
757 CIMClass *cl = DEBUG_ConvertJavaToC (jint, CIMClass*, jCl);
|
758 schuur 1.7 OperationContext ctx;
|
759 mark.hamzy 1.20
|
760 schuur 1.7 try {
761 ch->modifyClass(ctx,cop->getNameSpace(),*cl);
762 }
763 Catch(jEnv);
764 }
765
766 JNIEXPORT void JNICALL Java_org_pegasus_jmpi_CIMOMHandle__1deleteClass
|
767 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jCh, jint jCop)
768 {
769 CIMOMHandle *ch = DEBUG_ConvertJavaToC (jint, CIMOMHandle*, jCh);
770 CIMObjectPath *cop = DEBUG_ConvertJavaToC (jint, CIMObjectPath*, jCop);
771 OperationContext ctx;
|
772 schuur 1.7
773 try {
774 ch->deleteClass(ctx,cop->getNameSpace(),cop->getClassName());
775 }
776 Catch(jEnv);
777 }
778
779 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMOMHandle__1enumerateClassNames
|
780 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jCh, jint jCop, jboolean deep)
781 {
782 CIMOMHandle *ch = DEBUG_ConvertJavaToC (jint, CIMOMHandle*, jCh);
783 CIMObjectPath *cop = DEBUG_ConvertJavaToC (jint, CIMObjectPath*, jCop);
784 CIMNamespaceName ns = cop->getNameSpace();
785 OperationContext ctx;
786
|
787 schuur 1.7 try {
|
788 mark.hamzy 1.20 Array<CIMName> enm = ch->enumerateClassNames(ctx,cop->getNameSpace(),cop->getClassName(),deep);
789 Array<CIMObjectPath> *enmop = new Array<CIMObjectPath>();
790
|
791 schuur 1.7 for (int i=0,m=enm.size(); i<m; i++) {
792 enmop->append(CIMObjectPath(String::EMPTY,ns,enm[i]));
793 }
|
794 mark.hamzy 1.20
795 return DEBUG_ConvertCToJava (Array<CIMObjectPath>*, jint, enmop);
|
796 schuur 1.7 }
797 Catch(jEnv);
|
798 mark.hamzy 1.20
|
799 schuur 1.7 return 0;
800 }
801
802 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMOMHandle__1enumerateClasses
803 (JNIEnv *jEnv, jobject jThs, jint jCh, jint jCop, jboolean deep,
|
804 mark.hamzy 1.20 jboolean lo, jboolean iq, jboolean ic)
805 {
806 CIMOMHandle *ch = DEBUG_ConvertJavaToC (jint, CIMOMHandle*, jCh);
807 CIMObjectPath *cop = DEBUG_ConvertJavaToC (jint, CIMObjectPath*, jCop);
808 OperationContext ctx;
809
|
810 schuur 1.1 try {
|
811 mark.hamzy 1.20 Array<CIMClass> en=ch->enumerateClasses(ctx,
812 cop->getNameSpace(),
813 cop->getClassName(),
814 deep,
815 (Boolean)lo,
816 iq,
817 ic);
818
819 return DEBUG_ConvertCToJava (Array<CIMClass>*, jint, new Array<CIMClass>(en));
|
820 schuur 1.7 }
821 Catch(jEnv);
|
822 mark.hamzy 1.20
|
823 schuur 1.7 return 0;
824 }
825
826 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMOMHandle__1getInstance
827 (JNIEnv *jEnv, jobject jThs, jint jCh, jint jCop, jboolean lo, jboolean iq, jboolean ic,
|
828 mark.hamzy 1.20 jobjectArray jPl)
829 {
830 CIMOMHandle *ch = DEBUG_ConvertJavaToC (jint, CIMOMHandle*, jCh);
831 CIMObjectPath *cop = DEBUG_ConvertJavaToC (jint, CIMObjectPath*, jCop);
832 OperationContext ctx;
833 CIMPropertyList pl;
834
835 if (jPl)
836 pl=getList(jEnv,jPl);
837 else
838 pl=CIMPropertyList();
|
839 schuur 1.7
840 try {
|
841 mark.hamzy 1.20 CIMInstance *inst=new CIMInstance(ch->getInstance(ctx,
842 cop->getNameSpace(),
843 *cop,
844 (Boolean)lo,
845 (Boolean)iq,
846 (Boolean)ic,
847 pl));
848 return DEBUG_ConvertCToJava (CIMInstance*, jint, inst);
|
849 schuur 1.7 }
850 Catch(jEnv);
|
851 mark.hamzy 1.20
|
852 schuur 1.7 return -1;
853 }
854
855 JNIEXPORT void JNICALL Java_org_pegasus_jmpi_CIMOMHandle__1deleteInstance
|
856 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jCh, jint jCop)
857 {
858 CIMOMHandle *ch = DEBUG_ConvertJavaToC (jint, CIMOMHandle*, jCh);
859 CIMObjectPath *cop = DEBUG_ConvertJavaToC (jint, CIMObjectPath*, jCop);
860 OperationContext ctx;
|
861 schuur 1.7
862 try {
863 ch->deleteInstance(ctx,cop->getNameSpace(),*cop);
864 }
865 Catch(jEnv);
866 }
867
868 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMOMHandle__1createInstance
|
869 mark.hamzy 1.22 (JNIEnv *jEnv, jobject jThs, jint jCh, jint jCop, jint jCi)
|
870 mark.hamzy 1.20 {
871 CIMOMHandle *ch = DEBUG_ConvertJavaToC (jint, CIMOMHandle*, jCh);
872 CIMObjectPath *cop = DEBUG_ConvertJavaToC (jint, CIMObjectPath*, jCop);
|
873 mark.hamzy 1.22 CIMInstance *ci = DEBUG_ConvertJavaToC (jint, CIMInstance*, jCi);
|
874 mark.hamzy 1.20 OperationContext ctx;
875
|
876 schuur 1.7 try {
877 ci->setPath(*cop);
|
878 mark.hamzy 1.20
|
879 schuur 1.7 CIMObjectPath obj=ch->createInstance(ctx,cop->getNameSpace(),*ci);
|
880 mark.hamzy 1.20
881 return DEBUG_ConvertCToJava (CIMObjectPath*, jint, new CIMObjectPath(obj));
|
882 schuur 1.7 }
883 Catch(jEnv);
|
884 mark.hamzy 1.20
|
885 schuur 1.7 return 0;
886 }
887
888 JNIEXPORT void JNICALL Java_org_pegasus_jmpi_CIMOMHandle__1modifyInstance
889 (JNIEnv *jEnv, jobject jThs, jint jCh, jint jCop, jint jCi,
|
890 mark.hamzy 1.20 jboolean iq, jobjectArray jPl)
891 {
892 CIMOMHandle *ch = DEBUG_ConvertJavaToC (jint, CIMOMHandle*, jCh);
893 CIMObjectPath *cop = DEBUG_ConvertJavaToC (jint, CIMObjectPath*, jCop);
894 CIMInstance *ci = DEBUG_ConvertJavaToC (jint, CIMInstance*, jCi);
895 CIMPropertyList pl = getList(jEnv,jPl);
896 OperationContext ctx;
897
|
898 schuur 1.7 try {
899 ci->setPath(*cop);
900 ch->modifyInstance(ctx,cop->getNameSpace(),*ci,(Boolean)iq,pl);
901 }
902 Catch(jEnv);
903 }
904
905 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMOMHandle__1enumerateInstanceNames
|
906 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jCh, jint jCop, jboolean deep)
907 {
908 CIMOMHandle *ch = DEBUG_ConvertJavaToC (jint, CIMOMHandle*, jCh);
909 CIMObjectPath *cop = DEBUG_ConvertJavaToC (jint, CIMObjectPath*, jCop);
910 OperationContext ctx;
911
|
912 schuur 1.7 try {
913 Array<CIMObjectPath> enm=ch->enumerateInstanceNames(ctx,
|
914 mark.hamzy 1.20 cop->getNameSpace(),
915 cop->getClassName()); //,(Boolean)deep);
916 return DEBUG_ConvertCToJava (Array<CIMObjectPath>*, jint, new Array<CIMObjectPath>(enm));
|
917 schuur 1.7 }
918 Catch(jEnv);
|
919 mark.hamzy 1.20
|
920 schuur 1.7 return 0;
921 }
922
923 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMOMHandle__1enumerateInstances
924 (JNIEnv *jEnv, jobject jThs, jint jCh, jint jCop, jboolean deep,
|
925 mark.hamzy 1.20 jboolean lo, jboolean iq, jboolean ic, jobjectArray jPl)
926 {
927 CIMOMHandle *ch = DEBUG_ConvertJavaToC (jint, CIMOMHandle*, jCh);
928 CIMObjectPath *cop = DEBUG_ConvertJavaToC (jint, CIMObjectPath*, jCop);
929 CIMPropertyList pl;
930 OperationContext ctx;
931
932 if (jPl)
933 pl=getList(jEnv,jPl);
934 else
935 pl=CIMPropertyList();
936
|
937 schuur 1.7 try {
|
938 mark.hamzy 1.20 Array<CIMInstance> en=ch->enumerateInstances(ctx,
939 cop->getNameSpace(),
940 cop->getClassName(),
941 deep,
942 lo,
943 iq,
944 ic,
945 pl);
946 return DEBUG_ConvertCToJava (Array<CIMInstance>*, jint, new Array<CIMInstance>(en));
|
947 schuur 1.7 }
948 Catch(jEnv);
|
949 mark.hamzy 1.20
|
950 schuur 1.7 return 0;
951 }
952
953 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMOMHandle__1execQuery
|
954 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jCh, jint jCop, jstring jQuery, jstring jQl)
955 {
956 CIMOMHandle *ch = DEBUG_ConvertJavaToC (jint, CIMOMHandle*, jCh);
957 CIMObjectPath *cop = DEBUG_ConvertJavaToC (jint, CIMObjectPath*, jCop);
958 OperationContext ctx;
959 const char *str = jEnv->GetStringUTFChars(jQuery,NULL);
960 String query(str);
|
961 schuur 1.7
962 jEnv->ReleaseStringUTFChars(jQuery,str);
|
963 mark.hamzy 1.27
|
964 schuur 1.7 str=jEnv->GetStringUTFChars(jQl,NULL);
|
965 mark.hamzy 1.20
|
966 schuur 1.7 String ql(str);
|
967 mark.hamzy 1.20
|
968 schuur 1.7 jEnv->ReleaseStringUTFChars(jQl,str);
969
970 try {
|
971 mark.hamzy 1.20 Array<CIMObject> enm=ch->execQuery(ctx,cop->getNameSpace(),ql,query);
|
972 schuur 1.7 Array<CIMInstance> *enmInst=new Array<CIMInstance>();
|
973 mark.hamzy 1.20
|
974 schuur 1.7 for (int i=0,m=enm.size(); i<m; i++) {
975 enmInst->append(CIMInstance(enm[i]));
|
976 schuur 1.1 }
|
977 mark.hamzy 1.20
978 return DEBUG_ConvertCToJava (Array<CIMInstance>*, jint, enmInst);
|
979 schuur 1.1 }
980 Catch(jEnv);
|
981 mark.hamzy 1.20
|
982 schuur 1.7 return 0;
|
983 schuur 1.1 }
984
|
985 schuur 1.7
|
986 schuur 1.1 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMOMHandle__1getProperty
|
987 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jCh, jint jCop, jstring jN)
988 {
989 CIMOMHandle *ch = DEBUG_ConvertJavaToC (jint, CIMOMHandle*, jCh);
990 CIMObjectPath *cop = DEBUG_ConvertJavaToC (jint, CIMObjectPath*, jCop);
991 OperationContext ctx;
992 const char *str = jEnv->GetStringUTFChars(jN,NULL);
|
993 mark.hamzy 1.27 CIMName prop(str);
994
995 jEnv->ReleaseStringUTFChars(jN,str);
|
996 schuur 1.3
|
997 schuur 1.1 try {
998 CIMValue *cv = new CIMValue(ch->getProperty(ctx, cop->getNameSpace(),*cop,prop));
|
999 mark.hamzy 1.20
1000 return DEBUG_ConvertCToJava (CIMValue*, jint, cv);
|
1001 schuur 1.1 }
1002 Catch(jEnv);
|
1003 mark.hamzy 1.20
|
1004 schuur 1.1 return -1;
1005 }
1006
|
1007 schuur 1.7 JNIEXPORT void JNICALL Java_org_pegasus_jmpi_CIMOMHandle__1setProperty
|
1008 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jCh, jint jCop, jstring jPn, jint jV)
1009 {
1010 CIMOMHandle *ch = DEBUG_ConvertJavaToC (jint, CIMOMHandle*, jCh);
1011 CIMObjectPath *cop = DEBUG_ConvertJavaToC (jint, CIMObjectPath*, jCop);
1012 OperationContext ctx;
1013 CIMValue *val = (CIMValue*)jCop;
1014 const char *str = jEnv->GetStringUTFChars(jPn,NULL);
1015 CIMName pName(str);
1016
|
1017 schuur 1.7 jEnv->ReleaseStringUTFChars(jPn,str);
|
1018 mark.hamzy 1.27
|
1019 schuur 1.7 try {
1020 ch->setProperty(ctx,cop->getNameSpace(),*cop,pName,*val);
1021 }
1022 Catch(jEnv);
1023 }
1024
|
1025 mark.hamzy 1.20 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMOMHandle__1invokeMethod
1026 (JNIEnv *jEnv, jobject jThs, jint jCh, jint jCop, jstring jMn, jobject jIn, jobject jOut)
1027 {
1028 CIMOMHandle *ch = DEBUG_ConvertJavaToC (jint, CIMOMHandle*, jCh);
1029 CIMObjectPath *cop = DEBUG_ConvertJavaToC (jint, CIMObjectPath*, jCop);
1030 OperationContext ctx;
1031 const char *str = jEnv->GetStringUTFChars(jMn,NULL);
1032 CIMName method(str);
|
1033 schuur 1.7
1034 jEnv->ReleaseStringUTFChars(jMn,str);
1035
1036 Array<CIMParamValue> in;
1037 Array<CIMParamValue> out;
1038
|
1039 mark.hamzy 1.26 for (int i = 0, m = jEnv->CallIntMethod(jIn,JMPIjvm::jv.VectorSize); i < m; i++) {
|
1040 schuur 1.7 JMPIjvm::checkException(jEnv);
|
1041 mark.hamzy 1.20
|
1042 mark.hamzy 1.26 jobject jProp = jEnv->CallObjectMethod(jIn,JMPIjvm::jv.VectorElementAt,i);
|
1043 mark.hamzy 1.23
|
1044 schuur 1.7 JMPIjvm::checkException(jEnv);
|
1045 mark.hamzy 1.20
|
1046 mark.hamzy 1.26 jint jp = jEnv->CallIntMethod(jProp,JMPIjvm::jv.CIMPropertyCInst);
|
1047 mark.hamzy 1.20 CIMProperty *p = DEBUG_ConvertJavaToC (jint, CIMProperty*, jp);
1048
|
1049 schuur 1.7 JMPIjvm::checkException(jEnv);
|
1050 mark.hamzy 1.20
|
1051 schuur 1.7 in.append(CIMParamValue(p->getName().getString(),p->getValue()));
1052 }
1053 try {
|
1054 mark.hamzy 1.23 CIMValue *val = new CIMValue(ch->invokeMethod(ctx,cop->getNameSpace(),*cop,method,in,out));
|
1055 schuur 1.7
1056 for (int i=0,m=out.size(); i<m; i++) {
|
1057 mark.hamzy 1.20 const CIMParamValue &parm = out[i];
1058 const CIMValue v = parm.getValue();
1059 CIMProperty *p = new CIMProperty(parm.getParameterName(),v,v.getArraySize());
1060 jint jp = DEBUG_ConvertCToJava (CIMProperty*, jint, p);
|
1061 mark.hamzy 1.26 jobject prop = jEnv->NewObject(JMPIjvm::jv.CIMPropertyClassRef,JMPIjvm::jv.CIMPropertyNewI,jp);
|
1062 mark.hamzy 1.20
|
1063 mark.hamzy 1.26 jEnv->CallVoidMethod(jOut,JMPIjvm::jv.VectorAddElement,prop);
|
1064 schuur 1.7 }
|
1065 mark.hamzy 1.20 return DEBUG_ConvertCToJava (CIMValue*, jint, val);
1066 }
|
1067 schuur 1.7 Catch(jEnv);
|
1068 mark.hamzy 1.20
|
1069 schuur 1.7 return 0;
1070 }
|
1071 schuur 1.1
|
1072 schuur 1.7 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMOMHandle__1invokeMethod24
1073 (JNIEnv *jEnv, jobject jThs, jint jCh, jint jCop, jstring jMn,
|
1074 mark.hamzy 1.20 jobjectArray jIn, jobjectArray jOut)
1075 {
1076 CIMOMHandle *ch = DEBUG_ConvertJavaToC (jint, CIMOMHandle*, jCh);
1077 CIMObjectPath *cop = DEBUG_ConvertJavaToC (jint, CIMObjectPath*, jCop);
1078 OperationContext ctx;
1079 const char *str = jEnv->GetStringUTFChars(jMn,NULL);
|
1080 mark.hamzy 1.27 CIMName method(str);
|
1081 mark.hamzy 1.20
|
1082 schuur 1.7 jEnv->ReleaseStringUTFChars(jMn,str);
1083
1084 Array<CIMParamValue> in;
1085 Array<CIMParamValue> out;
|
1086 schuur 1.3
|
1087 schuur 1.7 for (int i=0,m=jEnv->GetArrayLength(jIn); i<m; i++) {
1088 JMPIjvm::checkException(jEnv);
|
1089 mark.hamzy 1.20
|
1090 schuur 1.7 jobject jArg=jEnv->GetObjectArrayElement(jIn,i);
1091 JMPIjvm::checkException(jEnv);
|
1092 mark.hamzy 1.20
|
1093 mark.hamzy 1.26 jint jp = jEnv->CallIntMethod(jArg,JMPIjvm::jv.CIMArgumentCInst);
|
1094 mark.hamzy 1.20 CIMParamValue *p = DEBUG_ConvertJavaToC (jint, CIMParamValue*, jp);
1095
|
1096 schuur 1.7 JMPIjvm::checkException(jEnv);
|
1097 mark.hamzy 1.20
|
1098 schuur 1.7 in.append(*p);
1099 }
|
1100 schuur 1.1 try {
|
1101 schuur 1.7 CIMValue *val=new CIMValue(ch->invokeMethod(ctx,cop->getNameSpace(),*cop,method,in,out));
1102
1103 for (int i=0,m=out.size(),o=jEnv->GetArrayLength(jOut); i<m && i<o; i++) {
|
1104 mark.hamzy 1.24 CIMParamValue *parm = new CIMParamValue (out[i]);
1105 jint jParm = DEBUG_ConvertCToJava (CIMParamValue*, jint, parm);
|
1106 mark.hamzy 1.20
|
1107 mark.hamzy 1.17 jEnv->SetObjectArrayElement(jOut,i,
|
1108 mark.hamzy 1.26 jEnv->NewObject(JMPIjvm::jv.CIMArgumentClassRef,JMPIjvm::jv.CIMArgumentNewI,jParm));
|
1109 schuur 1.7 }
|
1110 mark.hamzy 1.20 return DEBUG_ConvertCToJava (CIMValue*, jint, val);
|
1111 schuur 1.1 }
1112 Catch(jEnv);
|
1113 mark.hamzy 1.20
|
1114 schuur 1.7 return 0;
|
1115 schuur 1.1 }
1116
|
1117 schuur 1.7 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMOMHandle__1associatorNames
1118 (JNIEnv *jEnv, jobject jThs, jint jCh, jint jCop,
|
1119 mark.hamzy 1.20 jstring jAssocClass, jstring jResultClass, jstring jRole, jstring jResultRole)
1120 {
1121 CIMOMHandle *ch = DEBUG_ConvertJavaToC (jint, CIMOMHandle*, jCh);
1122 CIMObjectPath *cop = DEBUG_ConvertJavaToC (jint, CIMObjectPath*, jCop);
1123 OperationContext ctx;
1124 const char *str = jEnv->GetStringUTFChars(jAssocClass,NULL);
|
1125 mark.hamzy 1.27 CIMName assocClass(str);
|
1126 mark.hamzy 1.23
|
1127 schuur 1.7 jEnv->ReleaseStringUTFChars(jAssocClass,str);
|
1128 mark.hamzy 1.23
|
1129 schuur 1.7 str=jEnv->GetStringUTFChars(jResultClass,NULL);
|
1130 mark.hamzy 1.23
|
1131 schuur 1.7 CIMName resultClass(str);
|
1132 mark.hamzy 1.23
|
1133 schuur 1.7 jEnv->ReleaseStringUTFChars(jResultClass,str);
|
1134 mark.hamzy 1.23
|
1135 schuur 1.7 str=jEnv->GetStringUTFChars(jRole,NULL);
|
1136 mark.hamzy 1.23
|
1137 schuur 1.7 String role(str);
|
1138 mark.hamzy 1.23
|
1139 schuur 1.7 jEnv->ReleaseStringUTFChars(jRole,str);
|
1140 mark.hamzy 1.23
|
1141 schuur 1.7 str=jEnv->GetStringUTFChars(jResultRole,NULL);
|
1142 mark.hamzy 1.23
|
1143 schuur 1.7 String resultRole(str);
|
1144 mark.hamzy 1.23
|
1145 schuur 1.7 jEnv->ReleaseStringUTFChars(jResultRole,str);
1146
|
1147 schuur 1.1 try {
|
1148 schuur 1.7 Array<CIMObjectPath> enm=ch->associatorNames(ctx,
|
1149 mark.hamzy 1.23 cop->getNameSpace(),
1150 *cop,
1151 assocClass,
1152 resultClass,
1153 role,
1154 resultRole);
1155
|
1156 mark.hamzy 1.20 return DEBUG_ConvertCToJava (Array<CIMObjectPath>*, jint, new Array<CIMObjectPath>(enm));
|
1157 schuur 1.7 }
1158 Catch(jEnv);
|
1159 mark.hamzy 1.20
|
1160 schuur 1.7 return 0;
1161 }
1162
1163 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIM__1associators
1164 (JNIEnv *jEnv, jobject jThs, jint jCh, jint jCop,
1165 jstring jAssocClass, jstring jResultClass, jstring jRole, jstring jResultRole,
|
1166 mark.hamzy 1.20 jboolean includeQualifiers, jboolean includeClassOrigin, jobjectArray jPl)
1167 {
1168 CIMOMHandle *ch = DEBUG_ConvertJavaToC (jint, CIMOMHandle*, jCh);
1169 CIMObjectPath *cop = DEBUG_ConvertJavaToC (jint, CIMObjectPath*, jCop);
1170 OperationContext ctx;
1171 CIMPropertyList pl = getList(jEnv,jPl);
1172 const char *str = jEnv->GetStringUTFChars(jAssocClass,NULL);
|
1173 mark.hamzy 1.27 CIMName assocClass(str);
|
1174 mark.hamzy 1.23
|
1175 schuur 1.7 jEnv->ReleaseStringUTFChars(jAssocClass,str);
|
1176 mark.hamzy 1.23
|
1177 schuur 1.7 str=jEnv->GetStringUTFChars(jResultClass,NULL);
|
1178 mark.hamzy 1.23
|
1179 schuur 1.7 CIMName resultClass(str);
|
1180 mark.hamzy 1.23
|
1181 schuur 1.7 jEnv->ReleaseStringUTFChars(jResultClass,str);
|
1182 mark.hamzy 1.23
|
1183 schuur 1.7 str=jEnv->GetStringUTFChars(jRole,NULL);
|
1184 mark.hamzy 1.23
|
1185 schuur 1.7 String role(str);
|
1186 mark.hamzy 1.23
|
1187 schuur 1.7 jEnv->ReleaseStringUTFChars(jRole,str);
|
1188 mark.hamzy 1.23
|
1189 schuur 1.7 str=jEnv->GetStringUTFChars(jResultRole,NULL);
|
1190 mark.hamzy 1.23
|
1191 schuur 1.7 String resultRole(str);
|
1192 mark.hamzy 1.23
|
1193 schuur 1.7 jEnv->ReleaseStringUTFChars(jResultRole,str);
1194
1195 try {
|
1196 mark.hamzy 1.23 Array<CIMObject> enm = ch->associators(ctx,
1197 cop->getNameSpace(),
1198 *cop,
1199 assocClass,
1200 resultClass,
1201 role,
1202 resultRole,
1203 (Boolean)includeQualifiers,
1204 (Boolean)includeClassOrigin,
1205 pl);
1206 Array<CIMInstance> *enmInst = new Array<CIMInstance>();
1207
|
1208 schuur 1.7 for (int i=0,m=enm.size(); i<m; i++) {
1209 enmInst->append(CIMInstance(enm[i]));
|
1210 schuur 1.1 }
|
1211 mark.hamzy 1.23
|
1212 mark.hamzy 1.20 return DEBUG_ConvertCToJava (Array<CIMInstance>*, jint, enmInst);
|
1213 schuur 1.1 }
1214 Catch(jEnv);
|
1215 mark.hamzy 1.20
|
1216 schuur 1.7 return 0;
|
1217 schuur 1.1 }
1218
|
1219 schuur 1.7 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMOMHandle__1referenceNames
1220 (JNIEnv *jEnv, jobject jThs, jint jCh, jint jCop,
|
1221 mark.hamzy 1.20 jstring jAssocClass, jstring jRole)
1222 {
1223 CIMOMHandle *ch = DEBUG_ConvertJavaToC (jint, CIMOMHandle*, jCh);
1224 CIMObjectPath *cop = DEBUG_ConvertJavaToC (jint, CIMObjectPath*, jCop);
1225 OperationContext ctx;
1226 const char *str = jEnv->GetStringUTFChars(jAssocClass,NULL);
|
1227 mark.hamzy 1.27 CIMName assocClass(str);
|
1228 mark.hamzy 1.23
|
1229 schuur 1.7 jEnv->ReleaseStringUTFChars(jAssocClass,str);
|
1230 mark.hamzy 1.23
|
1231 schuur 1.7 str=jEnv->GetStringUTFChars(jRole,NULL);
|
1232 mark.hamzy 1.23
|
1233 schuur 1.7 String role(str);
|
1234 mark.hamzy 1.23
|
1235 schuur 1.7 jEnv->ReleaseStringUTFChars(jRole,str);
1236
1237 try {
|
1238 mark.hamzy 1.23 Array<CIMObjectPath> enm = ch->referenceNames(ctx,
1239 cop->getNameSpace(),
1240 *cop,
1241 assocClass,
1242 role);
1243
|
1244 mark.hamzy 1.20 return DEBUG_ConvertCToJava (Array<CIMObjectPath>*, jint, new Array<CIMObjectPath>(enm));
|
1245 schuur 1.7 }
1246 Catch(jEnv);
|
1247 mark.hamzy 1.20
|
1248 schuur 1.7 return 0;
1249 }
|
1250 schuur 1.1
|
1251 schuur 1.7 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMOMHandle__1references
1252 (JNIEnv *jEnv, jobject jThs, jint jCh, jint jCop,
1253 jstring jAssocClass, jstring jRole,
|
1254 mark.hamzy 1.20 jboolean includeQualifiers, jboolean includeClassOrigin, jobjectArray jPl)
1255 {
1256 CIMOMHandle *ch = DEBUG_ConvertJavaToC (jint, CIMOMHandle*, jCh);
1257 CIMObjectPath *cop = DEBUG_ConvertJavaToC (jint, CIMObjectPath*, jCop);
1258 OperationContext ctx;
1259 CIMPropertyList pl = getList(jEnv,jPl);
1260 const char *str = jEnv->GetStringUTFChars(jAssocClass,NULL);
1261 CIMName assocClass(str);
|
1262 schuur 1.3
|
1263 schuur 1.7 jEnv->ReleaseStringUTFChars(jAssocClass,str);
|
1264 mark.hamzy 1.23
|
1265 schuur 1.7 str=jEnv->GetStringUTFChars(jRole,NULL);
|
1266 mark.hamzy 1.20
|
1267 schuur 1.7 String role(str);
|
1268 mark.hamzy 1.20
|
1269 schuur 1.7 jEnv->ReleaseStringUTFChars(jRole,str);
1270
|
1271 schuur 1.1 try {
|
1272 mark.hamzy 1.23 Array<CIMObject> enm = ch->references(ctx,
1273 cop->getNameSpace(),
1274 *cop,
1275 assocClass,
1276 role,
1277 (Boolean)includeQualifiers,
1278 (Boolean)includeClassOrigin,
1279 pl);
1280 Array<CIMInstance> *enmInst = new Array<CIMInstance>();
1281
|
1282 schuur 1.7 for (int i=0,m=enm.size(); i<m; i++) {
1283 enmInst->append(CIMInstance(enm[i]));
1284 }
|
1285 mark.hamzy 1.23
|
1286 mark.hamzy 1.20 return DEBUG_ConvertCToJava (Array<CIMInstance>*, jint, enmInst);
|
1287 schuur 1.1 }
1288 Catch(jEnv);
|
1289 mark.hamzy 1.20
|
1290 schuur 1.7 return 0;
|
1291 schuur 1.1 }
1292
|
1293 schuur 1.3 JNIEXPORT void JNICALL Java_org_pegasus_jmpi_CIMOMHandle__1deliverEvent
|
1294 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jCh, jstring jName, jstring jNs, jint jInd)
1295 {
1296 CIMOMHandle *ch = DEBUG_ConvertJavaToC (jint, CIMOMHandle*, jCh);
1297 CIMInstance *ind = DEBUG_ConvertJavaToC (jint, CIMInstance*, jInd);
1298 const char *str = jEnv->GetStringUTFChars(jName,NULL);
1299 String name(str);
|
1300 schuur 1.1
|
1301 schuur 1.3 jEnv->ReleaseStringUTFChars(jName,str);
|
1302 mark.hamzy 1.27
|
1303 schuur 1.3 str=jEnv->GetStringUTFChars(jNs,NULL);
|
1304 mark.hamzy 1.20
|
1305 schuur 1.3 String ns(str);
|
1306 mark.hamzy 1.20
|
1307 schuur 1.3 jEnv->ReleaseStringUTFChars(jNs,str);
1308
|
1309 schuur 1.8 CIMObjectPath ref(CIMObjectPath(ind->getPath()));
|
1310 mark.hamzy 1.20
|
1311 schuur 1.8 ref.setNameSpace(ns);
1312 ind->setPath(ref);
1313
|
1314 schuur 1.3 JMPIProviderManager::indProvRecord *prec;
1315 OperationContext* context;
1316
1317 if (JMPIProviderManager::provTab.lookup(name,prec)) {
1318 if (prec->enabled) {
1319 context=prec->ctx;
1320 try {
1321 prec->handler->deliver(*context, *ind);
1322 }
1323 Catch(jEnv);
1324 }
1325 }
1326 else {
|
1327 mark.hamzy 1.16 DDD(PEGASUS_STD(cerr)<<"--- Java_org_pegasus_jmpi_CIMOMHandle__1deliverEvent() "<<name<<" not found"<<PEGASUS_STD(endl));
|
1328 schuur 1.3 }
1329 }
|
1330 schuur 1.1
|
1331 mark.hamzy 1.21 JNIEXPORT void JNICALL Java_org_pegasus_jmpi_CIMOMHandle__1finalize
1332 (JNIEnv *jEnv, jobject jThs, jint jCh)
1333 {
1334 CIMOMHandle *ch = DEBUG_ConvertJavaToC (jint, CIMOMHandle*, jCh);
1335
1336 delete ch;
1337
1338 DEBUG_ConvertCleanup (jint, jCh);
1339 }
1340
|
1341 schuur 1.1 // -------------------------------------
1342 // ---
1343 // - CIMClass
1344 // ---
1345 // -------------------------------------
1346
1347 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMClass__1newInstance
|
1348 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jCls)
1349 {
1350 CIMClass *cls = DEBUG_ConvertJavaToC (jint, CIMClass*, jCls);
1351
|
1352 schuur 1.1 try {
|
1353 mark.hamzy 1.23 CIMInstance *ci = new CIMInstance(cls->getClassName());
|
1354 mark.hamzy 1.20
|
1355 schuur 1.5 for (int i=0,m=cls->getQualifierCount(); i<m; i++) {
1356 try {
1357 ci->addQualifier(cls->getQualifier(i).clone());
|
1358 mark.hamzy 1.17 }
1359 catch (Exception e) {}
|
1360 schuur 1.5 }
|
1361 schuur 1.1 for (int i=0,m=cls->getPropertyCount(); i<m; i++) {
|
1362 mark.hamzy 1.23 CIMProperty cp = cls->getProperty(i);
1363
|
1364 schuur 1.1 ci->addProperty(cp.clone());
|
1365 mark.hamzy 1.23
|
1366 schuur 1.5 for (int j=0, s=cp.getQualifierCount(); j<s; j++) {
1367 try {
1368 ci->getProperty(i).addQualifier(cp.getQualifier(j));
|
1369 mark.hamzy 1.17 }
1370 catch (Exception e) {}
1371 }
|
1372 schuur 1.1 }
|
1373 mark.hamzy 1.23
|
1374 mark.hamzy 1.20 return DEBUG_ConvertCToJava (CIMInstance*, jint, ci);
|
1375 schuur 1.1 }
1376 Catch(jEnv);
|
1377 mark.hamzy 1.20
|
1378 schuur 1.1 return 0;
1379 }
1380
1381 JNIEXPORT jstring JNICALL Java_org_pegasus_jmpi_CIMClass__1getName
|
1382 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jCls)
1383 {
1384 CIMClass *cls = DEBUG_ConvertJavaToC (jint, CIMClass*, jCls);
|
1385 r.kieninger 1.11
|
1386 schuur 1.1 try {
1387 const String &cn=cls->getClassName().getString();
1388 jstring str=jEnv->NewStringUTF(cn.getCString());
|
1389 mark.hamzy 1.20
|
1390 schuur 1.1 return str;
1391 }
1392 Catch(jEnv);
|
1393 mark.hamzy 1.20
|
1394 schuur 1.1 return 0;
1395 }
1396
1397 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMClass__1getQualifier
|
1398 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jCls, jstring jN)
1399 {
1400 CIMClass *cls = DEBUG_ConvertJavaToC (jint, CIMClass*, jCls);
1401 const char *str = jEnv->GetStringUTFChars(jN,NULL);
1402 jint rv = -1;
1403 Uint32 pos = cls->findQualifier(String(str));
1404
|
1405 schuur 1.1 if (pos!=PEG_NOT_FOUND)
|
1406 mark.hamzy 1.20 rv = DEBUG_ConvertCToJava (CIMQualifier*, jint, new CIMQualifier(cls->getQualifier(pos)));
1407
|
1408 schuur 1.1 jEnv->ReleaseStringUTFChars(jN,str);
|
1409 mark.hamzy 1.20
|
1410 schuur 1.1 return rv;
1411 }
1412
1413 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMClass__1getProperty
|
1414 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jCls, jstring jN)
1415 {
1416 CIMClass *cls = DEBUG_ConvertJavaToC (jint, CIMClass*, jCls);
1417 const char *str = jEnv->GetStringUTFChars(jN,NULL);
1418 jint rv = -1;
1419 Uint32 pos = cls->findProperty(CIMName(str));
1420
|
1421 schuur 1.1 if (pos!=PEG_NOT_FOUND)
|
1422 mark.hamzy 1.20 rv = DEBUG_ConvertCToJava (CIMProperty*, jint, new CIMProperty(cls->getProperty(pos)));
1423
|
1424 schuur 1.1 jEnv->ReleaseStringUTFChars(jN,str);
|
1425 mark.hamzy 1.20
|
1426 schuur 1.1 return rv;
1427 }
1428
1429 JNIEXPORT jboolean JNICALL Java_org_pegasus_jmpi_CIMClass__1hasQualifier
|
1430 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jCls, jstring jQ)
1431 {
1432 CIMClass *cls = DEBUG_ConvertJavaToC (jint, CIMClass*, jCls);
1433 const char *str = jEnv->GetStringUTFChars(jQ,NULL);
1434 Uint32 pos = cls->findQualifier(String(str));
1435
|
1436 schuur 1.1 jEnv->ReleaseStringUTFChars(jQ,str);
|
1437 mark.hamzy 1.20
|
1438 schuur 1.1 return (jboolean)(pos!=PEG_NOT_FOUND);
1439 }
1440
1441 JNIEXPORT jobject JNICALL Java_org_pegasus_jmpi_CIMClass__1getProperties
|
1442 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jCls, jobject jVec)
1443 {
1444 CIMClass *cls = DEBUG_ConvertJavaToC (jint, CIMClass*, jCls);
|
1445 schuur 1.5
|
1446 schuur 1.1 for (int i=0,s=cls->getPropertyCount(); i<s; i++) {
|
1447 mark.hamzy 1.20 CIMProperty *cp = new CIMProperty(cls->getProperty(i));
1448 jint jCp = DEBUG_ConvertCToJava (CIMProperty*, jint, cp);
|
1449 mark.hamzy 1.16
|
1450 mark.hamzy 1.26 jobject prop=jEnv->NewObject(JMPIjvm::jv.CIMPropertyClassRef,JMPIjvm::jv.CIMPropertyNewI,jCp);
|
1451 mark.hamzy 1.16
|
1452 mark.hamzy 1.26 jEnv->CallVoidMethod(jVec,JMPIjvm::jv.VectorAddElement,prop);
|
1453 schuur 1.1 }
|
1454 mark.hamzy 1.20
|
1455 schuur 1.1 return jVec;
1456 }
1457
|
1458 schuur 1.5 JNIEXPORT void JNICALL Java_org_pegasus_jmpi_CIMClass__1addProperty
|
1459 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jCls, jint jP)
1460 {
1461 CIMClass *cls = DEBUG_ConvertJavaToC (jint, CIMClass*, jCls);
1462 CIMProperty *p = DEBUG_ConvertJavaToC (jint, CIMProperty*, jP);
1463
|
1464 schuur 1.5 cls->addProperty(*p);
1465 }
1466
1467 JNIEXPORT void JNICALL Java_org_pegasus_jmpi_CIMClass__1setProperties
|
1468 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jCls, jobject jVec)
1469 {
1470 CIMClass *cls = DEBUG_ConvertJavaToC (jint, CIMClass*, jCls);
1471
|
1472 schuur 1.5 for (int i=cls->getPropertyCount()-1; i>=0; i--) {
1473 cls->removeProperty(i);
1474 }
|
1475 mark.hamzy 1.26 for (Uint32 i=0,s=jEnv->CallIntMethod(jVec,JMPIjvm::jv.VectorSize); i<s; i++) {
|
1476 mark.hamzy 1.20 JMPIjvm::checkException(jEnv);
1477
|
1478 mark.hamzy 1.26 jobject o=jEnv->CallObjectMethod(jVec,JMPIjvm::jv.VectorElementAt,(i));
|
1479 mark.hamzy 1.20
|
1480 mark.hamzy 1.26 jint jp = jEnv->CallIntMethod(o,JMPIjvm::jv.CIMPropertyCInst);
|
1481 mark.hamzy 1.20 CIMProperty *cp = DEBUG_ConvertJavaToC (jint, CIMProperty*, jp);
1482
1483 JMPIjvm::checkException(jEnv);
1484
|
1485 schuur 1.5 cls->addProperty(*cp);
1486 }
1487 }
1488
1489
1490 JNIEXPORT jobject JNICALL Java_org_pegasus_jmpi_CIMClass__1getQualifiers
|
1491 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jCls, jobject jVec)
1492 {
1493 CIMClass *cls = DEBUG_ConvertJavaToC (jint, CIMClass*, jCls);
|
1494 schuur 1.5
1495 for (int i=0,s=cls->getQualifierCount(); i<s; i++) {
|
1496 mark.hamzy 1.20 CIMQualifier *cq = new CIMQualifier(cls->getQualifier(i));
1497 jint jCq = DEBUG_ConvertCToJava (CIMQualifier*, jint, cq);
|
1498 mark.hamzy 1.26 jobject qual = jEnv->NewObject(JMPIjvm::jv.CIMQualifierClassRef,JMPIjvm::jv.CIMQualifierNewI,jCq);
|
1499 mark.hamzy 1.20
|
1500 mark.hamzy 1.26 jEnv->CallVoidMethod(jVec,JMPIjvm::jv.VectorAddElement,qual);
|
1501 schuur 1.5 }
|
1502 mark.hamzy 1.20
|
1503 schuur 1.5 return jVec;
1504 }
1505
|
1506 schuur 1.1 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMClass__1new
|
1507 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jstring jN)
1508 {
1509 const char *str = jEnv->GetStringUTFChars(jN,NULL);
1510 CIMClass *cls = new CIMClass(CIMName(str), CIMName());
1511
|
1512 schuur 1.1 jEnv->ReleaseStringUTFChars(jN,str);
|
1513 mark.hamzy 1.20
1514 return DEBUG_ConvertCToJava (CIMClass*, jint, cls);
|
1515 schuur 1.1 }
1516
1517 JNIEXPORT jstring JNICALL Java_org_pegasus_jmpi_CIMClass__1getSuperClass
|
1518 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jCls)
1519 {
1520 CIMClass *cls = DEBUG_ConvertJavaToC (jint, CIMClass*, jCls);
1521 const String &cn = cls->getSuperClassName().getString();
1522
|
1523 schuur 1.1 jstring str=jEnv->NewStringUTF(cn.getCString());
|
1524 mark.hamzy 1.20
|
1525 schuur 1.1 return str;
1526 }
1527
1528 JNIEXPORT jobject JNICALL Java_org_pegasus_jmpi_CIMClass__1getKeys
|
1529 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jCls, jobject jVec)
1530 {
1531 CIMClass *cls = DEBUG_ConvertJavaToC (jint, CIMClass*, jCls);
1532
|
1533 schuur 1.1 if (cls->hasKeys()) {
1534 Array<CIMName> keyNames;
1535 cls->getKeyNames(keyNames);
1536 for(int i=0, s=keyNames.size();i<s;i++){
1537 Uint32 pos=cls->findProperty(keyNames[i]);
1538 if (pos!=PEG_NOT_FOUND){
|
1539 mark.hamzy 1.20 CIMProperty *cp = new CIMProperty(cls->getProperty(pos));
1540 jint jCp = DEBUG_ConvertCToJava (CIMProperty*, jint, cp);
1541
|
1542 mark.hamzy 1.26 jobject prop=jEnv->NewObject(JMPIjvm::jv.CIMPropertyClassRef,JMPIjvm::jv.CIMPropertyNewI,jCp);
|
1543 mark.hamzy 1.20
|
1544 mark.hamzy 1.26 jEnv->CallVoidMethod(jVec,JMPIjvm::jv.VectorAddElement,prop);
|
1545 schuur 1.1 }
1546 }
1547 }
|
1548 mark.hamzy 1.20
|
1549 schuur 1.1 return jVec;
1550 }
1551
1552 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMClass__1getMethod
|
1553 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jCls, jstring jN)
1554 {
1555 CIMClass *cls = DEBUG_ConvertJavaToC (jint, CIMClass*, jCls);
1556 const char *str = jEnv->GetStringUTFChars(jN,NULL);
1557 jint rv = -1;
1558 Uint32 pos = cls->findMethod(String(str));
1559
|
1560 schuur 1.1 if (pos!=PEG_NOT_FOUND) {
|
1561 mark.hamzy 1.20 rv = DEBUG_ConvertCToJava (CIMMethod*, jint, new CIMMethod(cls->getMethod(pos)));
|
1562 schuur 1.1 }
|
1563 mark.hamzy 1.20
|
1564 schuur 1.1 jEnv->ReleaseStringUTFChars(jN,str);
|
1565 mark.hamzy 1.20
|
1566 schuur 1.1 return rv;
1567 }
1568
1569 JNIEXPORT jboolean JNICALL Java_org_pegasus_jmpi_CIMClass__1equals
|
1570 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jCls, jint jClsToBeCompared)
1571 {
1572 CIMClass *cls = DEBUG_ConvertJavaToC (jint, CIMClass*, jCls);
1573 CIMClass *clsToBeCompared = DEBUG_ConvertJavaToC (jint, CIMClass*, jClsToBeCompared);
1574
|
1575 schuur 1.1 return cls->identical(*clsToBeCompared);
1576 }
1577
1578 JNIEXPORT void JNICALL Java_org_pegasus_jmpi_CIMClass__1finalize
|
1579 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jCls)
1580 {
1581 CIMClass *cls = DEBUG_ConvertJavaToC (jint, CIMClass*, jCls);
1582
|
1583 schuur 1.1 delete cls;
|
1584 mark.hamzy 1.20
1585 DEBUG_ConvertCleanup (jint, jCls);
|
1586 schuur 1.1 }
1587
|
1588 schuur 1.7 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMClass__1filterProperties
|
1589 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jInst, jobjectArray jPl, jboolean iq, jboolean ic, jboolean lo)
1590 {
1591 CIMClass *cc = DEBUG_ConvertJavaToC (jint, CIMClass*, jInst);
|
1592 mark.hamzy 1.22 CIMClass *cf = 0;
|
1593 mark.hamzy 1.20 CIMName clsn = cc->getClassName();
|
1594 schuur 1.7
1595 if (lo) {
|
1596 mark.hamzy 1.23 cf = new CIMClass(cc->clone());
1597
|
1598 schuur 1.7 CIMName clsn=cc->getClassName();
|
1599 mark.hamzy 1.23
|
1600 schuur 1.7 for (int i=cf->getPropertyCount()-1; i>=0; i--)
1601 if (cf->getProperty(i).getClassOrigin()==clsn) cf->removeProperty(i);
|
1602 mark.hamzy 1.23
|
1603 mark.hamzy 1.20 return DEBUG_ConvertCToJava (CIMClass*, jint, cf);
|
1604 schuur 1.7 }
1605 else if (jPl) {
|
1606 mark.hamzy 1.23 CIMPropertyList pl = getList(jEnv,jPl);
1607 Array<CIMName> n = pl.getPropertyNameArray();
1608
1609 cf = new CIMClass(clsn, cc->getSuperClassName());
1610
1611 for (int i = 0,s = n.size(); i < s; i++) {
|
1612 schuur 1.7 Uint32 pos=cc->findProperty(n[i]);
|
1613 mark.hamzy 1.23
|
1614 schuur 1.7 if (pos!=PEG_NOT_FOUND) {
1615 if (iq) {
|
1616 mark.hamzy 1.23 CIMProperty cp = cc->getProperty(pos).clone();
1617
1618 if (!ic)
1619 cp.setClassOrigin(CIMName());
1620
|
1621 schuur 1.7 cf->addProperty(cp);
1622 }
1623 else {
|
1624 mark.hamzy 1.23 CIMProperty cp = cc->getProperty(pos);
1625 CIMName co;
1626
1627 if (ic)
1628 co = cp.getClassOrigin();
1629
1630 CIMProperty np(cp.getName(),
1631 cp.getValue(),
1632 cp.getArraySize(),
1633 cp.getReferenceClassName(),
1634 co,
1635 cp.getPropagated());
1636
|
1637 schuur 1.7 cf->addProperty(np);
1638 }
1639 }
1640 }
|
1641 mark.hamzy 1.23 if (iq)
1642 for (Uint32 i = 0, s = cc->getQualifierCount(); i < s; i++)
1643 cf->addQualifier(cc->getQualifier(i));
|
1644 schuur 1.7 }
1645 else if (iq) {
|
1646 mark.hamzy 1.23 cf = new CIMClass(cc->clone());
1647
1648 if (ic)
1649 return DEBUG_ConvertCToJava (CIMClass*, jint, cf);
1650
1651 for (int i = cf->getPropertyCount()-1; i >= 0; i--) {
|
1652 schuur 1.7 CIMProperty cp=cf->getProperty(i);
|
1653 mark.hamzy 1.23
|
1654 schuur 1.7 cp.setClassOrigin(CIMName());
1655 cf->removeProperty(i);
1656 cf->addProperty(cp);
1657 }
1658 }
1659 else {
|
1660 mark.hamzy 1.23 cf = new CIMClass(clsn, cc->getSuperClassName());
1661
1662 for (int i = cc->getPropertyCount()-1; i >= 0; i--) {
1663 CIMProperty cp = cc->getProperty(i);
1664 CIMName co;
1665
1666 if (ic)
1667 co = cp.getClassOrigin();
1668
1669 CIMProperty np(cp.getName(),
1670 cp.getValue(),
1671 cp.getArraySize(),
1672 cp.getReferenceClassName(),
1673 co,
1674 cp.getPropagated());
1675
|
1676 schuur 1.7 cf->addProperty(np);
1677 }
1678 }
1679
|
1680 mark.hamzy 1.20 return DEBUG_ConvertCToJava (CIMClass*, jint, cf);
|
1681 schuur 1.7 }
1682
|
1683 schuur 1.1
1684
1685 // -------------------------------------
1686 // ---
1687 // - CIMInstance
1688 // ---
1689
1690 // -------------------------------------
1691 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMInstance__1new
|
1692 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs)
1693 {
1694 return DEBUG_ConvertCToJava (CIMInstance*, jint, new CIMInstance());
|
1695 schuur 1.1 }
1696
1697 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMInstance__1newCn
|
1698 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jstring jN)
1699 {
|
1700 mark.hamzy 1.27 const char *str = jEnv->GetStringUTFChars(jN,NULL);
1701 CIMInstance *ci = new CIMInstance(CIMName(str));
|
1702 mark.hamzy 1.20
|
1703 mark.hamzy 1.27 jEnv->ReleaseStringUTFChars(jN,str);
1704
1705 return DEBUG_ConvertCToJava (CIMInstance*, jint, ci);
|
1706 schuur 1.1 }
1707
1708 //Added by Andy Viciu
1709 JNIEXPORT void JNICALL Java_org_pegasus_jmpi_CIMInstance__1setName
|
1710 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jInst, jstring jN)
1711 {
1712 CIMInstance *ci = DEBUG_ConvertJavaToC (jint, CIMInstance*, jInst);
1713 const char *str = jEnv->GetStringUTFChars(jN,NULL);
1714
|
1715 mark.hamzy 1.27 jEnv->ReleaseStringUTFChars(jN,str);
1716
|
1717 schuur 1.1 /* NOT SUPPORTED AND NOT NEEDED*/
1718 }
1719
1720 JNIEXPORT void JNICALL Java_org_pegasus_jmpi_CIMInstance__1setProperty
|
1721 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jInst, jstring jN, jint jV)
1722 {
1723 CIMInstance *ci = DEBUG_ConvertJavaToC (jint, CIMInstance*, jInst);
1724 CIMValue *cv = DEBUG_ConvertJavaToC (jint, CIMValue*, jV);
1725 const char *str = jEnv->GetStringUTFChars(jN,NULL);
1726 Uint32 pos = ci->findProperty(CIMName(str));
1727
|
1728 schuur 1.5 try {
|
1729 mark.hamzy 1.27 if (pos!=PEG_NOT_FOUND)
1730 {
|
1731 schuur 1.6 CIMProperty cp=ci->getProperty(pos);
|
1732 mark.hamzy 1.27
|
1733 schuur 1.6 if (cp.getType()==cv->getType())
|
1734 mark.hamzy 1.27 {
|
1735 schuur 1.6 cp.setValue(*cv);
|
1736 mark.hamzy 1.27 }
1737 else
1738 {
|
1739 mark.hamzy 1.16 DDD(PEGASUS_STD(cerr)<<"!!! CIMInstance.setProperty - Wrong type of CIMValue (instance name:"<<ci->getClassName().getString()<<", property name: "<<str<<")");
1740 DDD(PEGASUS_STD(cerr)<<"!!! CIMInstance.setProperty : "<<cp.getType()<<" <> "<<cv->getType()<<PEGASUS_STD(endl));
1741
|
1742 schuur 1.6 throw CIMException(CIM_ERR_FAILED, String("Type mismatch"));
1743 }
|
1744 mark.hamzy 1.27
|
1745 schuur 1.6 ci->removeProperty(pos);
1746 ci->addProperty(cp);
1747 }
|
1748 mark.hamzy 1.27 else
1749 {
|
1750 schuur 1.6 CIMProperty *cp=new CIMProperty(CIMName(str),*cv);
1751 ci->addProperty(*cp);
|
1752 schuur 1.1 }
1753 }
|
1754 schuur 1.5 Catch(jEnv);
|
1755 schuur 1.1
1756 jEnv->ReleaseStringUTFChars(jN,str);
1757 }
1758
|
1759 schuur 1.5 JNIEXPORT void JNICALL Java_org_pegasus_jmpi_CIMInstance__1setProperties
|
1760 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jInst, jobject jV)
1761 {
1762 throw CIMException(CIM_ERR_NOT_SUPPORTED, String("Not yet supported"));
|
1763 schuur 1.5 }
1764
|
1765 schuur 1.1 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMInstance__1getProperty
|
1766 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jInst, jstring jN)
1767 {
1768 CIMInstance *ci = DEBUG_ConvertJavaToC (jint, CIMInstance*, jInst);
1769 const char *str = jEnv->GetStringUTFChars(jN,NULL);
1770 jint rv = -1;
1771
|
1772 schuur 1.1 try {
|
1773 mark.hamzy 1.23 Uint32 pos = ci->findProperty(CIMName(str));
1774
|
1775 mark.hamzy 1.27 if (pos != PEG_NOT_FOUND)
1776 {
|
1777 mark.hamzy 1.23 CIMProperty *cp = new CIMProperty(ci->getProperty(pos));
1778
|
1779 mark.hamzy 1.20 rv = DEBUG_ConvertCToJava (CIMProperty*, jint, cp);
|
1780 schuur 1.1 }
1781 }
1782 Catch(jEnv);
|
1783 mark.hamzy 1.20
|
1784 schuur 1.1 jEnv->ReleaseStringUTFChars(jN,str);
|
1785 mark.hamzy 1.20
|
1786 schuur 1.1 return rv;
1787 }
1788
1789 JNIEXPORT jobject JNICALL Java_org_pegasus_jmpi_CIMInstance__1getKeyValuePairs
|
1790 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jInst, jobject jVec)
1791 {
1792 CIMInstance *ci = DEBUG_ConvertJavaToC (jint, CIMInstance*, jInst);
|
1793 schuur 1.5
|
1794 schuur 1.1 for (int i=0,s=ci->getPropertyCount(); i<s; i++) {
1795 if (ci->getProperty(i).findQualifier(String("key"))!=PEG_NOT_FOUND) {
|
1796 mark.hamzy 1.20 CIMProperty *cp = new CIMProperty(ci->getProperty(i));
1797 jint jCp = DEBUG_ConvertCToJava (CIMProperty*, jint, cp);
1798
|
1799 mark.hamzy 1.26 jobject prop=jEnv->NewObject(JMPIjvm::jv.CIMPropertyClassRef,JMPIjvm::jv.CIMPropertyNewI,jCp);
|
1800 mark.hamzy 1.20
|
1801 mark.hamzy 1.26 jEnv->CallVoidMethod(jVec,JMPIjvm::jv.VectorAddElement,prop);
|
1802 schuur 1.1 }
1803 }
1804
1805 return jVec;
1806 }
1807
1808 JNIEXPORT jstring JNICALL Java_org_pegasus_jmpi_CIMInstance__1getClassName
|
1809 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jInst)
1810 {
1811 CIMInstance *ci = DEBUG_ConvertJavaToC (jint, CIMInstance*, jInst);
1812 const String &cn = ci->getClassName().getString();
1813
|
1814 schuur 1.1 jstring str=jEnv->NewStringUTF(cn.getCString());
|
1815 mark.hamzy 1.20
|
1816 schuur 1.1 return str;
1817 }
1818
1819 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMInstance__1getQualifier
|
1820 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jInst, jstring jN)
1821 {
1822 CIMInstance *ci = DEBUG_ConvertJavaToC (jint, CIMInstance*, jInst);
1823 const char *str = jEnv->GetStringUTFChars(jN,NULL);
1824 jint rv = -1;
1825 Uint32 pos = ci->findQualifier(String(str));
1826
|
1827 mark.hamzy 1.27 if (pos!=PEG_NOT_FOUND)
1828 {
|
1829 mark.hamzy 1.20 rv = DEBUG_ConvertCToJava (CIMQualifier*, jint, new CIMQualifier(ci->getQualifier(pos)));
|
1830 schuur 1.1 }
|
1831 mark.hamzy 1.20
|
1832 schuur 1.1 jEnv->ReleaseStringUTFChars(jN,str);
|
1833 mark.hamzy 1.20
|
1834 schuur 1.1 return rv;
1835 }
1836
1837 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMInstance__1clone
|
1838 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jInst)
1839 {
1840 CIMInstance *ci = DEBUG_ConvertJavaToC (jint, CIMInstance*, jInst);
1841 CIMInstance *cl = new CIMInstance(ci->clone());
1842
1843 return DEBUG_ConvertCToJava (CIMInstance*, jint, cl);
|
1844 schuur 1.1 }
1845
1846 JNIEXPORT jobject JNICALL Java_org_pegasus_jmpi_CIMInstance__1getProperties
|
1847 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jInst, jobject jVec)
1848 {
1849 CIMInstance *ci = DEBUG_ConvertJavaToC (jint, CIMInstance*, jInst);
|
1850 mark.hamzy 1.16
|
1851 schuur 1.1 for (int i=0,s=ci->getPropertyCount(); i<s; i++) {
|
1852 mark.hamzy 1.20 CIMProperty *cp = new CIMProperty(ci->getProperty(i));
1853 jint jCp = DEBUG_ConvertCToJava (CIMProperty*, jint, cp);
|
1854 mark.hamzy 1.16
|
1855 mark.hamzy 1.26 jobject prop=jEnv->NewObject(JMPIjvm::jv.CIMPropertyClassRef,JMPIjvm::jv.CIMPropertyNewI,jCp);
|
1856 mark.hamzy 1.16
|
1857 mark.hamzy 1.26 jEnv->CallVoidMethod(jVec,JMPIjvm::jv.VectorAddElement,prop);
|
1858 schuur 1.1 }
|
1859 mark.hamzy 1.16
|
1860 schuur 1.1 return jVec;
1861 }
1862
1863 JNIEXPORT void JNICALL Java_org_pegasus_jmpi_CIMInstance__1finalize
|
1864 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jInst)
1865 {
1866 CIMInstance *ci = DEBUG_ConvertJavaToC (jint, CIMInstance*, jInst);
1867
|
1868 schuur 1.1 delete ci;
|
1869 mark.hamzy 1.20
1870 DEBUG_ConvertCleanup (jint, jInst);
|
1871 schuur 1.1 }
1872
|
1873 schuur 1.7 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMInstance__1filterProperties
|
1874 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jInst, jobjectArray jPl, jboolean iq, jboolean ic, jboolean lo)
1875 {
1876 CIMInstance *ci = DEBUG_ConvertJavaToC (jint, CIMInstance*, jInst);
|
1877 mark.hamzy 1.22 CIMInstance *cf = 0;
|
1878 mark.hamzy 1.20 CIMName clsn = ci->getClassName();
|
1879 schuur 1.7
1880 if (lo) {
1881 cf=new CIMInstance(ci->clone());
1882 CIMName clsn=ci->getClassName();
1883 for (int i=cf->getPropertyCount()-1; i>=0; i--)
1884 if (cf->getProperty(i).getClassOrigin()==clsn) cf->removeProperty(i);
|
1885 mark.hamzy 1.20 return DEBUG_ConvertCToJava (CIMInstance*, jint, cf);
|
1886 schuur 1.7 }
1887 else if (jPl) {
1888 CIMPropertyList pl=getList(jEnv,jPl);
1889 Array<CIMName> n=pl.getPropertyNameArray();
1890 cf=new CIMInstance(clsn);
1891 for (int i=0,s=n.size(); i<s; i++) {
1892 Uint32 pos=ci->findProperty(n[i]);
1893 if (pos!=PEG_NOT_FOUND) {
1894 if (iq) {
1895 CIMProperty cp=ci->getProperty(pos).clone();
1896 if (!ic) cp.setClassOrigin(CIMName());
1897 cf->addProperty(cp);
1898 }
1899 else {
1900 CIMProperty cp=ci->getProperty(pos);
1901 CIMName co;
1902 if (ic) co=cp.getClassOrigin();
1903 CIMProperty np(cp.getName(),cp.getValue(),cp.getArraySize(),
1904 cp.getReferenceClassName(),co,cp.getPropagated());
1905 cf->addProperty(np);
1906 }
1907 schuur 1.7 }
1908 }
1909 cf->setPath(ci->getPath());
1910 }
1911 else if (iq) {
1912 cf=new CIMInstance(ci->clone());
|
1913 mark.hamzy 1.20 if (ic) return DEBUG_ConvertCToJava (CIMInstance*, jint, cf);
|
1914 schuur 1.7 for (int i=cf->getPropertyCount()-1; i>=0; i--) {
1915 CIMProperty cp=cf->getProperty(i);
1916 cp.setClassOrigin(CIMName());
1917 cf->removeProperty(i);
1918 cf->addProperty(cp);
1919 }
1920 }
1921 else {
1922 cf=new CIMInstance(clsn);
1923 for (int i=ci->getPropertyCount()-1; i>=0; i--) {
1924 CIMProperty cp=ci->getProperty(i);
1925 CIMName co;
1926 if (ic) co=cp.getClassOrigin();
1927 CIMProperty np(cp.getName(),cp.getValue(),cp.getArraySize(),
1928 cp.getReferenceClassName(),co,cp.getPropagated());
1929 cf->addProperty(np);
1930 }
1931 cf->setPath(ci->getPath());
1932 }
1933
|
1934 mark.hamzy 1.20 return DEBUG_ConvertCToJava (CIMInstance*, jint, cf);
|
1935 schuur 1.7 }
|
1936 schuur 1.1
1937 // -------------------------------------
1938 // ---
1939 // - CIMObjectPath
1940 // ---
1941 // -------------------------------------
1942
|
1943 mark.hamzy 1.20 CIMObjectPath* construct()
1944 {
1945 CIMObjectPath *cop = new CIMObjectPath();
1946 _nameSpace n;
1947
|
1948 schuur 1.1 cop->setNameSpace(n.nameSpace());
1949 cop->setHost(n.hostName());
|
1950 mark.hamzy 1.20
|
1951 schuur 1.1 return cop;
1952 }
1953
1954 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMObjectPath__1new
|
1955 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs)
1956 {
1957 return DEBUG_ConvertCToJava (CIMObjectPath*, jint, construct());
|
1958 schuur 1.1 }
1959
1960 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMObjectPath__1newCn
|
1961 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jstring jCn)
1962 {
1963 CIMObjectPath *cop = construct();
1964 const char *str = jEnv->GetStringUTFChars(jCn,NULL);
1965
1966 if (str)
1967 cop->setClassName(str);
|
1968 mark.hamzy 1.27
|
1969 schuur 1.1 jEnv->ReleaseStringUTFChars(jCn,str);
|
1970 mark.hamzy 1.20
1971 return DEBUG_ConvertCToJava (CIMObjectPath*, jint, cop);
|
1972 schuur 1.1 }
1973
1974 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMObjectPath__1newCnNs
|
1975 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jstring jCn, jstring jNs)
1976 {
1977 CIMObjectPath *cop = construct();
1978 const char *str1 = NULL;
1979 const char *str2 = NULL;
|
1980 schuur 1.1
1981 try {
|
1982 schuur 1.6 if (jCn) str1=jEnv->GetStringUTFChars(jCn,NULL);
1983 if (jNs) str2=jEnv->GetStringUTFChars(jNs,NULL);
|
1984 schuur 1.1 if (str1) cop->setClassName(str1);
1985 if (str2) cop->setNameSpace(str2);
1986 }
|
1987 schuur 1.5 Catch(jEnv);
|
1988 schuur 1.1
|
1989 schuur 1.6 if (str1) jEnv->ReleaseStringUTFChars(jCn,str1);
1990 if (str2) jEnv->ReleaseStringUTFChars(jNs,str2);
|
1991 mark.hamzy 1.20
1992 return DEBUG_ConvertCToJava (CIMObjectPath*, jint, cop);
|
1993 schuur 1.1 }
1994
1995 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMObjectPath__1_newCi
|
1996 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jInst)
1997 {
1998 CIMInstance *ci = DEBUG_ConvertJavaToC (jint, CIMInstance*, jInst);
1999 CIMObjectPath *cop = new CIMObjectPath(ci->getPath());
2000 _nameSpace n;
2001
|
2002 schuur 1.1 if (cop->getNameSpace().isNull()) cop->setNameSpace(n.nameSpace());
2003 if (cop->getHost()==NULL) cop->setHost(n.hostName());
|
2004 mark.hamzy 1.20
2005 return DEBUG_ConvertCToJava (CIMObjectPath*, jint, cop);
|
2006 schuur 1.1 }
2007
2008 JNIEXPORT void JNICALL Java_org_pegasus_jmpi_CIMObjectPath__1finalize
|
2009 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jCop)
2010 {
2011 CIMObjectPath *cop = DEBUG_ConvertJavaToC (jint, CIMObjectPath*, jCop);
2012
|
2013 schuur 1.1 delete cop;
|
2014 mark.hamzy 1.20
2015 DEBUG_ConvertCleanup (jint, jCop);
|
2016 schuur 1.1 }
2017
2018 JNIEXPORT jstring JNICALL Java_org_pegasus_jmpi_CIMObjectPath__1getHost
|
2019 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jCop)
2020 {
2021 CIMObjectPath *cop = DEBUG_ConvertJavaToC (jint, CIMObjectPath*, jCop);
2022 const String &hn = cop->getHost();
2023
|
2024 schuur 1.1 jstring str=jEnv->NewStringUTF(hn.getCString());
|
2025 mark.hamzy 1.20
|
2026 schuur 1.1 return str;
2027 }
2028
2029 JNIEXPORT void JNICALL Java_org_pegasus_jmpi_CIMObjectPath__1setHost
|
2030 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jCop, jstring jName)
2031 {
2032 CIMObjectPath *cop = DEBUG_ConvertJavaToC (jint, CIMObjectPath*, jCop);
2033 const char *str = jEnv->GetStringUTFChars(jName,NULL);
2034
|
2035 schuur 1.1 cop->setHost(String(str));
|
2036 mark.hamzy 1.27
|
2037 schuur 1.1 jEnv->ReleaseStringUTFChars(jName,str);
2038 }
2039
2040 JNIEXPORT jstring JNICALL Java_org_pegasus_jmpi_CIMObjectPath__1getObjectName
|
2041 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jCop)
2042 {
2043 CIMObjectPath *cop = DEBUG_ConvertJavaToC (jint, CIMObjectPath*, jCop);
2044 const String &cn = cop->getClassName().getString();
2045
|
2046 schuur 1.1 jstring str=jEnv->NewStringUTF(cn.getCString());
|
2047 mark.hamzy 1.20
|
2048 schuur 1.1 return str;
2049 }
2050
2051 JNIEXPORT void JNICALL Java_org_pegasus_jmpi_CIMObjectPath__1setObjectName
|
2052 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jCop, jstring jName)
2053 {
2054 CIMObjectPath *cop = DEBUG_ConvertJavaToC (jint, CIMObjectPath*, jCop);
2055 const char *str = jEnv->GetStringUTFChars(jName,NULL);
2056
|
2057 schuur 1.1 cop->setClassName(String(str));
|
2058 mark.hamzy 1.27
|
2059 schuur 1.1 jEnv->ReleaseStringUTFChars(jName,str);
2060 }
2061
2062 JNIEXPORT jstring JNICALL Java_org_pegasus_jmpi_CIMObjectPath__1getNameSpace
|
2063 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jCop)
2064 {
2065 CIMObjectPath *cop = DEBUG_ConvertJavaToC (jint, CIMObjectPath*, jCop);
2066 const String &ns = cop->getNameSpace().getString();
2067
|
2068 schuur 1.1 jstring str=jEnv->NewStringUTF(ns.getCString());
|
2069 mark.hamzy 1.20
|
2070 schuur 1.1 return str;
2071 }
2072
2073 JNIEXPORT void JNICALL Java_org_pegasus_jmpi_CIMObjectPath__1setNameSpace
|
2074 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jCop, jstring jName)
2075 {
2076 CIMObjectPath *cop = DEBUG_ConvertJavaToC (jint, CIMObjectPath*, jCop);
2077 const char *str = jEnv->GetStringUTFChars(jName,NULL);
2078
|
2079 schuur 1.1 cop->setNameSpace(CIMNamespaceName(str));
|
2080 mark.hamzy 1.27
|
2081 schuur 1.1 jEnv->ReleaseStringUTFChars(jName,str);
2082 }
2083
2084 JNIEXPORT void JNICALL Java_org_pegasus_jmpi_CIMObjectPath__1addKey
|
2085 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jCop, jstring jId, jint jVal)
2086 {
2087 CIMObjectPath *cop = DEBUG_ConvertJavaToC (jint, CIMObjectPath*, jCop);
2088 const char *str = jEnv->GetStringUTFChars(jId,NULL);
2089 CIMValue *cv = DEBUG_ConvertJavaToC (jint, CIMValue*, jVal);
2090 Array<CIMKeyBinding> keyBindings = cop->getKeyBindings();
2091
|
2092 schuur 1.1 keyBindings.append(CIMKeyBinding(str,*cv));
2093 cop->setKeyBindings(Array<CIMKeyBinding>(keyBindings));
|
2094 mark.hamzy 1.27
|
2095 schuur 1.1 jEnv->ReleaseStringUTFChars(jId,str);
2096 }
2097
2098 JNIEXPORT jobject JNICALL Java_org_pegasus_jmpi_CIMObjectPath__1getKeys
|
2099 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jCop, jobject jVec)
2100 {
2101 CIMObjectPath *cop = DEBUG_ConvertJavaToC (jint, CIMObjectPath*, jCop);
2102 const Array<CIMKeyBinding> &akb = cop->getKeyBindings();
|
2103 schuur 1.1
2104 for (Uint32 i=0,s=akb.size(); i<s; i++) {
2105 const String &n=akb[i].getName().getString();
2106 const String &v=akb[i].getValue();
2107 CIMKeyBinding::Type t=akb[i].getType();
|
2108 mark.hamzy 1.20 CIMValue *cv = 0;
|
2109 schuur 1.1 switch (t) {
2110 case CIMKeyBinding::NUMERIC:
2111 cv=new CIMValue((Sint32)atol(v.getCString()));
2112 break;
2113 case CIMKeyBinding::STRING:
2114 cv=new CIMValue(v);
2115 break;
2116 case CIMKeyBinding::BOOLEAN:
2117 cv=new CIMValue((Boolean)(v.getCString()));
2118 break;
2119 case CIMKeyBinding::REFERENCE:
2120 cv = new CIMValue(CIMObjectPath(akb[i].getValue()));
2121 break;
2122 default:
2123 throwCIMException(jEnv,"+++ unsupported type: ");
2124 }
|
2125 r.kieninger 1.11
|
2126 mark.hamzy 1.20 CIMProperty *cp = 0;
2127 if (t!=CIMKeyBinding::REFERENCE)
|
2128 schuur 1.1 cp=new CIMProperty(n,*cv);
|
2129 mark.hamzy 1.20 else
2130 cp=new CIMProperty(n,*cv, 0, ((CIMObjectPath) akb[i].getValue()).getClassName());
2131
2132 jint jCp = DEBUG_ConvertCToJava (CIMProperty*, jint, cp);
|
2133 mark.hamzy 1.26 jobject prop = jEnv->NewObject(JMPIjvm::jv.CIMPropertyClassRef,JMPIjvm::jv.CIMPropertyNewI,jCp);
|
2134 schuur 1.1
|
2135 mark.hamzy 1.26 jEnv->CallVoidMethod(jVec,JMPIjvm::jv.VectorAddElement,prop);
|
2136 schuur 1.1 }
|
2137 mark.hamzy 1.20
|
2138 schuur 1.1 return jVec;
2139 }
2140
2141 JNIEXPORT jstring JNICALL Java_org_pegasus_jmpi_CIMObjectPath__1getKeyValue
|
2142 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jCop, jstring jStr)
2143 {
2144 CIMObjectPath *cop = DEBUG_ConvertJavaToC (jint, CIMObjectPath*, jCop);
2145 const Array<CIMKeyBinding> &akb = cop->getKeyBindings();
2146 const char *strKeyName = jEnv->GetStringUTFChars(jStr,NULL);
2147 jstring retStr = NULL;
2148
|
2149 mark.hamzy 1.27 for (Uint32 i=0,s=akb.size(); i<s; i++)
2150 {
|
2151 schuur 1.1 const String &n=akb[i].getName().getString();
|
2152 mark.hamzy 1.27
2153 if (n==String(strKeyName))
2154 {
|
2155 schuur 1.1 retStr=jEnv->NewStringUTF(akb[i].getValue().getCString());
2156 break;
2157 }
2158 }
|
2159 mark.hamzy 1.20
|
2160 schuur 1.1 jEnv->ReleaseStringUTFChars(jStr,strKeyName);
|
2161 mark.hamzy 1.20
|
2162 schuur 1.1 return retStr;
2163 }
2164
2165 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMObjectPath__1set
|
2166 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jstring jStr)
2167 {
2168 const char *strCop = jEnv->GetStringUTFChars(jStr,NULL);
2169 CIMObjectPath *cop = new CIMObjectPath();
2170
|
2171 schuur 1.1 cop->set(String(strCop));
|
2172 mark.hamzy 1.27
|
2173 schuur 1.1 jEnv->ReleaseStringUTFChars(jStr,strCop);
|
2174 mark.hamzy 1.20
2175 return DEBUG_ConvertCToJava (CIMObjectPath*, jint, cop);
|
2176 schuur 1.1 }
2177
2178 JNIEXPORT void JNICALL Java_org_pegasus_jmpi_CIMObjectPath__1setKeys
|
2179 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jCop, jobject jVec)
2180 {
2181 CIMObjectPath *cop = DEBUG_ConvertJavaToC (jint, CIMObjectPath*, jCop);
2182 Array<CIMKeyBinding> akb;
2183
|
2184 mark.hamzy 1.26 for (Uint32 i=0,s=jEnv->CallIntMethod(jVec,JMPIjvm::jv.VectorSize); i<s; i++) {
2185 jobject o=jEnv->CallObjectMethod(jVec,JMPIjvm::jv.VectorElementAt,(i));
|
2186 mark.hamzy 1.20
|
2187 mark.hamzy 1.26 jint jCp = jEnv->CallIntMethod(o,JMPIjvm::jv.CIMPropertyCInst);
|
2188 mark.hamzy 1.20 CIMProperty *cp = DEBUG_ConvertJavaToC (jint, CIMProperty*, jCp);
2189
|
2190 schuur 1.1 akb.append(CIMKeyBinding(cp->getName(),cp->getValue()));
2191 }
2192 cop->setKeyBindings(akb);
2193 }
2194
2195 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMObjectPath__1clone
|
2196 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jCop)
2197 {
2198 CIMObjectPath *cop = DEBUG_ConvertJavaToC (jint, CIMObjectPath*, jCop);
2199 CIMObjectPath *copl = new CIMObjectPath(cop->getHost(), cop->getNameSpace(), cop->getClassName(), cop->getKeyBindings());
2200
2201 return DEBUG_ConvertCToJava (CIMObjectPath*, jint, copl);
|
2202 schuur 1.1 }
2203
2204 JNIEXPORT jstring JNICALL Java_org_pegasus_jmpi_CIMObjectPath__1toString
|
2205 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jCop)
2206 {
2207 CIMObjectPath *cop = DEBUG_ConvertJavaToC (jint, CIMObjectPath*, jCop);
2208 const String &ns = cop->toString();
2209
|
2210 schuur 1.1 jstring str=jEnv->NewStringUTF(ns.getCString());
|
2211 mark.hamzy 1.20
|
2212 schuur 1.1 return str;
2213 }
2214
2215 // -------------------------------------
2216 // ---
2217 // - CIMDataType
2218 // ---
2219 // -------------------------------------
2220
2221 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMDataType__1new
|
2222 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint type)
2223 {
2224 return DEBUG_ConvertCToJava (_dataType*, jint, new _dataType(type));
|
2225 schuur 1.1 }
2226
2227 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMDataType__1newAr
|
2228 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint type, jint size)
2229 {
2230 return DEBUG_ConvertCToJava (_dataType*, jint, new _dataType(type,size));
|
2231 schuur 1.1 }
2232
2233 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMDataType__1newRef
|
2234 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint type, jstring jRef)
2235 {
2236 const char *ref = jEnv->GetStringUTFChars(jRef,NULL);
2237 jint cInst = DEBUG_ConvertCToJava (_dataType*, jint, new _dataType(type,String(ref)));
2238
|
2239 schuur 1.1 jEnv->ReleaseStringUTFChars(jRef,ref);
|
2240 mark.hamzy 1.20
|
2241 schuur 1.1 return cInst;
2242 }
2243
2244 JNIEXPORT jboolean JNICALL Java_org_pegasus_jmpi_CIMDataType__1isArray
|
2245 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jDt)
2246 {
2247 _dataType *dt = DEBUG_ConvertJavaToC (jint, _dataType*, jDt);
2248
|
2249 schuur 1.1 return dt->_array==true;
2250 }
2251
2252 JNIEXPORT jboolean JNICALL Java_org_pegasus_jmpi_CIMDataType__1isreference
|
2253 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jDt)
2254 {
2255 _dataType *dt = DEBUG_ConvertJavaToC (jint, _dataType*, jDt);
2256
|
2257 schuur 1.1 return dt->_reference==true;
2258 }
2259
2260 JNIEXPORT jboolean JNICALL Java_org_pegasus_jmpi_CIMDataType__1isReference
|
2261 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jDt)
2262 {
2263 _dataType *dt = DEBUG_ConvertJavaToC (jint, _dataType*, jDt);
2264
|
2265 schuur 1.1 return dt->_reference==true;
2266 }
2267
2268 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMDataType__1getType
|
2269 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jDt)
2270 {
2271 _dataType *dt = DEBUG_ConvertJavaToC (jint, _dataType*, jDt);
2272
|
2273 schuur 1.1 return dt->_type;
2274 }
2275
2276 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMDataType__1getSize
|
2277 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jDt)
2278 {
2279 _dataType *dt = DEBUG_ConvertJavaToC (jint, _dataType*, jDt);
2280
|
2281 schuur 1.1 return dt->_size;
2282 }
2283
2284 JNIEXPORT jstring JNICALL Java_org_pegasus_jmpi_CIMDataType__1getRefClassName
|
2285 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jDt)
2286 {
2287 _dataType *dt = DEBUG_ConvertJavaToC (jint, _dataType*, jDt);
2288 jstring str = jEnv->NewStringUTF(dt->_refClass.getCString());
2289
|
2290 schuur 1.1 return str;
2291 }
2292
2293 JNIEXPORT jstring JNICALL Java_org_pegasus_jmpi_CIMDataType__1toString
|
2294 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jDt)
2295 {
2296 _dataType *dt = DEBUG_ConvertJavaToC (jint, _dataType*, jDt);
2297 jstring str = NULL;
2298
|
2299 schuur 1.1 if (dt->_type & 0x10) {
2300 char tmp[32];
2301 strcpy(tmp,jTypeToChars[dt->_type-0x10]);
2302 strcat(tmp,"[]");
2303 str=jEnv->NewStringUTF(tmp);
|
2304 schuur 1.5 }
|
2305 schuur 1.1 else if (dt->_type & 0x20) {
2306 String tmp=dt->_refClass+" REF";
2307 str=jEnv->NewStringUTF(tmp.getCString());
|
2308 schuur 1.6 }
|
2309 schuur 1.1 else {
2310 str=jEnv->NewStringUTF(jTypeToChars[dt->_type]);
2311 }
|
2312 mark.hamzy 1.20
|
2313 schuur 1.1 return str;
2314 }
2315
|
2316 mark.hamzy 1.24 JNIEXPORT void JNICALL Java_org_pegasus_jmpi_CIMDataType__1finalize
2317 (JNIEnv *jEnv, jobject jThs, jint jDt)
2318 {
2319 _dataType *dt = DEBUG_ConvertJavaToC (jint, _dataType*, jDt);
2320
2321 delete dt;
2322
2323 DEBUG_ConvertCleanup (jint, jDt);
2324 }
2325
2326 CIMType toPtype (int jType)
2327 {
2328 if (jType > 13)
2329 return (CIMType)14;
2330 return
2331 (CIMType)(jTypeToPType[jType]);
|
2332 schuur 1.5 }
|
2333 schuur 1.1
2334
2335 // -------------------------------------
2336 // ---
|
2337 schuur 1.6 // - CIMArgument
2338 // ---
2339 // -------------------------------------
2340
2341 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMArgument__1getValue
|
2342 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jP)
2343 {
2344 CIMParamValue *cp = DEBUG_ConvertJavaToC (jint, CIMParamValue*, jP);
2345 CIMValue *cv = new CIMValue(cp->getValue());
2346
2347 return DEBUG_ConvertCToJava (CIMValue*, jint, cv);
|
2348 schuur 1.6 }
2349
2350 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMArgument__1new
|
2351 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs)
2352 {
2353 CIMParamValue *p = new CIMParamValue(String::EMPTY,CIMValue());
2354
2355 return DEBUG_ConvertCToJava (CIMParamValue*, jint, p);
|
2356 schuur 1.6 }
2357
2358 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMArgument__1newS
|
2359 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jstring jN)
2360 {
2361 const char *str = jEnv->GetStringUTFChars(jN,NULL);
2362 CIMParamValue *p = new CIMParamValue(str,CIMValue());
2363
|
2364 schuur 1.6 jEnv->ReleaseStringUTFChars(jN,str);
|
2365 mark.hamzy 1.20
2366 return DEBUG_ConvertCToJava (CIMParamValue*, jint, p);
|
2367 schuur 1.6 }
2368
2369 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMArgument__1newSV
|
2370 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jstring jN, jint jV)
2371 {
2372 const char *str = jEnv->GetStringUTFChars(jN,NULL);
2373 CIMValue *cv = DEBUG_ConvertJavaToC (jint, CIMValue*, jV);
2374 CIMParamValue *p = new CIMParamValue(str,cv);
2375
|
2376 schuur 1.6 jEnv->ReleaseStringUTFChars(jN,str);
|
2377 mark.hamzy 1.20
2378 return DEBUG_ConvertCToJava (CIMParamValue*, jint, p);
|
2379 schuur 1.6 }
2380
2381 JNIEXPORT void JNICALL Java_org_pegasus_jmpi_CIMArgument__1setValue
|
2382 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jP,jint jV)
2383 {
2384 CIMParamValue *cp = DEBUG_ConvertJavaToC (jint, CIMParamValue*, jP);
2385 CIMValue *cv = DEBUG_ConvertJavaToC (jint, CIMValue*, jV);
2386
|
2387 schuur 1.6 cp->setValue(*cv);
2388 }
2389
2390 JNIEXPORT jstring JNICALL Java_org_pegasus_jmpi_CIMArgument__1getName
|
2391 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jP)
2392 {
2393 CIMParamValue *cp = DEBUG_ConvertJavaToC (jint, CIMParamValue*, jP);
2394 const String &n = cp->getParameterName();
2395 jstring str = jEnv->NewStringUTF(n.getCString());
2396
|
2397 schuur 1.6 return str;
2398 }
2399
2400 JNIEXPORT void JNICALL Java_org_pegasus_jmpi_CIMArgument__1setName
|
2401 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jP, jstring jN)
2402 {
2403 CIMParamValue *cp = DEBUG_ConvertJavaToC (jint, CIMParamValue*, jP);
2404 const char *str = jEnv->GetStringUTFChars(jN,NULL);
2405 String n(str);
2406
|
2407 schuur 1.6 cp->setParameterName(n);
|
2408 mark.hamzy 1.27
|
2409 schuur 1.6 jEnv->ReleaseStringUTFChars(jN,str);
2410 }
2411
2412 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMArgument__1getType
|
2413 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jP)
2414 {
2415 CIMParamValue *cp = DEBUG_ConvertJavaToC (jint, CIMParamValue*, jP);
2416 const CIMValue cv = cp->getValue();
2417 String ref;
2418 _dataType *type = new _dataType(pTypeToJType[cv.getType()],
2419 cv.getArraySize(),
2420 false,
2421 false,
2422 cv.isArray(),
2423 ref,
2424 true);
2425
2426 return DEBUG_ConvertCToJava (_dataType*, jint, type);
|
2427 schuur 1.6 }
2428
2429 // -------------------------------------
2430 // ---
|
2431 schuur 1.1 // - CIMProperty
2432 // ---
2433 // -------------------------------------
2434
2435 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMProperty__1getValue
|
2436 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jP)
2437 {
2438 CIMProperty *cp = DEBUG_ConvertJavaToC (jint, CIMProperty*, jP);
2439 CIMValue *cv = new CIMValue(cp->getValue());
2440
2441 return DEBUG_ConvertCToJava (CIMValue*, jint, cv);
|
2442 schuur 1.1 }
2443
|
2444 schuur 1.5 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMProperty__1new
|
2445 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jstring jN, jint jV)
2446 {
2447 CIMProperty *p = new CIMProperty(CIMName(),CIMValue());
2448
2449 return DEBUG_ConvertCToJava (CIMProperty*, jint, p);
|
2450 schuur 1.5 }
2451
|
2452 schuur 1.1 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMProperty__1property
|
2453 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jstring jN, jint jV)
2454 {
|
2455 mark.hamzy 1.27 CIMValue *cv = DEBUG_ConvertJavaToC (jint, CIMValue*, jV);
2456 const char *str = jEnv->GetStringUTFChars(jN,NULL);
2457 CIMProperty *cp = 0;
2458 jint jCp = -1;
2459
|
2460 schuur 1.1 try {
2461 if (cv->getType()!=CIMTYPE_REFERENCE)
|
2462 mark.hamzy 1.27 {
|
2463 schuur 1.1 cp=new CIMProperty(String(str),*cv);
|
2464 mark.hamzy 1.27 }
2465 else
2466 {
2467 if (!cv->isArray())
2468 {
|
2469 schuur 1.1 CIMObjectPath cop;
|
2470 mark.hamzy 1.27
|
2471 schuur 1.1 cv->get(cop);
2472 cp=new CIMProperty(String(str),*cv,0, cop.getClassName());
2473 }
|
2474 mark.hamzy 1.27 else
2475 {
|
2476 schuur 1.1 throwCIMException(jEnv,"+++ unsupported type in CIMProperty.property");
2477 }
2478 }
2479
|
2480 mark.hamzy 1.27 jCp = DEBUG_ConvertCToJava (CIMProperty*, jint, cp);
|
2481 schuur 1.1 }
2482 Catch(jEnv);
|
2483 mark.hamzy 1.20
|
2484 mark.hamzy 1.27 jEnv->ReleaseStringUTFChars(jN,str);
2485
2486 return jCp;
|
2487 schuur 1.1 }
2488
2489 JNIEXPORT void JNICALL Java_org_pegasus_jmpi_CIMProperty__1setValue
|
2490 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jP,jint jV)
2491 {
2492 CIMProperty *cp = DEBUG_ConvertJavaToC (jint, CIMProperty*, jP);
2493 CIMValue *cv = DEBUG_ConvertJavaToC (jint, CIMValue*, jV);
2494
|
2495 schuur 1.1 cp->setValue(*cv);
2496 }
2497
2498 JNIEXPORT jboolean JNICALL Java_org_pegasus_jmpi_CIMProperty__1isArray
|
2499 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jP)
2500 {
2501 CIMProperty *cp = DEBUG_ConvertJavaToC (jint, CIMProperty*, jP);
2502
|
2503 schuur 1.1 return (jboolean)cp->isArray();
2504 }
2505
2506 JNIEXPORT void JNICALL Java_org_pegasus_jmpi_CIMProperty__1addValue
|
2507 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jP, jint jV)
2508 {
2509 CIMProperty *cp = DEBUG_ConvertJavaToC (jint, CIMProperty*, jP);
2510 CIMValue *cvin = DEBUG_ConvertJavaToC (jint, CIMValue*, jV);
2511 CIMValue cv = cp->getValue();
2512
|
2513 schuur 1.1 if (cvin->isNull())
2514 throwCIMException(jEnv,"+++ null cvin value ");
2515 if (!cv.isArray())
2516 throwCIMException(jEnv,"+++ not an array ");
2517 if (cvin->getType()!=cv.getType())
2518 throwCIMException(jEnv,"+++ type mismatch ");
|
2519 mark.hamzy 1.20
|
2520 schuur 1.1 CIMType type=cv.getType();
|
2521 mark.hamzy 1.20
|
2522 schuur 1.1 switch (type) {
2523 case CIMTYPE_BOOLEAN: {
2524 Boolean bo;
2525 cvin->get(bo);
2526 Array<Boolean> boarr;
2527 cv.get(boarr);
2528 boarr.append(bo);
2529 }
2530 break;
2531 case CIMTYPE_UINT8: {
2532 Uint8 u8;
2533 cvin->get(u8);
2534 Array<Uint8> u8arr;
2535 cv.get(u8arr);
2536 u8arr.append(u8);
2537 }
2538 break;
2539 case CIMTYPE_SINT8: {
2540 Sint8 s8;
2541 cvin->get(s8);
2542 Array<Sint8> s8arr;
2543 schuur 1.1 cv.get(s8arr);
2544 s8arr.append(s8);
2545 }
2546 break;
2547 case CIMTYPE_UINT16: {
2548 Uint16 u16;
2549 cvin->get(u16);
2550 Array<Uint16> u16arr;
2551 cv.get(u16arr);
2552 u16arr.append(u16);
2553 }
2554 break;
2555 case CIMTYPE_SINT16: {
2556 Sint16 s16;
2557 cvin->get(s16);
2558 Array<Sint16> s16arr;
2559 cv.get(s16arr);
2560 s16arr.append(s16);
2561 }
2562 break;
2563 case CIMTYPE_UINT32: {
2564 schuur 1.1 Uint32 u32;
2565 cvin->get(u32);
2566 Array<Uint32> u32arr;
2567 cv.get(u32arr);
2568 u32arr.append(u32);
2569 }
2570 break;
2571 case CIMTYPE_SINT32: {
2572 Sint32 s32;
2573 cvin->get(s32);
2574 Array<Sint32> s32arr;
2575 cv.get(s32arr);
2576 s32arr.append(s32);
2577 }
2578 break;
2579 case CIMTYPE_UINT64: {
2580 Uint64 u64;
2581 cvin->get(u64);
2582 Array<Uint64> u64arr;
2583 cv.get(u64arr);
2584 u64arr.append(u64);
2585 schuur 1.1 }
2586 break;
2587 case CIMTYPE_SINT64: {
2588 Sint64 s64;
2589 cvin->get(s64);
2590 Array<Sint64> s64arr;
2591 cv.get(s64arr);
2592 s64arr.append(s64);
2593 }
2594 break;
2595 case CIMTYPE_REAL32: {
2596 Real32 f;
2597 cvin->get(f);
2598 Array<Real32> farr;
2599 cv.get(farr);
2600 farr.append(f);
2601 }
2602 break;
2603 case CIMTYPE_REAL64: {
2604 Real64 d;
2605 cvin->get(d);
2606 schuur 1.1 Array<Real64> darr;
2607 cv.get(darr);
2608 darr.append(d);
2609 }
2610 break;
2611 case CIMTYPE_STRING: {
2612 String str;
2613 cvin->get(str);
2614 Array<String> strarr;
2615 cv.get(strarr);
2616 strarr.append(str);
2617 }
2618 break;
2619 case CIMTYPE_REFERENCE: {
2620 CIMObjectPath ref;
2621 cvin->get(ref);
2622 Array<CIMObjectPath> refarr;
2623 cv.get(refarr);
2624 refarr.append(ref);
2625 }
2626 break;
|
2627 dave.sudlik 1.13 case CIMTYPE_OBJECT: {
2628 CIMObject obj;
2629 cvin->get(obj);
2630 Array<CIMObject> objarr;
2631 cv.get(objarr);
2632 objarr.append(obj);
2633 }
2634 break;
|
2635 schuur 1.1 default:
2636 throwCIMException(jEnv,"+++ unsupported type ");
2637 }
2638 }
2639
|
2640 schuur 1.5 JNIEXPORT void JNICALL Java_org_pegasus_jmpi_CIMProperty__1addQualifier
|
2641 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jP, jint jQ)
2642 {
2643 CIMProperty *cp = DEBUG_ConvertJavaToC (jint, CIMProperty*, jP);
2644 CIMQualifier *cq = DEBUG_ConvertJavaToC (jint, CIMQualifier*, jQ);
2645
|
2646 schuur 1.5 cp->addQualifier(*cq);
2647 }
2648
|
2649 schuur 1.1 JNIEXPORT jstring JNICALL Java_org_pegasus_jmpi_CIMProperty__1getName
|
2650 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jP)
2651 {
2652 CIMProperty *cp = DEBUG_ConvertJavaToC (jint, CIMProperty*, jP);
2653 const String &n = cp->getName().getString();
2654 jstring str = jEnv->NewStringUTF(n.getCString());
2655
|
2656 schuur 1.1 return str;
2657 }
2658
|
2659 schuur 1.5 JNIEXPORT void JNICALL Java_org_pegasus_jmpi_CIMProperty__1setName
|
2660 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jP, jstring jN)
2661 {
2662 CIMProperty *cp = DEBUG_ConvertJavaToC (jint, CIMProperty*, jP);
2663 const char *str = jEnv->GetStringUTFChars(jN,NULL);
2664
|
2665 schuur 1.5 cp->setName(CIMName(str));
|
2666 mark.hamzy 1.27
|
2667 schuur 1.5 jEnv->ReleaseStringUTFChars(jN,str);
2668 }
2669
|
2670 schuur 1.1 JNIEXPORT jboolean JNICALL Java_org_pegasus_jmpi_CIMProperty__1isReference
|
2671 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jP)
2672 {
2673 CIMProperty *cp = DEBUG_ConvertJavaToC (jint, CIMProperty*, jP);
2674
|
2675 schuur 1.1 return (jboolean)(cp->getType()==CIMTYPE_REFERENCE);
2676 }
2677
2678 JNIEXPORT jstring JNICALL Java_org_pegasus_jmpi_CIMProperty__1getRefClassName
|
2679 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jP)
2680 {
2681 CIMProperty *cp = DEBUG_ConvertJavaToC (jint, CIMProperty*, jP);
2682 const String &n = cp->getReferenceClassName().getString();
2683
|
2684 schuur 1.1 jstring str=jEnv->NewStringUTF(n.getCString());
|
2685 mark.hamzy 1.20
|
2686 schuur 1.1 return str;
2687 }
2688
2689 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMProperty__1getType
|
2690 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jP)
2691 {
2692 CIMProperty *cp = DEBUG_ConvertJavaToC (jint, CIMProperty*, jP);
2693 String ref = cp->getReferenceClassName().getString();
2694 _dataType *type = new _dataType(pTypeToJType[cp->getType()],
2695 cp->getArraySize(),
2696 ref.size() ? true : false,
2697 false,
2698 cp->isArray(),
2699 ref,
2700 true);
2701
2702 return DEBUG_ConvertCToJava (_dataType*, jint, type);
|
2703 schuur 1.1 }
2704
|
2705 schuur 1.5 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMProperty__1setType
|
2706 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jP, jint jDt)
2707 {
2708 CIMProperty *cp = DEBUG_ConvertJavaToC (jint, CIMProperty*, jP);
2709 _dataType *dt = (_dataType*)jDt;
2710 CIMValue val;
2711
|
2712 schuur 1.5 val.setNullValue(toPtype(dt->_type),dt->_array);
|
2713 mark.hamzy 1.20
2714 CIMProperty *np = new CIMProperty(cp->getName(),val);
2715
|
2716 schuur 1.5 delete cp;
|
2717 mark.hamzy 1.20
2718 return DEBUG_ConvertCToJava (CIMProperty*, jint, np);
|
2719 schuur 1.5 }
2720
|
2721 schuur 1.1 JNIEXPORT jobject JNICALL Java_org_pegasus_jmpi_CIMProperty__1getIdentifier
|
2722 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jP)
2723 {
2724 CIMProperty *cp = DEBUG_ConvertJavaToC (jint, CIMProperty*, jP);
2725 const String &n = cp->getName().getString();
2726 jstring str = jEnv->NewStringUTF(n.getCString());
2727
|
2728 schuur 1.1 return str;
2729 }
2730
2731 JNIEXPORT void JNICALL Java_org_pegasus_jmpi_CIMProperty__1finalize
|
2732 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jP)
2733 {
2734 CIMProperty *cp = DEBUG_ConvertJavaToC (jint, CIMProperty*, jP);
2735
|
2736 schuur 1.1 delete cp;
|
2737 mark.hamzy 1.20
2738 DEBUG_ConvertCleanup (jint, jP);
|
2739 schuur 1.1 }
|
2740 schuur 1.5
2741 // -------------------------------------
2742 // ---
2743 // - CIMQualifierType
2744 // ---
2745 // -------------------------------------
2746
2747 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMQualifierType__1new
|
2748 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs)
2749 {
|
2750 schuur 1.5 CIMQualifierDecl *qual = new CIMQualifierDecl();
|
2751 mark.hamzy 1.20
2752 return DEBUG_ConvertCToJava (CIMQualifierDecl*, jint, qual);
|
2753 schuur 1.5 }
2754
2755 JNIEXPORT void JNICALL Java_org_pegasus_jmpi_CIMQualifierType__1finalize
|
2756 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jQ)
2757 {
2758 CIMQualifierDecl *qt = DEBUG_ConvertJavaToC (jint, CIMQualifierDecl*, jQ);
2759
|
2760 schuur 1.5 delete qt;
|
2761 mark.hamzy 1.20
2762 DEBUG_ConvertCleanup (jint, jQ);
|
2763 schuur 1.5 }
2764
2765 JNIEXPORT jstring JNICALL Java_org_pegasus_jmpi_CIMQualifierType__1getName
|
2766 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jQ)
2767 {
2768 CIMQualifierDecl *qt = DEBUG_ConvertJavaToC (jint, CIMQualifierDecl*, jQ);
2769 const String &n = qt->getName().getString();
2770 jstring str = jEnv->NewStringUTF(n.getCString());
2771
|
2772 schuur 1.5 return str;
2773 }
2774
|
2775 schuur 1.6 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMQualifierType__1setName
|
2776 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jQ, jstring jN)
2777 {
|
2778 mark.hamzy 1.24 CIMQualifierDecl *qt = DEBUG_ConvertJavaToC (jint, CIMQualifierDecl*, jQ);
2779 const char *str = jEnv->GetStringUTFChars(jN,NULL);
2780 jint jret = 0;
|
2781 mark.hamzy 1.20
|
2782 schuur 1.6 if (qt->isUninitialized())
|
2783 mark.hamzy 1.24 {
2784 CIMQualifierDecl *nqt = new CIMQualifierDecl(CIMName(str),CIMValue(),CIMScope());
2785
2786 jret = DEBUG_ConvertCToJava (CIMQualifierDecl*, jint, nqt);
2787 }
|
2788 mark.hamzy 1.20 else
|
2789 mark.hamzy 1.24 {
|
2790 mark.hamzy 1.20 qt->setName(CIMName(str));
|
2791 mark.hamzy 1.24
2792 CIMQualifierDecl *nqt = new CIMQualifierDecl(*qt);
2793
2794 jret = DEBUG_ConvertCToJava (CIMQualifierDecl*, jint, nqt);
2795 }
2796
|
2797 schuur 1.5 jEnv->ReleaseStringUTFChars(jN,str);
|
2798 mark.hamzy 1.20
|
2799 mark.hamzy 1.24 return jret;
|
2800 schuur 1.5 }
2801
2802 JNIEXPORT void JNICALL Java_org_pegasus_jmpi_CIMQualifierType__1setValue
|
2803 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jQ,jint jV)
2804 {
2805 CIMQualifierDecl *qt = DEBUG_ConvertJavaToC (jint, CIMQualifierDecl*, jQ);
2806 CIMValue *cv = DEBUG_ConvertJavaToC (jint, CIMValue*, jV);
2807
|
2808 schuur 1.5 qt->setValue(*cv);
2809 }
2810
|
2811 schuur 1.1 // -------------------------------------
2812 // ---
2813 // - CIMQualifier
2814 // ---
2815 // -------------------------------------
2816
|
2817 schuur 1.5 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMQualifier__1new
|
2818 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jstring jN)
2819 {
2820 const char *str = jEnv->GetStringUTFChars(jN,NULL);
|
2821 schuur 1.5 CIMQualifier *qual = new CIMQualifier(CIMName(str),CIMValue());
|
2822 mark.hamzy 1.20
|
2823 schuur 1.5 jEnv->ReleaseStringUTFChars(jN,str);
|
2824 mark.hamzy 1.20
2825 return DEBUG_ConvertCToJava (CIMQualifier*, jint, qual);
|
2826 schuur 1.5 }
2827
|
2828 schuur 1.1 JNIEXPORT void JNICALL Java_org_pegasus_jmpi_CIMQualifier__1finalize
|
2829 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jQ)
2830 {
2831 CIMQualifier *cq=DEBUG_ConvertJavaToC (jint, CIMQualifier*, jQ);
2832
|
2833 schuur 1.1 delete cq;
|
2834 mark.hamzy 1.20
2835 DEBUG_ConvertCleanup (jint, jQ);
|
2836 schuur 1.1 }
2837
|
2838 schuur 1.5 JNIEXPORT jstring JNICALL Java_org_pegasus_jmpi_CIMQualifier__1getName
|
2839 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jQ)
2840 {
2841 CIMQualifier *cq = DEBUG_ConvertJavaToC (jint, CIMQualifier*, jQ);
2842 const String &n = cq->getName().getString();
2843 jstring str = jEnv->NewStringUTF(n.getCString());
2844
|
2845 schuur 1.5 return str;
2846 }
2847
2848 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMQualifier__1getValue
|
2849 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jQ)
2850 {
2851 CIMQualifier *cq = DEBUG_ConvertJavaToC (jint, CIMQualifier*, jQ);
2852 CIMValue *cv = new CIMValue(cq->getValue());
2853
2854 return DEBUG_ConvertCToJava (CIMValue*, jint, cv);
|
2855 schuur 1.5 }
2856
2857 JNIEXPORT void JNICALL Java_org_pegasus_jmpi_CIMQualifier__1setValue
|
2858 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jQ,jint jV)
2859 {
2860 CIMQualifier *cq = DEBUG_ConvertJavaToC (jint, CIMQualifier*, jQ);
2861 CIMValue *cv = DEBUG_ConvertJavaToC (jint, CIMValue*, jV);
2862
|
2863 schuur 1.5 cq->setValue(*cv);
2864 }
2865
|
2866 schuur 1.1 // -------------------------------------
2867 // ---
2868 // - CIMDateTime
2869 // ---
2870 // -------------------------------------
2871
2872 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMDateTime__1datetime
|
2873 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jstring jN)
2874 {
2875 const char *str = jEnv->GetStringUTFChars(jN,NULL);
2876 CIMDateTime *dt = 0;
2877
|
2878 schuur 1.1 if (strlen(str)==0)
2879 dt=new CIMDateTime();
2880 else
2881 dt=new CIMDateTime(String(str));
|
2882 mark.hamzy 1.27
|
2883 schuur 1.1 jEnv->ReleaseStringUTFChars(jN,str);
|
2884 mark.hamzy 1.20
2885 return DEBUG_ConvertCToJava (CIMDateTime*, jint, dt);
|
2886 schuur 1.1 }
2887
2888 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMDateTime__1datetimeempty
|
2889 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs)
2890 {
2891 CIMDateTime *dt = new CIMDateTime(CIMDateTime::getCurrentDateTime ());
2892
2893 return DEBUG_ConvertCToJava (CIMDateTime*, jint, dt);
|
2894 schuur 1.1 }
2895
2896 JNIEXPORT jboolean JNICALL Java_org_pegasus_jmpi_CIMDateTime__1after
|
2897 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jC, jint jD)
2898 {
2899 CIMDateTime *ct = DEBUG_ConvertJavaToC (jint, CIMDateTime*, jC);
2900 CIMDateTime *dt = DEBUG_ConvertJavaToC (jint, CIMDateTime*, jD);
2901
|
2902 schuur 1.1 return (jboolean)(ct->getDifference(*ct, *dt)>0);
2903 }
2904
2905 JNIEXPORT void JNICALL Java_org_pegasus_jmpi_CIMDateTime__1finalize
|
2906 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jDT)
2907 {
2908 CIMDateTime *cdt = DEBUG_ConvertJavaToC (jint, CIMDateTime*, jDT);
2909
|
2910 schuur 1.1 delete cdt;
|
2911 mark.hamzy 1.20
2912 DEBUG_ConvertCleanup (jint, jDT);
|
2913 schuur 1.1 }
2914
2915 // -------------------------------------
2916 // ---
2917 // - CIMMethod
2918 // ---
2919 // -------------------------------------
2920
2921 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMMethod__1getType
|
2922 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jM)
2923 {
2924 CIMMethod *cm = DEBUG_ConvertJavaToC (jint, CIMMethod*, jM);
2925
|
2926 mark.hamzy 1.24 return DEBUG_ConvertCToJava (CIMType, jint, new CIMType (cm->getType()));
|
2927 schuur 1.1 }
2928
2929 JNIEXPORT void JNICALL Java_org_pegasus_jmpi_CIMMethod__1finalize
|
2930 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jM)
2931 {
2932 CIMMethod *cm = DEBUG_ConvertJavaToC (jint, CIMMethod*, jM);
2933
|
2934 schuur 1.1 delete cm;
|
2935 mark.hamzy 1.20
2936 DEBUG_ConvertCleanup (jint, jM);
|
2937 schuur 1.1 }
2938
2939 // -------------------------------------
2940 // ---
2941 // - CIMValue
2942 // ---
2943 // -------------------------------------
2944
2945
2946 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMValue__1byte
|
2947 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jbyte jb, jboolean notSigned)
2948 {
2949 CIMValue *cv = NULL;
2950
2951 if (notSigned)
2952 cv=new CIMValue((Uint8)jb);
2953 else
2954 cv=new CIMValue((Sint8)jb);
2955
2956 return DEBUG_ConvertCToJava (CIMValue*, jint, cv);
|
2957 schuur 1.1 }
2958
2959 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMValue__1short
|
2960 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jshort js, jboolean notSigned)
2961 {
2962 CIMValue *cv = NULL;
2963
2964 if (notSigned)
2965 cv=new CIMValue((Uint16)js);
2966 else
2967 cv=new CIMValue((Sint16)js);
2968
2969 return DEBUG_ConvertCToJava (CIMValue*, jint, cv);
|
2970 schuur 1.1 }
2971
2972 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMValue_makeInt
|
2973 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jlong ji, jboolean notSigned)
2974 {
2975 CIMValue *cv = NULL;
2976
2977 if (notSigned)
2978 cv = new CIMValue((Uint32)ji);
2979 else
2980 cv = new CIMValue((Sint32)ji);
2981
2982 return DEBUG_ConvertCToJava (CIMValue*, jint, cv);
|
2983 schuur 1.1 }
2984
2985 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMValue__1long
|
2986 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jlong jl, jboolean notSigned)
2987 {
2988 CIMValue *cv = NULL;
2989
2990 if (notSigned)
2991 cv=new CIMValue((Uint64)jl);
2992 else
2993 cv=new CIMValue((Sint64)jl);
2994
2995 return DEBUG_ConvertCToJava (CIMValue*, jint, cv);
|
2996 schuur 1.1 }
2997
2998 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMValue__1float
|
2999 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jfloat jF)
3000 {
3001 CIMValue *cv = new CIMValue(jF);
3002
3003 return DEBUG_ConvertCToJava (CIMValue*, jint, cv);
|
3004 schuur 1.1 }
3005
3006 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMValue__1double
|
3007 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jdouble jD)
3008 {
3009 CIMValue *cv = new CIMValue(jD);
3010
3011 return DEBUG_ConvertCToJava (CIMValue*, jint, cv);
|
3012 schuur 1.1 }
3013
3014 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMValue__1string
|
3015 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jstring jS)
3016 {
3017 const char *str = jEnv->GetStringUTFChars(jS,NULL);
3018 CIMValue *cv = new CIMValue(String(str));
3019
|
3020 schuur 1.1 jEnv->ReleaseStringUTFChars(jS,str);
|
3021 mark.hamzy 1.20
3022 return DEBUG_ConvertCToJava (CIMValue*, jint, cv);
|
3023 schuur 1.1 }
3024
3025 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMValue__1ref
|
3026 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jR)
3027 {
3028 CIMObjectPath *ref = DEBUG_ConvertJavaToC (jint, CIMObjectPath*, jR);
3029 CIMValue *cv = new CIMValue(*ref);
3030
3031 return DEBUG_ConvertCToJava (CIMValue*, jint, cv);
|
3032 schuur 1.1 }
3033
3034 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMValue__1datetime
|
3035 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jDT)
3036 {
3037 CIMDateTime *dt = DEBUG_ConvertJavaToC (jint, CIMDateTime*, jDT);
3038 CIMValue *cv = new CIMValue(*dt);
3039
3040 return DEBUG_ConvertCToJava (CIMValue*, jint, cv);
|
3041 schuur 1.1 }
3042
3043 JNIEXPORT jboolean JNICALL Java_org_pegasus_jmpi_CIMValue__1isArray
|
3044 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jP)
3045 {
3046 CIMValue *cv = DEBUG_ConvertJavaToC (jint, CIMValue*, jP);
3047
|
3048 schuur 1.1 return (jboolean)cv->isArray();
3049 }
3050
3051 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMValue__1boolean
|
3052 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jboolean jB)
3053 {
3054 CIMValue *cv = new CIMValue((Boolean)jB);
3055
3056 return DEBUG_ConvertCToJava (CIMValue*, jint, cv);
|
3057 schuur 1.1 }
3058
3059 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMValue__1byteArray
|
3060 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jshortArray jshortA, jboolean notSigned)
3061 {
3062 CIMValue *cv = NULL;
3063 jboolean b;
3064 jsize len = jEnv->GetArrayLength(jshortA);
3065 jshort *jsA = jEnv->GetShortArrayElements(jshortA,&b);
3066
|
3067 schuur 1.1 if (notSigned) {
3068 Array<Uint8> u8;
3069 for (jsize i=0;i<len;i++)
3070 u8.append((Uint8)jsA[i]);
3071 cv=new CIMValue(u8);
3072 }
3073 else {
3074 Array<Sint8> s8;
3075 for (jsize i=0;i<len;i++)
3076 s8.append((Sint8)jsA[i]);
3077 cv=new CIMValue(s8);
3078 }
|
3079 mark.hamzy 1.20
3080 return DEBUG_ConvertCToJava (CIMValue*, jint, cv);
|
3081 schuur 1.1 }
3082
3083 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMValue__1shortArray
|
3084 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jintArray jintA, jboolean notSigned)
3085 {
3086 CIMValue *cv = NULL;
3087 jboolean b;
3088 jsize len = jEnv->GetArrayLength(jintA);
3089 jint *jiA = jEnv->GetIntArrayElements(jintA,&b);
3090
|
3091 schuur 1.1 if (notSigned) {
3092 Array<Uint16> u16;
3093 for (jsize i=0;i<len;i++)
3094 u16.append((Uint16)jiA[i]);
3095 cv=new CIMValue(u16);
3096 }
3097 else {
3098 Array<Sint16> s16;
3099 for (jsize i=0;i<len;i++)
3100 s16.append((Sint16)jiA[i]);
3101 cv=new CIMValue(s16);
3102 }
|
3103 mark.hamzy 1.20
3104 return DEBUG_ConvertCToJava (CIMValue*, jint, cv);
|
3105 schuur 1.1 }
3106
3107 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMValue__1intArray
|
3108 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jlongArray jlongA, jboolean notSigned)
3109 {
3110 CIMValue *cv = NULL;
3111 jboolean b;
3112 jsize len = jEnv->GetArrayLength(jlongA);
3113 jlong *jlA = jEnv->GetLongArrayElements(jlongA,&b);
3114
|
3115 schuur 1.1 if (notSigned) {
3116 Array<Uint32> u32;
3117 for (jsize i=0;i<len;i++)
3118 u32.append((Uint32)jlA[i]);
3119 cv=new CIMValue(u32);
3120 }
3121 else {
3122 Array<Sint32> s32;
3123 for (jsize i=0;i<len;i++)
3124 s32.append((Sint32)jlA[i]);
3125 cv=new CIMValue(s32);
3126 }
|
3127 mark.hamzy 1.20
3128 return DEBUG_ConvertCToJava (CIMValue*, jint, cv);
|
3129 schuur 1.1 }
3130
3131 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMValue__1longArray
|
3132 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jlongArray jlongA, jboolean notSigned)
3133 {
3134 CIMValue *cv = NULL;
3135 jboolean b;
3136 jsize len = jEnv->GetArrayLength(jlongA);
3137 jlong *jlA = jEnv->GetLongArrayElements(jlongA,&b);
3138
|
3139 schuur 1.1 if (notSigned) {
3140 Array<Uint64> u64;
3141 for (jsize i=0;i<len;i++)
3142 u64.append((Uint64)jlA[i]);
3143 cv=new CIMValue(u64);
3144 }
3145 else {
3146 Array<Sint64> s64;
3147 for (jsize i=0;i<len;i++)
3148 s64.append((Sint64)jlA[i]);
3149 cv=new CIMValue(s64);
3150 }
|
3151 mark.hamzy 1.20
3152 return DEBUG_ConvertCToJava (CIMValue*, jint, cv);
|
3153 schuur 1.1 }
3154
3155 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMValue__1stringArray
|
3156 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jobjectArray jstringA)
3157 {
3158 CIMValue *cv = NULL;
3159 jboolean b;
3160 jsize len = jEnv->GetArrayLength(jstringA);
|
3161 schuur 1.1 Array<String> strA;
3162
3163 for (jsize i=0;i<len;i++) {
|
3164 mark.hamzy 1.27 jstring jsA = (jstring)jEnv->GetObjectArrayElement(jstringA,i);
3165 const char *str = jEnv->GetStringUTFChars(jsA,NULL);
3166
|
3167 schuur 1.1 strA.append(String(str));
|
3168 mark.hamzy 1.27
|
3169 schuur 1.1 jEnv->ReleaseStringUTFChars(jsA,str);
3170 }
3171
|
3172 mark.hamzy 1.27 cv = new CIMValue(strA);
|
3173 mark.hamzy 1.20
3174 return DEBUG_ConvertCToJava (CIMValue*, jint, cv);
|
3175 schuur 1.1 }
3176
3177 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMValue__1booleanArray
|
3178 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jbooleanArray jboolA)
3179 {
3180 CIMValue *cv = NULL;
3181 jboolean b;
3182 jsize len = jEnv->GetArrayLength(jboolA);
3183 jboolean *jbA = jEnv->GetBooleanArrayElements(jboolA,&b);
3184 Array<Boolean> bA;
3185
|
3186 schuur 1.1 for (jsize i=0;i<len;i++)
3187 bA.append((Boolean)jbA[i]);
3188 cv=new CIMValue(bA);
|
3189 mark.hamzy 1.20
3190 return DEBUG_ConvertCToJava (CIMValue*, jint, cv);
|
3191 schuur 1.1 }
3192
3193 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMValue__1refArray
|
3194 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jintArray jintA)
3195 {
3196 CIMValue *cv = NULL;
3197 jboolean b;
3198 jsize len = jEnv->GetArrayLength(jintA);
3199 jint *jiA = jEnv->GetIntArrayElements(jintA,&b);
3200 Array<CIMObjectPath> cA;
3201
|
3202 schuur 1.1 for (jsize i=0;i<len;i++)
3203 cA.append(*((CIMObjectPath*)jiA[i]));
3204 cv=new CIMValue(cA);
|
3205 mark.hamzy 1.20
3206 return DEBUG_ConvertCToJava (CIMValue*, jint, cv);
|
3207 schuur 1.1 }
3208
3209 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMValue__1getType
|
3210 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jP)
3211 {
3212 CIMValue *cv = DEBUG_ConvertJavaToC (jint, CIMValue*, jP);
3213
3214 return DEBUG_ConvertCToJava (int, jint, pTypeToJType[cv->getType()]);
|
3215 schuur 1.1 }
3216
3217 JNIEXPORT jstring JNICALL Java_org_pegasus_jmpi_CIMValue__1toString
|
3218 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jV)
3219 {
3220 CIMValue *cv = DEBUG_ConvertJavaToC (jint, CIMValue*, jV);
3221
|
3222 schuur 1.1 return (jstring)jEnv->NewStringUTF(cv->toString().getCString());
3223 }
3224
3225 JNIEXPORT jobject JNICALL Java_org_pegasus_jmpi_CIMValue__1getValue
|
3226 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jV)
3227 {
3228 CIMValue *cv = DEBUG_ConvertJavaToC (jint, CIMValue*, jV);
3229
|
3230 schuur 1.1 if (cv->isNull())
3231 return NULL;
|
3232 mark.hamzy 1.20
|
3233 schuur 1.1 CIMType type=cv->getType();
3234
3235 if (!cv->isArray()) {
3236 switch (type) {
3237 case CIMTYPE_BOOLEAN:
3238 Boolean bo;
3239 cv->get(bo);
|
3240 mark.hamzy 1.26 return jEnv->NewObject(JMPIjvm::jv.BooleanClassRef,JMPIjvm::jv.BooleanNewZ,bo);
|
3241 schuur 1.1 break;
3242 case CIMTYPE_SINT8:
3243 Sint8 s8;
3244 cv->get(s8);
|
3245 mark.hamzy 1.26 return jEnv->NewObject(JMPIjvm::jv.ByteClassRef,JMPIjvm::jv.ByteNewB,s8);
|
3246 schuur 1.1 break;
3247 case CIMTYPE_UINT8:
3248 Uint8 u8;
3249 cv->get(u8);
|
3250 mark.hamzy 1.26 return jEnv->NewObject(JMPIjvm::jv.UnsignedInt8ClassRef,JMPIjvm::jv.UnsignedInt8NewS,u8);
|
3251 schuur 1.1 break;
3252 case CIMTYPE_SINT16:
3253 Sint16 s16;
3254 cv->get(s16);
|
3255 mark.hamzy 1.26 return jEnv->NewObject(JMPIjvm::jv.ShortClassRef,JMPIjvm::jv.ShortNewS,s16);
|
3256 schuur 1.1 break;
3257 case CIMTYPE_UINT16:
3258 Uint16 u16;
3259 cv->get(u16);
|
3260 mark.hamzy 1.26 return jEnv->NewObject(JMPIjvm::jv.UnsignedInt16ClassRef,JMPIjvm::jv.UnsignedInt16NewI,u16);
|
3261 schuur 1.1 break;
3262 case CIMTYPE_SINT32:
3263 Sint32 s32;
3264 cv->get(s32);
|
3265 mark.hamzy 1.26 return jEnv->NewObject(JMPIjvm::jv.IntegerClassRef,JMPIjvm::jv.IntegerNewI,s32);
|
3266 schuur 1.1 break;
3267 case CIMTYPE_UINT32:
3268 Uint32 u32;
3269 cv->get(u32);
|
3270 mark.hamzy 1.26 return jEnv->NewObject(JMPIjvm::jv.UnsignedInt32ClassRef,JMPIjvm::jv.UnsignedInt32NewJ,u32);
|
3271 schuur 1.1 break;
3272 case CIMTYPE_SINT64:
3273 Sint64 s64;
3274 cv->get(s64);
|
3275 mark.hamzy 1.26 return jEnv->NewObject(JMPIjvm::jv.LongClassRef,JMPIjvm::jv.LongNewJ,s64);
|
3276 schuur 1.1 break;
3277 case CIMTYPE_UINT64: {
3278 Uint64 u64;
3279 cv->get(u64);
|
3280 mark.hamzy 1.26 jobject big=jEnv->CallStaticObjectMethod(JMPIjvm::jv.BigIntegerClassRef,JMPIjvm::jv.BigIntegerValueOf,u64);
3281 return jEnv->NewObject(JMPIjvm::jv.UnsignedInt64ClassRef,JMPIjvm::jv.UnsignedInt64NewBi,big);
|
3282 schuur 1.1 }
3283 break;
3284 case CIMTYPE_REAL32:
3285 float f;
3286 cv->get(f);
|
3287 mark.hamzy 1.26 return jEnv->NewObject(JMPIjvm::jv.FloatClassRef,JMPIjvm::jv.FloatNewF,f);
|
3288 schuur 1.1 break;
3289 case CIMTYPE_REAL64:
3290 double d;
3291 cv->get(d);
|
3292 mark.hamzy 1.26 return jEnv->NewObject(JMPIjvm::jv.DoubleClassRef,JMPIjvm::jv.DoubleNewD,d);
|
3293 schuur 1.1 break;
3294 case CIMTYPE_STRING: {
3295 String s;
3296 jstring str;
3297 cv->get(s);
3298 str=jEnv->NewStringUTF(s.getCString());
3299 return str;
3300 }
3301 break;
3302 case CIMTYPE_REFERENCE: {
3303 CIMObjectPath ref;
3304 cv->get(ref);
|
3305 mark.hamzy 1.20 jint jOp = DEBUG_ConvertCToJava (CIMObjectPath*, jint, new CIMObjectPath(ref));
|
3306 mark.hamzy 1.26 return jEnv->NewObject(JMPIjvm::jv.CIMObjectPathClassRef,JMPIjvm::jv.CIMObjectPathNewI,jOp);
|
3307 schuur 1.1 }
3308 break;
3309 case CIMTYPE_CHAR16:
3310 throwCIMException(jEnv,"+++ Char16 not yet supported");
3311 break;
3312 case CIMTYPE_DATETIME: {
3313 CIMDateTime dt;
3314 cv->get(dt);
|
3315 mark.hamzy 1.20 jint jDT = DEBUG_ConvertCToJava (CIMDateTime*, jint, new CIMDateTime(dt));
|
3316 mark.hamzy 1.26 return jEnv->NewObject(JMPIjvm::jv.CIMDateTimeClassRef,JMPIjvm::jv.CIMDateTimeNewI,jDT);
|
3317 schuur 1.1 }
3318 break;
|
3319 dave.sudlik 1.13 case CIMTYPE_OBJECT:
3320 throwCIMException(jEnv,"+++ Object not yet supported");
3321 break;
|
3322 schuur 1.1 default:
|
3323 mark.hamzy 1.17 throwCIMException(jEnv,"+++ unsupported type: ");
|
3324 schuur 1.1 }
3325 }
3326 else {
3327 switch (type) {
3328 case CIMTYPE_BOOLEAN: {
3329 Array<Boolean> bo;
3330 cv->get(bo);
3331 int s=bo.size();
|
3332 mark.hamzy 1.26 jobjectArray jbooleanA=(jobjectArray)jEnv->NewObjectArray(s,JMPIjvm::jv.BooleanClassRef,0);
|
3333 r.kieninger 1.11 for (int i=0; i < s; i++) jEnv->SetObjectArrayElement(jbooleanA, i,
|
3334 mark.hamzy 1.26 jEnv->NewObject(JMPIjvm::jv.BooleanClassRef,JMPIjvm::jv.BooleanNewZ,bo[i]));
|
3335 schuur 1.1 return jbooleanA;
3336 }
3337 break;
3338 case CIMTYPE_SINT8: {
3339 Array<Sint8> s8;
3340 cv->get(s8);
3341 int s=s8.size();
|
3342 mark.hamzy 1.26 jobjectArray jbyteA=(jobjectArray)jEnv->NewObjectArray(s,JMPIjvm::jv.ByteClassRef,0);
|
3343 r.kieninger 1.11 for (int i=0; i < s; i++) jEnv->SetObjectArrayElement(jbyteA, i,
|
3344 mark.hamzy 1.26 jEnv->NewObject(JMPIjvm::jv.ByteClassRef,JMPIjvm::jv.ByteNewB,s8[i]));
|
3345 schuur 1.1 return jbyteA;
3346 }
3347 break;
3348 case CIMTYPE_UINT8: {
3349 Array<Uint8> u8;
3350 cv->get(u8);
3351 int s=u8.size();
|
3352 mark.hamzy 1.26 jobjectArray jshortA=(jobjectArray)jEnv->NewObjectArray(s,JMPIjvm::jv.UnsignedInt8ClassRef,0);
|
3353 r.kieninger 1.11 for (int i=0; i < s; i++) jEnv->SetObjectArrayElement(jshortA, i,
|
3354 mark.hamzy 1.26 jEnv->NewObject(JMPIjvm::jv.UnsignedInt8ClassRef,JMPIjvm::jv.UnsignedInt8NewS,u8[i]));
|
3355 schuur 1.1 return jshortA;
3356 }
3357 break;
3358 case CIMTYPE_SINT16: {
3359 Array<Sint16> s16;
3360 cv->get(s16);
3361 int s=s16.size();
|
3362 mark.hamzy 1.26 jobjectArray jshortA=(jobjectArray)jEnv->NewObjectArray(s,JMPIjvm::jv.ShortClassRef,0);
|
3363 r.kieninger 1.11 for (int i=0; i < s; i++) jEnv->SetObjectArrayElement(jshortA, i,
|
3364 mark.hamzy 1.26 jEnv->NewObject(JMPIjvm::jv.ShortClassRef,JMPIjvm::jv.ShortNewS,s16[i]));
|
3365 schuur 1.1 return jshortA;
3366 }
3367 break;
3368 case CIMTYPE_UINT16: {
3369 Array<Uint16> u16;
3370 cv->get(u16);
3371 int s=u16.size();
|
3372 mark.hamzy 1.26 jobjectArray jintA=(jobjectArray)jEnv->NewObjectArray(s,JMPIjvm::jv.UnsignedInt16ClassRef,0);
|
3373 r.kieninger 1.11 for (int i=0; i < s; i++) jEnv->SetObjectArrayElement(jintA, i,
|
3374 mark.hamzy 1.26 jEnv->NewObject(JMPIjvm::jv.UnsignedInt16ClassRef,JMPIjvm::jv.UnsignedInt16NewI,u16[i]));
|
3375 schuur 1.1 return jintA;
3376 }
3377 break;
3378 case CIMTYPE_SINT32: {
3379 Array<Sint32> s32;
3380 cv->get(s32);
3381 int s=s32.size();
|
3382 mark.hamzy 1.26 jobjectArray jintA=(jobjectArray)jEnv->NewObjectArray(s,JMPIjvm::jv.IntegerClassRef,0);
|
3383 schuur 1.7 for (int i=0; i < s; i++) jEnv->SetObjectArrayElement(jintA, i,
|
3384 mark.hamzy 1.26 jEnv->NewObject(JMPIjvm::jv.IntegerClassRef,JMPIjvm::jv.IntegerNewI,s32[i]));
|
3385 schuur 1.1 return jintA;
3386 }
3387 break;
3388 case CIMTYPE_UINT32: {
3389 Array<Uint32> u32;
3390 cv->get(u32);
3391 int s=u32.size();
|
3392 mark.hamzy 1.26 jobjectArray jlongA=(jobjectArray)jEnv->NewObjectArray(s,JMPIjvm::jv.UnsignedInt32ClassRef,0);
|
3393 r.kieninger 1.11 for (int i=0; i < s; i++) jEnv->SetObjectArrayElement(jlongA, i,
|
3394 mark.hamzy 1.26 jEnv->NewObject(JMPIjvm::jv.UnsignedInt32ClassRef,JMPIjvm::jv.UnsignedInt32NewJ,u32[i]));
|
3395 schuur 1.1 return jlongA;
3396 }
3397 break;
3398 case CIMTYPE_SINT64: {
3399 Array<Sint64> s64;
3400 cv->get(s64);
3401 int s=s64.size();
|
3402 mark.hamzy 1.26 jobjectArray jlongA=(jobjectArray)jEnv->NewObjectArray(s,JMPIjvm::jv.LongClassRef,0);
|
3403 r.kieninger 1.11 for (int i=0; i < s; i++) jEnv->SetObjectArrayElement(jlongA, i,
|
3404 mark.hamzy 1.26 jEnv->NewObject(JMPIjvm::jv.LongClassRef,JMPIjvm::jv.LongNewJ,s64[i]));
|
3405 schuur 1.1 return jlongA;
3406 }
3407 break;
3408 case CIMTYPE_UINT64:
3409 throwCIMException(jEnv,"+++ UnisgnetInt64 not yet supported");
3410 break;
3411 case CIMTYPE_REAL32: {
3412 Array<Real32> r32;
3413 cv->get(r32);
3414 int s=r32.size();
|
3415 mark.hamzy 1.26 jobjectArray jfloatA=(jobjectArray)jEnv->NewObjectArray(s,JMPIjvm::jv.FloatClassRef,0);
|
3416 schuur 1.7 for (int i=0; i < s; i++) jEnv->SetObjectArrayElement(jfloatA, i,
|
3417 mark.hamzy 1.26 jEnv->NewObject(JMPIjvm::jv.FloatClassRef,JMPIjvm::jv.FloatNewF,r32[i]));
|
3418 schuur 1.1 return jfloatA;
3419 }
3420 break;
3421 case CIMTYPE_REAL64: {
3422 Array<Real64> r64;
3423 cv->get(r64);
3424 int s=r64.size();
|
3425 mark.hamzy 1.26 jobjectArray jdoubleA=(jobjectArray)jEnv->NewObjectArray(s,JMPIjvm::jv.DoubleClassRef,0);
|
3426 r.kieninger 1.11 for (int i=0; i < s; i++) jEnv->SetObjectArrayElement(jdoubleA, i,
|
3427 mark.hamzy 1.26 jEnv->NewObject(JMPIjvm::jv.DoubleClassRef,JMPIjvm::jv.DoubleNewD,r64[i]));
|
3428 schuur 1.1 return jdoubleA;
3429 }
3430 break;
3431 case CIMTYPE_STRING: {
3432 Array<String> str;
3433 cv->get(str);
3434 int s=str.size();
|
3435 mark.hamzy 1.26 jobjectArray jstringA=(jobjectArray)jEnv->NewObjectArray(s,JMPIjvm::jv.StringClassRef,0);
|
3436 r.kieninger 1.11 for (int i=0; i < s; i++) jEnv->SetObjectArrayElement(jstringA, i,
|
3437 schuur 1.1 jEnv->NewStringUTF(str[i].getCString()));
3438 return jstringA;
3439 }
3440 break;
3441 case CIMTYPE_REFERENCE:
3442 throwCIMException(jEnv,"+++ Reference not yet supported");
3443 break;
3444 case CIMTYPE_CHAR16:
3445 throwCIMException(jEnv,"+++ Char16 not yet supported");
3446 break;
3447 case CIMTYPE_DATETIME:
3448 throwCIMException(jEnv,"+++ DateTime not yet supported");
3449 break;
|
3450 dave.sudlik 1.13 case CIMTYPE_OBJECT:
3451 throwCIMException(jEnv,"+++ Object not yet supported");
3452 break;
|
3453 schuur 1.1 default:
3454 throwCIMException(jEnv,"+++ unsupported type: ");
3455 }
3456 }
|
3457 mark.hamzy 1.20
|
3458 schuur 1.1 return NULL;
3459 }
3460
3461 JNIEXPORT void JNICALL Java_org_pegasus_jmpi_CIMValue__1finalize
|
3462 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jV)
3463 {
3464 CIMValue *cv = DEBUG_ConvertJavaToC (jint, CIMValue*, jV);
3465
3466 delete cv;
3467
3468 DEBUG_ConvertCleanup (jint, jV);
|
3469 schuur 1.1 }
3470
3471 // -------------------------------------
3472 // ---
3473 // - CIMNameSpace
3474 // ---
3475 // -------------------------------------
3476
3477 _nameSpace::_nameSpace() {
3478 port_=0;
3479 hostName_=System::getHostName();
3480 nameSpace_="root/cimv2";
3481 }
3482
3483 _nameSpace::_nameSpace(String hn) {
3484 port_=0;
3485 hostName_=hn;
3486 nameSpace_="root/cimv2";
3487 }
3488
3489 _nameSpace::_nameSpace(String hn, String ns) {
3490 schuur 1.1 port_=0;
3491 hostName_=hn;
3492 nameSpace_=ns;
3493 }
3494
3495 int _nameSpace::port() {
3496 if (port_) return port_;
3497 port_=5988;
3498 if (hostName_.subString(0,7)=="http://") {
3499 protocol_="http://";
3500 hostName_=hostName_.subString(7);
3501 }
3502 Sint32 p=hostName_.reverseFind(':');
3503 if (p>=0) {
|
3504 kumpf 1.25 if ((hostName_[p+1] >= '0') && (hostName_[p+1] <= '9'))
|
3505 schuur 1.1 port_=atoi(hostName_.subString(p+1).getCString());
3506 hostName_.remove(p);
3507 }
3508 return port_;
3509 }
3510
3511 String _nameSpace::hostName() {
3512 port();
3513 return hostName_;
3514 }
3515
3516 String _nameSpace::nameSpace() {
3517 return nameSpace_;
3518 }
3519
3520
3521 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMNameSpace__1new
|
3522 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs)
3523 {
3524 return DEBUG_ConvertCToJava (_nameSpace*, jint, new _nameSpace());
|
3525 schuur 1.1 }
3526
3527 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMNameSpace__1newHn
|
3528 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jstring jHn)
3529 {
3530 const char *hn = jEnv->GetStringUTFChars(jHn,NULL);
3531 jint cInst = DEBUG_ConvertCToJava (_nameSpace*, jint, new _nameSpace(hn));
3532
|
3533 schuur 1.1 jEnv->ReleaseStringUTFChars(jHn,hn);
|
3534 mark.hamzy 1.20
|
3535 schuur 1.1 return cInst;
3536 }
3537
3538 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMNameSpace__1newHnNs
|
3539 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jstring jHn, jstring jNs)
3540 {
3541 const char *hn = jEnv->GetStringUTFChars(jHn,NULL);
3542 const char *ns = jEnv->GetStringUTFChars(jNs,NULL);
3543 jint cInst = DEBUG_ConvertCToJava (_nameSpace*, jint, new _nameSpace(String(hn),String(ns)));
3544
|
3545 schuur 1.1 jEnv->ReleaseStringUTFChars(jHn,hn);
3546 jEnv->ReleaseStringUTFChars(jNs,ns);
|
3547 mark.hamzy 1.20
|
3548 schuur 1.1 return cInst;
3549 }
3550
3551 JNIEXPORT jstring JNICALL Java_org_pegasus_jmpi_CIMNameSpace__1getHost
|
3552 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jNs)
3553 {
3554 _nameSpace *cNs = DEBUG_ConvertJavaToC (jint, _nameSpace*, jNs);
3555 const String &hn = cNs->hostName_;
3556 jstring str = jEnv->NewStringUTF(hn.getCString());
3557
|
3558 schuur 1.1 return str;
3559 }
3560
3561 JNIEXPORT jstring JNICALL Java_org_pegasus_jmpi_CIMNameSpace__1getNameSpace
|
3562 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jNs)
3563 {
3564 _nameSpace *cNs = DEBUG_ConvertJavaToC (jint, _nameSpace*, jNs);
3565 const String &ns = cNs->nameSpace_;
3566 jstring str = jEnv->NewStringUTF(ns.getCString());
3567
|
3568 schuur 1.1 return str;
3569 }
3570
3571 JNIEXPORT void JNICALL Java_org_pegasus_jmpi_CIMNameSpace__1setHost
|
3572 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jNs, jstring jHn)
3573 {
3574 _nameSpace *cNs = DEBUG_ConvertJavaToC (jint, _nameSpace*, jNs);
3575 const char *str = jEnv->GetStringUTFChars(jHn,NULL);
3576
|
3577 schuur 1.1 cNs->port_=0;
3578 cNs->hostName_=str;
|
3579 mark.hamzy 1.27
|
3580 schuur 1.1 jEnv->ReleaseStringUTFChars(jHn,str);
3581 }
3582
3583 JNIEXPORT void JNICALL Java_org_pegasus_jmpi_CIMNameSpace__1setNameSpace
|
3584 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jNs, jstring jN)
3585 {
|
3586 mark.hamzy 1.22 _nameSpace *cNs = DEBUG_ConvertJavaToC (jint, _nameSpace*, jNs);
|
3587 mark.hamzy 1.20 const char *str = jEnv->GetStringUTFChars(jN,NULL);
3588
|
3589 schuur 1.1 cNs->nameSpace_=str;
|
3590 mark.hamzy 1.27
|
3591 schuur 1.1 jEnv->ReleaseStringUTFChars(jN,str);
3592 }
3593
|
3594 mark.hamzy 1.22 JNIEXPORT void JNICALL Java_org_pegasus_jmpi_CIMNameSpace__1finalize
3595 (JNIEnv *jEnv, jobject jThs, jint jNs)
3596 {
3597 _nameSpace *cNs = DEBUG_ConvertJavaToC (jint, _nameSpace*, jNs);
3598
3599 delete cNs;
3600
3601 DEBUG_ConvertCleanup (jint, jNs);
3602 }
3603
|
3604 schuur 1.1 // -------------------------------------
3605 // ---
3606 // - Enumerators
3607 // ---
3608 // -------------------------------------
3609
|
3610 schuur 1.4 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_ClassEnumeration__1getClass
|
3611 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jEnum, jint pos)
3612 {
3613 Array<CIMClass> *enm = DEBUG_ConvertJavaToC (jint, Array<CIMClass>*, jEnum);
3614
3615 return DEBUG_ConvertCToJava (CIMClass*, jint, new CIMClass((*enm)[pos]));
|
3616 schuur 1.4 }
3617
3618 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_ClassEnumeration__1size
|
3619 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jEnum)
3620 {
3621 Array<CIMClass> *enm = DEBUG_ConvertJavaToC (jint, Array<CIMClass>*, jEnum);
3622
|
3623 schuur 1.4 return enm->size();
3624 }
3625
|
3626 schuur 1.1
3627 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_InstEnumeration__1getInstance
|
3628 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jEnum, jint pos)
3629 {
3630 Array<CIMInstance> *enm = DEBUG_ConvertJavaToC (jint, Array<CIMInstance>*, jEnum);
3631
3632 return DEBUG_ConvertCToJava (CIMInstance*, jint, new CIMInstance((*enm)[pos]));
|
3633 schuur 1.1 }
3634
3635 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_InstEnumeration__1size
|
3636 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jEnum)
3637 {
3638 Array<CIMInstance> *enm = DEBUG_ConvertJavaToC (jint, Array<CIMInstance>*, jEnum);
3639
|
3640 schuur 1.1 return enm->size();
3641 }
3642
|
3643 mark.hamzy 1.20 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_PathEnumeration__1getObjectPath
3644 (JNIEnv *jEnv, jobject jThs, jint jEnum, jint pos)
3645 {
3646 Array<CIMObjectPath> *enm = DEBUG_ConvertJavaToC (jint, Array<CIMObjectPath>*, jEnum);
|
3647 schuur 1.1
|
3648 mark.hamzy 1.20 return DEBUG_ConvertCToJava (CIMObjectPath*, jint, new CIMObjectPath((*enm)[pos]));
|
3649 schuur 1.1 }
3650
3651 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_PathEnumeration__1size
|
3652 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jEnum)
3653 {
3654 Array<CIMObjectPath> *enm = DEBUG_ConvertJavaToC (jint, Array<CIMObjectPath>*, jEnum);
3655
|
3656 schuur 1.1 return enm->size();
3657 }
3658
|
3659 schuur 1.5 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_QualEnumeration__1getQualifierType
|
3660 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jEnum, jint pos)
3661 {
3662 Array<CIMQualifierDecl> *enm = DEBUG_ConvertJavaToC (jint, Array<CIMQualifierDecl>*, jEnum);
3663
3664 return DEBUG_ConvertCToJava (CIMQualifierDecl*, jint, new CIMQualifierDecl((*enm)[pos]));
|
3665 schuur 1.5 }
3666
3667 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_QualEnumeration__1size
|
3668 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jEnum)
3669 {
3670 Array<CIMQualifierDecl> *enm = DEBUG_ConvertJavaToC (jint, Array<CIMQualifierDecl>*, jEnum);
3671
|
3672 schuur 1.5 return enm->size();
3673 }
3674
|
3675 schuur 1.1 // -------------------------------------
3676 // ---
3677 // - CIMClient
3678 // ---
3679 // -------------------------------------
3680
|
3681 schuur 1.5 void checkNs(CIMObjectPath *cop, jint jNs) {
3682 if (cop->getNameSpace().isNull()) {
3683 _nameSpace *ns=(_nameSpace*)jNs;
3684 cop->setNameSpace(CIMNamespaceName(ns->nameSpace()));
3685 }
3686 }
3687
|
3688 schuur 1.1 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMClient__1newNaUnPw
|
3689 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jNs, jstring jUn, jstring jPw)
3690 {
3691 _nameSpace *cNs = DEBUG_ConvertJavaToC (jint, _nameSpace*, jNs);
|
3692 mark.hamzy 1.27 const char *un = jEnv->GetStringUTFChars(jUn,NULL);
3693 const char *pw = jEnv->GetStringUTFChars(jPw,NULL);
3694 jint jCc = 0;
|
3695 schuur 1.5
|
3696 schuur 1.1 try {
|
3697 schuur 1.5 JMPIjvm::cacheIDs(jEnv);
|
3698 mark.hamzy 1.27
|
3699 schuur 1.1 CIMClient *cc=new CIMClient();
|
3700 mark.hamzy 1.27
|
3701 schuur 1.1 cc->connect(cNs->hostName(),cNs->port(),un,pw);
|
3702 mark.hamzy 1.27
3703 jCc = DEBUG_ConvertCToJava (CIMClient*, jint, cc);
|
3704 schuur 1.1 }
|
3705 schuur 1.5 Catch(jEnv);
|
3706 mark.hamzy 1.27
3707 jEnv->ReleaseStringUTFChars(jUn,un);
3708 jEnv->ReleaseStringUTFChars(jPw,pw);
3709
3710 return jCc;
|
3711 schuur 1.1 }
3712
3713 JNIEXPORT void JNICALL Java_org_pegasus_jmpi_CIMClient__1disconnect
|
3714 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jCc)
3715 {
3716 CIMClient *cCc = DEBUG_ConvertJavaToC (jint, CIMClient*, jCc);
3717
|
3718 schuur 1.1 try {
3719 cCc->disconnect();
3720 }
|
3721 schuur 1.5 Catch(jEnv);
|
3722 schuur 1.1 }
|
3723 schuur 1.5
|
3724 schuur 1.1 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMClient__1getClass
|
3725 schuur 1.6 (JNIEnv *jEnv, jobject jThs, jint jCc, jint jNs, jint jCop, jboolean lo,
|
3726 mark.hamzy 1.20 jboolean iq, jboolean ic, jobjectArray jPl)
3727 {
3728 CIMClient *cCc = DEBUG_ConvertJavaToC (jint, CIMClient*, jCc);
3729 CIMObjectPath *cop = DEBUG_ConvertJavaToC (jint, CIMObjectPath*, jCop);
3730 CIMPropertyList pl=getList(jEnv,jPl);
3731
|
3732 schuur 1.1 try {
|
3733 schuur 1.5 checkNs(cop,jNs);
|
3734 schuur 1.6 CIMClass cls=cCc->getClass(cop->getNameSpace(),cop->getClassName(),(Boolean)lo,
3735 (Boolean)iq,(Boolean)ic,pl);
|
3736 mark.hamzy 1.20 return DEBUG_ConvertCToJava (CIMClass*, jint, new CIMClass(cls));
|
3737 schuur 1.1 }
|
3738 schuur 1.5 Catch(jEnv);
|
3739 mark.hamzy 1.20
|
3740 schuur 1.1 return 0;
3741 }
|
3742 schuur 1.3
3743 JNIEXPORT void JNICALL Java_org_pegasus_jmpi_CIMClient__1deleteClass
|
3744 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jCc, jint jNs, jint jCop)
3745 {
3746 CIMClient *cCc = DEBUG_ConvertJavaToC (jint, CIMClient*, jCc);
3747 CIMObjectPath *cop = DEBUG_ConvertJavaToC (jint, CIMObjectPath*, jCop);
3748
|
3749 schuur 1.3 try {
|
3750 schuur 1.5 checkNs(cop,jNs);
|
3751 schuur 1.3 cCc->deleteClass(cop->getNameSpace(),cop->getClassName());
3752 }
|
3753 schuur 1.5 Catch(jEnv);
|
3754 schuur 1.3 }
3755
3756 JNIEXPORT void JNICALL Java_org_pegasus_jmpi_CIMClient__1createClass
|
3757 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jCc, jint jNs, jint jCop, int jCl)
3758 {
3759 CIMClient *cCc = DEBUG_ConvertJavaToC (jint, CIMClient*, jCc);
3760 CIMObjectPath *cop = DEBUG_ConvertJavaToC (jint, CIMObjectPath*, jCop);
3761 CIMClass *cl = DEBUG_ConvertJavaToC (jint, CIMClass*, jCl);
|
3762 schuur 1.3
3763 try {
3764 cCc->createClass(cop->getNameSpace(),*cl);
3765 }
|
3766 schuur 1.5 Catch(jEnv);
|
3767 schuur 1.3 }
3768
3769 JNIEXPORT void JNICALL Java_org_pegasus_jmpi_CIMClient__1setClass
|
3770 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jCc, jint jNs, jint jCop, jint jCl)
3771 {
3772 CIMClient *cCc = DEBUG_ConvertJavaToC (jint, CIMClient*, jCc);
3773 CIMObjectPath *cop = DEBUG_ConvertJavaToC (jint, CIMObjectPath*, jCop);
3774 CIMClass *cl = DEBUG_ConvertJavaToC (jint, CIMClass*, jCl);
|
3775 schuur 1.3
|
3776 schuur 1.1 try {
|
3777 schuur 1.5 checkNs(cop,jNs);
|
3778 schuur 1.3 cCc->modifyClass(cop->getNameSpace(),*cl);
|
3779 schuur 1.1 }
|
3780 schuur 1.5 Catch(jEnv);
|
3781 schuur 1.1 }
|
3782 schuur 1.3
3783 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMClient__1enumerateClasses
|
3784 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jCc, jint jNs, int jCop, jboolean deep, jboolean lo, jboolean iq, jboolean ic)
3785 {
3786 CIMClient *cCc = DEBUG_ConvertJavaToC (jint, CIMClient*, jCc);
3787 CIMObjectPath *cop = DEBUG_ConvertJavaToC (jint, CIMObjectPath*, jCop);
3788
|
3789 schuur 1.1 try {
|
3790 schuur 1.5 checkNs(cop,jNs);
|
3791 schuur 1.3 Array<CIMClass> enm=cCc->enumerateClasses(
|
3792 schuur 1.6 cop->getNameSpace(),cop->getClassName(),(Boolean)deep,(Boolean)lo,(Boolean)iq,(Boolean)ic);
|
3793 mark.hamzy 1.20 return DEBUG_ConvertCToJava (Array<CIMClass>*, jint, new Array<CIMClass>(enm));
|
3794 schuur 1.1 }
|
3795 schuur 1.5 Catch(jEnv);
|
3796 mark.hamzy 1.20
|
3797 schuur 1.1 return 0;
3798 }
3799
|
3800 schuur 1.3 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMClient__1enumerateClassNames
|
3801 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jCc, jint jNs, jint jCop, jboolean deep)
3802 {
3803 CIMClient *cCc = DEBUG_ConvertJavaToC (jint, CIMClient*, jCc);
3804 CIMObjectPath *cop = DEBUG_ConvertJavaToC (jint, CIMObjectPath*, jCop);
3805 CIMNamespaceName ns = cop->getNameSpace();
3806
|
3807 schuur 1.1 try {
|
3808 schuur 1.5 checkNs(cop,jNs);
|
3809 schuur 1.7 Array<CIMName> enm=cCc->enumerateClassNames(ns,cop->getClassName(),(Boolean)deep);
|
3810 schuur 1.3 Array<CIMObjectPath> *enmop=new Array<CIMObjectPath>();
3811 for (int i=0,m=enm.size(); i<m; i++) {
3812 enmop->append(CIMObjectPath(String::EMPTY,ns,enm[i]));
3813 }
|
3814 mark.hamzy 1.20 return DEBUG_ConvertCToJava (Array<CIMObjectPath>*, jint, enmop);
|
3815 schuur 1.3 }
|
3816 schuur 1.5 Catch(jEnv);
|
3817 mark.hamzy 1.20
|
3818 schuur 1.3 return 0;
3819 }
3820
|
3821 schuur 1.6 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMClient__1enumerateQualifiers
|
3822 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jCc, jint jNs, int jCop)
3823 {
3824 CIMClient *cCc = DEBUG_ConvertJavaToC (jint, CIMClient*, jCc);
3825 CIMObjectPath *cop = DEBUG_ConvertJavaToC (jint, CIMObjectPath*, jCop);
3826
|
3827 schuur 1.6 try {
3828 checkNs(cop,jNs);
|
3829 mark.hamzy 1.24
3830 Array<CIMQualifierDecl> enm=cCc->enumerateQualifiers(cop->getNameSpace());
3831
|
3832 mark.hamzy 1.20 return DEBUG_ConvertCToJava (Array<CIMQualifierDecl>*, jint, new Array<CIMQualifierDecl>(enm));
|
3833 schuur 1.6 }
3834 Catch(jEnv);
|
3835 mark.hamzy 1.20
|
3836 schuur 1.6 return 0;
3837 }
3838
|
3839 schuur 1.3 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMClient__1getInstance
|
3840 schuur 1.6 (JNIEnv *jEnv, jobject jThs, jint jCc, int jNs, int jCop, jboolean lo,
|
3841 mark.hamzy 1.20 jboolean iq, jboolean ic, jobjectArray jPl)
3842 {
3843 CIMClient *cCc = DEBUG_ConvertJavaToC (jint, CIMClient*, jCc);
3844 CIMObjectPath *cop = DEBUG_ConvertJavaToC (jint, CIMObjectPath*, jCop);
3845 CIMPropertyList pl = getList(jEnv,jPl);
|
3846 schuur 1.5
|
3847 schuur 1.3 try {
|
3848 schuur 1.5 checkNs(cop,jNs);
|
3849 mark.hamzy 1.24
3850 CIMInstance inst=cCc->getInstance(cop->getNameSpace(),
3851 *cop,
3852 (Boolean)lo,
3853 (Boolean)iq,
3854 (Boolean)ic,
3855 pl);
3856
|
3857 mark.hamzy 1.20 return DEBUG_ConvertCToJava (CIMInstance*, jint, new CIMInstance(inst));
|
3858 schuur 1.1 }
|
3859 schuur 1.5 Catch(jEnv);
|
3860 mark.hamzy 1.20
|
3861 schuur 1.1 return 0;
3862 }
3863
|
3864 schuur 1.3 JNIEXPORT void JNICALL Java_org_pegasus_jmpi_CIMClient__1deleteInstance
|
3865 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jCc, jint jNs, jint jCop)
3866 {
3867 CIMClient *cCc = DEBUG_ConvertJavaToC (jint, CIMClient*, jCc);
3868 CIMObjectPath *cop = DEBUG_ConvertJavaToC (jint, CIMObjectPath*, jCop);
3869
|
3870 schuur 1.3 try {
|
3871 schuur 1.5 checkNs(cop,jNs);
|
3872 schuur 1.3 cCc->deleteInstance(cop->getNameSpace(),*cop);
3873 }
|
3874 schuur 1.5 Catch(jEnv);
|
3875 schuur 1.3 }
3876
|
3877 schuur 1.1 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMClient__1createInstance
|
3878 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jCc, jint jNs, jint jCop, int jCi)
3879 {
3880 CIMClient *cCc = DEBUG_ConvertJavaToC (jint, CIMClient*, jCc);
3881 CIMObjectPath *cop = DEBUG_ConvertJavaToC (jint, CIMObjectPath*, jCop);
3882 CIMInstance *ci = DEBUG_ConvertJavaToC (jint, CIMInstance*, jCi);
3883
|
3884 schuur 1.1 try {
|
3885 schuur 1.5 checkNs(cop,jNs);
|
3886 schuur 1.6 ci->setPath(*cop);
|
3887 schuur 1.1 CIMObjectPath obj=cCc->createInstance(cop->getNameSpace(),*ci);
|
3888 mark.hamzy 1.20 return DEBUG_ConvertCToJava (CIMObjectPath*, jint, new CIMObjectPath(obj));
|
3889 schuur 1.1 }
|
3890 schuur 1.5 Catch(jEnv);
|
3891 mark.hamzy 1.20
|
3892 schuur 1.5 return 0;
|
3893 schuur 1.1 }
|
3894 schuur 1.3
|
3895 schuur 1.6 JNIEXPORT void JNICALL Java_org_pegasus_jmpi_CIMClient__1modifyInstance
3896 (JNIEnv *jEnv, jobject jThs, jint jCc, jint jNs, jint jCop, jint jCi,
|
3897 mark.hamzy 1.20 jboolean iq, jobjectArray jPl)
3898 {
3899 CIMClient *cCc = DEBUG_ConvertJavaToC (jint, CIMClient*, jCc);
3900 CIMObjectPath *cop = DEBUG_ConvertJavaToC (jint, CIMObjectPath*, jCop);
3901 CIMInstance *ci = DEBUG_ConvertJavaToC (jint, CIMInstance*, jCi);
3902 CIMPropertyList pl = getList(jEnv,jPl);
3903
|
3904 schuur 1.1 try {
|
3905 schuur 1.6 checkNs(cop,jNs);
3906 ci->setPath(*cop);
3907 cCc->modifyInstance(cop->getNameSpace(),*ci,(Boolean)iq,pl);
|
3908 schuur 1.1 }
|
3909 schuur 1.5 Catch(jEnv);
|
3910 schuur 1.3 }
3911
3912 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMClient__1enumerateInstances
|
3913 schuur 1.6 (JNIEnv *jEnv, jobject jThs, jint jCc, jint jNs, jint jCop, jboolean deep, jboolean lo,
|
3914 mark.hamzy 1.20 jboolean iq, jboolean ic, jobjectArray jPl)
3915 {
3916 CIMClient *cCc = DEBUG_ConvertJavaToC (jint, CIMClient*, jCc);
3917 CIMObjectPath *cop = DEBUG_ConvertJavaToC (jint, CIMObjectPath*, jCop);
3918 CIMPropertyList pl = getList(jEnv,jPl);
3919
|
3920 schuur 1.3 try {
|
3921 schuur 1.5 checkNs(cop,jNs);
|
3922 schuur 1.6 CIMPropertyList props;
|
3923 schuur 1.3 Array<CIMInstance> enm=cCc->enumerateInstances(
|
3924 schuur 1.6 cop->getNameSpace(),cop->getClassName(),(Boolean)deep,(Boolean)lo,(Boolean)iq,(Boolean)ic,pl);
|
3925 mark.hamzy 1.20 return DEBUG_ConvertCToJava (Array<CIMInstance>*, jint, new Array<CIMInstance>(enm));
|
3926 schuur 1.3 }
|
3927 schuur 1.5 Catch(jEnv);
|
3928 mark.hamzy 1.20
|
3929 schuur 1.3 return 0;
3930 }
3931
3932 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMClient__1enumerateInstanceNames
|
3933 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jCc, jint jNs, jint jCop, jboolean deep)
3934 {
3935 CIMClient *cCc = DEBUG_ConvertJavaToC (jint, CIMClient*, jCc);
3936 CIMObjectPath *cop = DEBUG_ConvertJavaToC (jint, CIMObjectPath*, jCop);
3937
|
3938 schuur 1.3 try {
|
3939 schuur 1.5 checkNs(cop,jNs);
|
3940 schuur 1.3 Array<CIMObjectPath> enm=cCc->enumerateInstanceNames(
3941 cop->getNameSpace(),cop->getClassName()); //,(Boolean)deep);
|
3942 mark.hamzy 1.20 return DEBUG_ConvertCToJava (Array<CIMObjectPath>*, jint, new Array<CIMObjectPath>(enm));
|
3943 schuur 1.3 }
|
3944 schuur 1.5 Catch(jEnv);
|
3945 mark.hamzy 1.20
|
3946 schuur 1.5 return 0;
3947 }
3948
3949
3950 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMClient__1getQualifier
|
3951 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jCc, jint jNs, jint jCop)
3952 {
3953 CIMClient *cCc = DEBUG_ConvertJavaToC (jint, CIMClient*, jCc);
3954 CIMObjectPath *cop = DEBUG_ConvertJavaToC (jint, CIMObjectPath*, jCop);
3955
|
3956 schuur 1.5 try {
3957 checkNs(cop,jNs);
3958 CIMQualifierDecl *val=new CIMQualifierDecl(cCc->getQualifier(cop->getNameSpace(),cop->getClassName()));
|
3959 mark.hamzy 1.20 return DEBUG_ConvertCToJava (CIMQualifierDecl*, jint, val);
|
3960 schuur 1.3 }
|
3961 schuur 1.5 Catch(jEnv);
|
3962 mark.hamzy 1.20
|
3963 schuur 1.3 return 0;
3964 }
3965
|
3966 schuur 1.5 JNIEXPORT void JNICALL Java_org_pegasus_jmpi_CIMClient__1deleteQualifier
|
3967 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jCc, jint jNs, jint jCop)
3968 {
3969 CIMClient *cCc = DEBUG_ConvertJavaToC (jint, CIMClient*, jCc);
3970 CIMObjectPath *cop = DEBUG_ConvertJavaToC (jint, CIMObjectPath*, jCop);
3971
|
3972 schuur 1.5 try {
3973 checkNs(cop,jNs);
3974 cCc->deleteQualifier(cop->getNameSpace(),cop->getClassName());
3975 }
3976 Catch(jEnv);
3977 }
3978
3979 JNIEXPORT void JNICALL Java_org_pegasus_jmpi_CIMClient__1setQualifier
|
3980 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jCc, jint jNs, jint jCop, jint jQ)
3981 {
3982 CIMClient *cCc = DEBUG_ConvertJavaToC (jint, CIMClient*, jCc);
3983 CIMObjectPath *cop = DEBUG_ConvertJavaToC (jint, CIMObjectPath*, jCop);
3984 CIMQualifierDecl *qt = DEBUG_ConvertJavaToC (jint, CIMQualifierDecl*, jQ);
3985
|
3986 schuur 1.5 try {
3987 checkNs(cop,jNs);
3988 cCc->setQualifier(cop->getNameSpace(),*qt);
3989 }
3990 Catch(jEnv);
3991 }
3992
|
3993 schuur 1.1 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMClient__1getProperty
|
3994 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jCc, jint jNs, jint jCop, jstring jPn)
3995 {
3996 CIMClient *cCc = DEBUG_ConvertJavaToC (jint, CIMClient*, jCc);
3997 CIMObjectPath *cop = DEBUG_ConvertJavaToC (jint, CIMObjectPath*, jCop);
3998 const char *str = jEnv->GetStringUTFChars(jPn,NULL);
3999 CIMName pName(str);
|
4000 mark.hamzy 1.27 jint jCv = 0;
|
4001 mark.hamzy 1.20
|
4002 schuur 1.3 try {
|
4003 schuur 1.5 checkNs(cop,jNs);
|
4004 mark.hamzy 1.27
4005 CIMValue *val = new CIMValue(cCc->getProperty(cop->getNameSpace(),*cop,pName));
4006
4007 jCv = DEBUG_ConvertCToJava (CIMValue*, jint, val);
|
4008 schuur 1.3 }
|
4009 schuur 1.5 Catch(jEnv);
|
4010 mark.hamzy 1.20
|
4011 mark.hamzy 1.27 jEnv->ReleaseStringUTFChars(jPn,str);
4012
4013 return jCv;
|
4014 schuur 1.3 }
|
4015 schuur 1.5
|
4016 schuur 1.1 JNIEXPORT void JNICALL Java_org_pegasus_jmpi_CIMClient__1setProperty
|
4017 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jCc, jint jNs, jint jCop, jstring jPn, jint jV)
4018 {
4019 CIMClient *cCc = DEBUG_ConvertJavaToC (jint, CIMClient*, jCc);
4020 CIMObjectPath *cop = DEBUG_ConvertJavaToC (jint, CIMObjectPath*, jCop);
|
4021 mark.hamzy 1.22 CIMValue *val = DEBUG_ConvertJavaToC (jint, CIMValue*, jV);
|
4022 mark.hamzy 1.20 const char *str = jEnv->GetStringUTFChars(jPn,NULL);
4023 CIMName pName(str);
4024
|
4025 schuur 1.3 try {
|
4026 schuur 1.5 checkNs(cop,jNs);
|
4027 schuur 1.3 cCc->setProperty(cop->getNameSpace(),*cop,pName,*val);
4028 }
|
4029 schuur 1.5 Catch(jEnv);
|
4030 mark.hamzy 1.27
4031 jEnv->ReleaseStringUTFChars(jPn,str);
|
4032 schuur 1.3 }
4033
4034 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMClient__1invokeMethod
|
4035 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jCc, jint jNs, jint jCop, jstring jMn, jobject jIn, jobject jOut)
4036 {
|
4037 mark.hamzy 1.27 CIMClient *cCc = DEBUG_ConvertJavaToC (jint, CIMClient*, jCc);
4038 CIMObjectPath *cop = DEBUG_ConvertJavaToC (jint, CIMObjectPath*, jCop);
4039 const char *str = jEnv->GetStringUTFChars(jMn,NULL);
4040 CIMName method(str);
4041 jint jCv = 0;
4042 Array<CIMParamValue> in;
4043 Array<CIMParamValue> out;
|
4044 schuur 1.3
|
4045 mark.hamzy 1.26 for (int i=0,m=jEnv->CallIntMethod(jIn,JMPIjvm::jv.VectorSize); i<m; i++) {
|
4046 schuur 1.3 JMPIjvm::checkException(jEnv);
|
4047 mark.hamzy 1.20
|
4048 mark.hamzy 1.26 jobject jProp=jEnv->CallObjectMethod(jIn,JMPIjvm::jv.VectorElementAt,i);
|
4049 schuur 1.3 JMPIjvm::checkException(jEnv);
|
4050 mark.hamzy 1.20
|
4051 mark.hamzy 1.26 jint jp = jEnv->CallIntMethod(jProp,JMPIjvm::jv.CIMPropertyCInst);
|
4052 mark.hamzy 1.20 CIMProperty *p = DEBUG_ConvertJavaToC (jint, CIMProperty*, jp);
4053
|
4054 schuur 1.3 JMPIjvm::checkException(jEnv);
|
4055 mark.hamzy 1.20
|
4056 schuur 1.3 in.append(CIMParamValue(p->getName().getString(),p->getValue()));
4057 }
|
4058 mark.hamzy 1.27
|
4059 schuur 1.3 try {
|
4060 schuur 1.5 checkNs(cop,jNs);
|
4061 mark.hamzy 1.27
4062 CIMValue *val = new CIMValue(cCc->invokeMethod(cop->getNameSpace(),*cop,method,in,out));
|
4063 schuur 1.3
4064 for (int i=0,m=out.size(); i<m; i++) {
|
4065 mark.hamzy 1.20 const CIMParamValue &parm = out[i];
4066 const CIMValue v = parm.getValue();
4067 CIMProperty *p = new CIMProperty(parm.getParameterName(),v,v.getArraySize());
4068 jint jp = DEBUG_ConvertCToJava (CIMProperty*, jint, p);
|
4069 mark.hamzy 1.26 jobject prop = jEnv->NewObject(JMPIjvm::jv.CIMPropertyClassRef,JMPIjvm::jv.CIMPropertyNewI,jp);
|
4070 mark.hamzy 1.20
|
4071 mark.hamzy 1.26 jEnv->CallVoidMethod(jOut,JMPIjvm::jv.VectorAddElement,prop);
|
4072 schuur 1.3 }
|
4073 mark.hamzy 1.27
4074 jCv = DEBUG_ConvertCToJava (CIMValue*, jint, val);
|
4075 mark.hamzy 1.20 }
|
4076 schuur 1.5 Catch(jEnv);
|
4077 mark.hamzy 1.20
|
4078 mark.hamzy 1.27 jEnv->ReleaseStringUTFChars(jMn,str);
4079
4080 return jCv;
|
4081 schuur 1.3 }
4082
|
4083 schuur 1.6 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMClient__1invokeMethod24
4084 (JNIEnv *jEnv, jobject jThs, jint jCc, jint jNs, jint jCop, jstring jMn,
|
4085 mark.hamzy 1.20 jobjectArray jIn, jobjectArray jOut)
4086 {
|
4087 mark.hamzy 1.27 CIMClient *cCc = DEBUG_ConvertJavaToC (jint, CIMClient*, jCc);
4088 CIMObjectPath *cop = DEBUG_ConvertJavaToC (jint, CIMObjectPath*, jCop);
4089 const char *str = jEnv->GetStringUTFChars(jMn,NULL);
4090 CIMName method(str);
4091 jint jCv = 0;
|
4092 schuur 1.7 Array<CIMParamValue> in;
4093 Array<CIMParamValue> out;
4094
4095 for (int i=0,m=jEnv->GetArrayLength(jIn); i<m; i++) {
4096 JMPIjvm::checkException(jEnv);
|
4097 mark.hamzy 1.20
|
4098 schuur 1.7 jobject jArg=jEnv->GetObjectArrayElement(jIn,i);
4099 JMPIjvm::checkException(jEnv);
|
4100 mark.hamzy 1.20
|
4101 mark.hamzy 1.26 jint jp = jEnv->CallIntMethod(jArg,JMPIjvm::jv.CIMArgumentCInst);
|
4102 mark.hamzy 1.20 CIMParamValue *p = DEBUG_ConvertJavaToC (jint, CIMParamValue*, jp);
4103
|
4104 schuur 1.7 JMPIjvm::checkException(jEnv);
|
4105 mark.hamzy 1.20
|
4106 schuur 1.7 in.append(*p);
4107 }
4108 try {
4109 checkNs(cop,jNs);
4110 CIMValue *val=new CIMValue(cCc->invokeMethod(cop->getNameSpace(),*cop,method,in,out));
4111
4112 for (int i=0,m=out.size(),o=jEnv->GetArrayLength(jOut); i<m && i<o; i++) {
|
4113 mark.hamzy 1.24 CIMParamValue *parm = new CIMParamValue (out[i]);
4114 jint jParm = DEBUG_ConvertCToJava (CIMParamValue*, jint, parm);
4115
4116 jEnv->SetObjectArrayElement(jOut,
4117 i,
|
4118 mark.hamzy 1.26 jEnv->NewObject(JMPIjvm::jv.CIMArgumentClassRef,JMPIjvm::jv.CIMArgumentNewI,jParm));
|
4119 schuur 1.7 }
|
4120 mark.hamzy 1.27 jCv = DEBUG_ConvertCToJava (CIMValue*, jint, val);
|
4121 schuur 1.7 }
4122 Catch(jEnv);
|
4123 mark.hamzy 1.20
|
4124 mark.hamzy 1.27 jEnv->ReleaseStringUTFChars(jMn,str);
4125
4126 return jCv;
|
4127 schuur 1.6 }
4128
|
4129 schuur 1.1 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMClient__1execQuery
|
4130 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jCc, jint jNs, jint jCop, jstring jQuery, jstring jQl)
4131 {
4132 CIMClient *cCc = DEBUG_ConvertJavaToC (jint, CIMClient*, jCc);
4133 CIMObjectPath *cop = DEBUG_ConvertJavaToC (jint, CIMObjectPath*, jCop);
4134 const char *str = jEnv->GetStringUTFChars(jQuery,NULL);
4135 String query(str);
|
4136 schuur 1.3
|
4137 mark.hamzy 1.16 /* Note:
4138 ** This does not work for some reason on the client java code:
|
4139 mark.hamzy 1.18 ** DDD(PEGASUS_STD(cout)<<"--- JMPIjvm::Java_org_pegasus_jmpi_CIMClient__1execQuery: jEnv = "<<PEGASUS_STD(hex)<<(int)jEnv<<", jThs = "<<(int)jThs<<PEGASUS_STD(dec)<<", jCc = "<<jCc<<", jNs = "<<jNs<<", jCop = "<<jCop<<", jQuery = "<<PEGASUS_STD(hex)<<(int)jQuery<<", jQl = "<<(int)jQl<<PEGASUS_STD(dec)<<PEGASUS_STD(endl));
|
4140 mark.hamzy 1.16 ** What does work is:
4141 ** printf ("This is a test\n");
4142 */
4143
|
4144 schuur 1.3 jEnv->ReleaseStringUTFChars(jQuery,str);
|
4145 mark.hamzy 1.16
|
4146 schuur 1.3 str=jEnv->GetStringUTFChars(jQl,NULL);
|
4147 mark.hamzy 1.27
|
4148 schuur 1.3 String ql(str);
|
4149 mark.hamzy 1.16
|
4150 schuur 1.3 jEnv->ReleaseStringUTFChars(jQl,str);
4151
4152 try {
|
4153 schuur 1.5 checkNs(cop,jNs);
|
4154 mark.hamzy 1.20 Array<CIMObject> enm=cCc->execQuery(cop->getNameSpace(),ql,query);
|
4155 schuur 1.3 Array<CIMInstance> *enmInst=new Array<CIMInstance>();
4156 for (int i=0,m=enm.size(); i<m; i++) {
4157 enmInst->append(CIMInstance(enm[i]));
4158 }
|
4159 mark.hamzy 1.20 return DEBUG_ConvertCToJava (Array<CIMInstance>*, jint, enmInst);
|
4160 schuur 1.3 }
|
4161 schuur 1.5 Catch(jEnv);
|
4162 mark.hamzy 1.20
|
4163 schuur 1.3 return 0;
4164 }
4165
|
4166 schuur 1.1 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMClient__1associatorNames
|
4167 schuur 1.5 (JNIEnv *jEnv, jobject jThs, jint jCc, jint jNs, jint jCop,
|
4168 mark.hamzy 1.20 jstring jAssocClass, jstring jResultClass, jstring jRole, jstring jResultRole)
4169 {
4170 CIMClient *cCc = DEBUG_ConvertJavaToC (jint, CIMClient*, jCc);
4171 CIMObjectPath *cop = DEBUG_ConvertJavaToC (jint, CIMObjectPath*, jCop);
4172 const char *str = jEnv->GetStringUTFChars(jAssocClass,NULL);
4173 CIMName assocClass(str);
|
4174 schuur 1.3
4175 jEnv->ReleaseStringUTFChars(jAssocClass,str);
4176 str=jEnv->GetStringUTFChars(jResultClass,NULL);
|
4177 mark.hamzy 1.20
|
4178 schuur 1.3 CIMName resultClass(str);
|
4179 mark.hamzy 1.20
|
4180 schuur 1.3 jEnv->ReleaseStringUTFChars(jResultClass,str);
4181 str=jEnv->GetStringUTFChars(jRole,NULL);
|
4182 mark.hamzy 1.20
|
4183 schuur 1.3 String role(str);
|
4184 mark.hamzy 1.20
|
4185 schuur 1.3 jEnv->ReleaseStringUTFChars(jRole,str);
4186 str=jEnv->GetStringUTFChars(jResultRole,NULL);
|
4187 mark.hamzy 1.20
|
4188 schuur 1.3 String resultRole(str);
|
4189 mark.hamzy 1.20
|
4190 schuur 1.3 jEnv->ReleaseStringUTFChars(jResultRole,str);
4191
4192 try {
|
4193 schuur 1.5 checkNs(cop,jNs);
|
4194 schuur 1.3 Array<CIMObjectPath> enm=cCc->associatorNames(
4195 cop->getNameSpace(),*cop,assocClass,resultClass,role,resultRole);
|
4196 mark.hamzy 1.20 return DEBUG_ConvertCToJava (Array<CIMObjectPath>*, jint, new Array<CIMObjectPath>(enm));
|
4197 schuur 1.3 }
|
4198 schuur 1.5 Catch(jEnv);
|
4199 mark.hamzy 1.20
|
4200 schuur 1.3 return 0;
4201 }
4202
|
4203 schuur 1.1 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMClient__1associators
|
4204 schuur 1.5 (JNIEnv *jEnv, jobject jThs, jint jCc, jint jNs, jint jCop,
|
4205 schuur 1.3 jstring jAssocClass, jstring jResultClass, jstring jRole, jstring jResultRole,
|
4206 mark.hamzy 1.20 jboolean includeQualifiers, jboolean includeClassOrigin, jobjectArray jPl)
4207 {
4208 CIMClient *cCc = DEBUG_ConvertJavaToC (jint, CIMClient*, jCc);
4209 CIMObjectPath *cop = DEBUG_ConvertJavaToC (jint, CIMObjectPath*, jCop);
4210 CIMPropertyList pl = getList(jEnv,jPl);
4211 const char *str = jEnv->GetStringUTFChars(jAssocClass,NULL);
4212 CIMName assocClass(str);
|
4213 schuur 1.3
4214 jEnv->ReleaseStringUTFChars(jAssocClass,str);
4215 str=jEnv->GetStringUTFChars(jResultClass,NULL);
|
4216 mark.hamzy 1.20
|
4217 schuur 1.3 CIMName resultClass(str);
|
4218 mark.hamzy 1.20
|
4219 schuur 1.3 jEnv->ReleaseStringUTFChars(jResultClass,str);
4220 str=jEnv->GetStringUTFChars(jRole,NULL);
|
4221 mark.hamzy 1.20
|
4222 schuur 1.3 String role(str);
|
4223 mark.hamzy 1.20
|
4224 schuur 1.3 jEnv->ReleaseStringUTFChars(jRole,str);
4225 str=jEnv->GetStringUTFChars(jResultRole,NULL);
|
4226 mark.hamzy 1.20
|
4227 schuur 1.3 String resultRole(str);
|
4228 mark.hamzy 1.20
|
4229 schuur 1.3 jEnv->ReleaseStringUTFChars(jResultRole,str);
4230
4231 try {
|
4232 schuur 1.5 checkNs(cop,jNs);
|
4233 schuur 1.3 Array<CIMObject> enm=cCc->associators(
4234 cop->getNameSpace(),*cop,assocClass,resultClass,role,resultRole,
|
4235 mark.hamzy 1.17 (Boolean)includeQualifiers,(Boolean)includeClassOrigin,pl);
|
4236 schuur 1.3 Array<CIMInstance> *enmInst=new Array<CIMInstance>();
4237 for (int i=0,m=enm.size(); i<m; i++) {
4238 enmInst->append(CIMInstance(enm[i]));
4239 }
|
4240 mark.hamzy 1.20 return DEBUG_ConvertCToJava (Array<CIMInstance>*, jint, enmInst);
|
4241 schuur 1.3 }
|
4242 schuur 1.5 Catch(jEnv);
|
4243 mark.hamzy 1.20
|
4244 schuur 1.3 return 0;
4245 }
4246
|
4247 schuur 1.1 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMClient__1referenceNames
|
4248 schuur 1.5 (JNIEnv *jEnv, jobject jThs, jint jCc, jint jNs, jint jCop,
|
4249 mark.hamzy 1.20 jstring jAssocClass, jstring jRole)
4250 {
4251 CIMClient *cCc = DEBUG_ConvertJavaToC (jint, CIMClient*, jCc);
4252 CIMObjectPath *cop = DEBUG_ConvertJavaToC (jint, CIMObjectPath*, jCop);
4253 const char *str = jEnv->GetStringUTFChars(jAssocClass,NULL);
4254 CIMName assocClass(str);
|
4255 schuur 1.3
4256 jEnv->ReleaseStringUTFChars(jAssocClass,str);
4257 str=jEnv->GetStringUTFChars(jRole,NULL);
|
4258 mark.hamzy 1.20
|
4259 schuur 1.3 String role(str);
|
4260 mark.hamzy 1.20
|
4261 schuur 1.3 jEnv->ReleaseStringUTFChars(jRole,str);
4262
4263 try {
|
4264 schuur 1.5 checkNs(cop,jNs);
|
4265 schuur 1.3 Array<CIMObjectPath> enm=cCc->referenceNames(
4266 cop->getNameSpace(),*cop,assocClass,role);
|
4267 mark.hamzy 1.20 return DEBUG_ConvertCToJava (Array<CIMObjectPath>*, jint, new Array<CIMObjectPath>(enm));
|
4268 schuur 1.3 }
|
4269 schuur 1.5 Catch(jEnv);
|
4270 mark.hamzy 1.20
|
4271 schuur 1.3 return 0;
4272 }
4273
|
4274 schuur 1.1 JNIEXPORT jint JNICALL Java_org_pegasus_jmpi_CIMClient__1references
|
4275 schuur 1.5 (JNIEnv *jEnv, jobject jThs, jint jCc, jint jNs, jint jCop,
|
4276 schuur 1.3 jstring jAssocClass, jstring jRole,
|
4277 mark.hamzy 1.20 jboolean includeQualifiers, jboolean includeClassOrigin, jobjectArray jPl)
4278 {
4279 CIMClient *cCc = DEBUG_ConvertJavaToC (jint, CIMClient*, jCc);
4280 CIMObjectPath *cop = DEBUG_ConvertJavaToC (jint, CIMObjectPath*, jCop);
4281 CIMPropertyList pl = getList(jEnv,jPl);
4282 const char *str = jEnv->GetStringUTFChars(jAssocClass,NULL);
4283 CIMName assocClass(str);
|
4284 schuur 1.3
4285 jEnv->ReleaseStringUTFChars(jAssocClass,str);
4286 str=jEnv->GetStringUTFChars(jRole,NULL);
|
4287 mark.hamzy 1.20
|
4288 schuur 1.3 String role(str);
|
4289 mark.hamzy 1.20
|
4290 schuur 1.3 jEnv->ReleaseStringUTFChars(jRole,str);
4291
4292 try {
|
4293 schuur 1.5 checkNs(cop,jNs);
|
4294 schuur 1.3 Array<CIMObject> enm=cCc->references(
4295 cop->getNameSpace(),*cop,assocClass,role,
|
4296 mark.hamzy 1.17 (Boolean)includeQualifiers,(Boolean)includeClassOrigin,pl);
|
4297 schuur 1.3 Array<CIMInstance> *enmInst=new Array<CIMInstance>();
4298 for (int i=0,m=enm.size(); i<m; i++) {
4299 enmInst->append(CIMInstance(enm[i]));
4300 }
|
4301 mark.hamzy 1.20 return DEBUG_ConvertCToJava (Array<CIMInstance>*, jint, enmInst);
|
4302 schuur 1.3 }
|
4303 schuur 1.5 Catch(jEnv);
|
4304 mark.hamzy 1.20
|
4305 schuur 1.5 return 0;
4306 }
4307
|
4308 schuur 1.6 static int normalizeNs(String &ns, String &nsBase, String &lastNsComp) {
4309 Uint32 n=ns.size();
4310 if (ns[n-1]=='/') {
4311 if (n>=2) ns=ns.subString(0,n-2);
4312 }
4313
4314 lastNsComp=ns;
4315 nsBase="root";
4316
4317 n=ns.reverseFind('/');
4318 if (n!=PEG_NOT_FOUND) {
4319 lastNsComp=ns.subString(n+1);
4320 nsBase=ns.subString(0,n);
4321 }
4322 return 0;
4323 }
4324
|
4325 schuur 1.5 JNIEXPORT void JNICALL Java_org_pegasus_jmpi_CIMClient__1createNameSpace
|
4326 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jCc, jstring jNs)
4327 {
4328 CIMClient *cCc = DEBUG_ConvertJavaToC (jint, CIMClient*, jCc);
4329 const char *str = jEnv->GetStringUTFChars(jNs,NULL);
4330 String ns(str);
|
4331 schuur 1.5
4332 jEnv->ReleaseStringUTFChars(jNs,str);
|
4333 schuur 1.6
4334 String lastNsComp;
4335 String nsBase;
4336
4337 normalizeNs(ns,nsBase,lastNsComp);
|
4338 schuur 1.5
4339 CIMInstance newInstance(CIMName("__Namespace"));
|
4340 schuur 1.6 newInstance.addProperty(CIMProperty(CIMName ("name"),lastNsComp));
|
4341 schuur 1.5
4342 try {
|
4343 schuur 1.6 cCc->createInstance(CIMNamespaceName(nsBase),newInstance);
|
4344 schuur 1.3 }
|
4345 schuur 1.5 Catch(jEnv);
4346 }
4347
4348 JNIEXPORT jobject JNICALL Java_org_pegasus_jmpi_CIMClient__1enumerateNameSpaces
|
4349 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jCc, jint jCop, jboolean deep, jobject jVec)
4350 {
4351 CIMClient *cCc = DEBUG_ConvertJavaToC (jint, CIMClient*, jCc);
4352 CIMObjectPath *cop = DEBUG_ConvertJavaToC (jint, CIMObjectPath*, jCop);
4353 String ns = cop->getNameSpace().getString();
|
4354 schuur 1.6
4355 try {
4356 Array<CIMObjectPath> enm=cCc->enumerateInstanceNames(
4357 cop->getNameSpace(),CIMName("__Namespace"));
4358 for (int i=0,s=enm.size(); i<s; i++) {
4359 CIMObjectPath &cop=enm[i];
4360 const Array<CIMKeyBinding>& kb=cop.getKeyBindings();
|
4361 mark.hamzy 1.17 const String &n=kb[0].getValue();
|
4362 mark.hamzy 1.16 if (!deep && n.find('/')!=PEG_NOT_FOUND)
4363 continue;
|
4364 mark.hamzy 1.17 String x=ns+"/"+n;
4365 jstring str=jEnv->NewStringUTF(x.getCString());
|
4366 mark.hamzy 1.26 jEnv->CallVoidMethod(jVec,JMPIjvm::jv.VectorAddElement,str);
|
4367 schuur 1.6 }
4368 }
4369 Catch(jEnv);
|
4370 mark.hamzy 1.20
|
4371 schuur 1.5 return jVec;
4372 }
4373
4374 JNIEXPORT void JNICALL Java_org_pegasus_jmpi_CIMClient__1deleteNameSpace
|
4375 mark.hamzy 1.20 (JNIEnv *jEnv, jobject jThs, jint jCc, jstring jNs)
4376 {
4377 CIMClient *cCc = DEBUG_ConvertJavaToC (jint, CIMClient*, jCc);
4378 const char *str = jEnv->GetStringUTFChars(jNs,NULL);
4379 String ns(str);
|
4380 schuur 1.6
4381 jEnv->ReleaseStringUTFChars(jNs,str);
|
4382 mark.hamzy 1.20
|
4383 schuur 1.6 String lastNsComp;
4384 String nsBase;
4385
4386 normalizeNs(ns,nsBase,lastNsComp);
4387
4388 CIMObjectPath cop(String::EMPTY,CIMNamespaceName(nsBase),CIMName("__Namespace"));
4389 Array<CIMKeyBinding> kb;
4390 kb.append(CIMKeyBinding(("Name"),CIMValue(lastNsComp)));
4391 cop.setKeyBindings(kb);
4392
4393 try {
4394 cCc->deleteInstance(CIMNamespaceName(nsBase),cop);
4395 }
4396 Catch(jEnv);
|
4397 schuur 1.3 }
|
4398 schuur 1.1
|
4399 mark.hamzy 1.24 JNIEXPORT void JNICALL Java_org_pegasus_jmpi_CIMClient__1finalize
4400 (JNIEnv *jEnv, jobject jThs, jint jCc)
4401 {
4402 CIMClient *cCc = DEBUG_ConvertJavaToC (jint, CIMClient*, jCc);
4403
4404 delete cCc;
4405
4406 DEBUG_ConvertCleanup (jint, jCc);
4407 }
4408
|
4409 schuur 1.5 } // extern "C"
|
4410 schuur 1.1
4411 PEGASUS_NAMESPACE_END
|