⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jmpiimpl.cpp

📁 Pegasus is an open-source implementationof the DMTF CIM and WBEM standards. It is designed to be por
💻 CPP
📖 第 1 页 / 共 5 页
字号:
   CIMClass   *cls = DEBUG_ConvertJavaToC (jlong, CIMClass*, jCls);   const char *str = jEnv->GetStringUTFChars (jN, NULL);   jlong       rv  = 0;   Uint32      pos = cls->findQualifier (String (str));   if (pos != PEG_NOT_FOUND)      rv = DEBUG_ConvertCToJava (CIMQualifier*,                                 jlong,                                 new CIMQualifier (cls->getQualifier (pos)));   jEnv->ReleaseStringUTFChars (jN, str);   return rv;}JNIEXPORT jobject JNICALL Java_org_pegasus_jmpi_CIMClass__1getQualifiers      (JNIEnv *jEnv, jobject jThs, jlong jCls, jobject jVec){   JMPIjvm::cacheIDs (jEnv);   CIMClass *cls = DEBUG_ConvertJavaToC (jlong, CIMClass*, jCls);   for (int i = 0, s = cls->getQualifierCount (); i < s; i++)   {      CIMQualifier *cq   = new CIMQualifier (cls->getQualifier (i));      jlong         jCq  = DEBUG_ConvertCToJava (CIMQualifier*, jlong, cq);      jobject       qual = jEnv->NewObject (JMPIjvm::jv.CIMQualifierClassRef,JMPIjvm::jv.CIMQualifierNewJ,jCq);      jEnv->CallVoidMethod (jVec,JMPIjvm::jv.VectorAddElement,qual);   }   return jVec;}JNIEXPORT jboolean JNICALL Java_org_pegasus_jmpi_CIMClass__1hasQualifier     (JNIEnv *jEnv, jobject jThs, jlong jCls, jstring jQ){   CIMClass   *cls = DEBUG_ConvertJavaToC (jlong, CIMClass*, jCls);   const char *str = jEnv->GetStringUTFChars (jQ,NULL);   Uint32      pos = cls->findQualifier (String (str));   jEnv->ReleaseStringUTFChars (jQ,str);   return (jboolean)(pos != PEG_NOT_FOUND);}JNIEXPORT void JNICALL Java_org_pegasus_jmpi_CIMClass__1addProperty      (JNIEnv *jEnv, jobject jThs, jlong jCls, jlong jP){   CIMClass    *cls = DEBUG_ConvertJavaToC (jlong, CIMClass*, jCls);   CIMProperty *p   = DEBUG_ConvertJavaToC (jlong, CIMProperty*, jP);   try   {      cls->addProperty (*p);   }   Catch (jEnv);}JNIEXPORT void JNICALL Java_org_pegasus_jmpi_CIMClass__1setProperties      (JNIEnv *jEnv, jobject jThs, jlong jCls, jobject jVec){   JMPIjvm::cacheIDs (jEnv);   CIMClass *cls = DEBUG_ConvertJavaToC (jlong, CIMClass*, jCls);   for (int i = cls->getPropertyCount () - 1; i >= 0; i--)   {      cls->removeProperty (i);   }   for (Uint32 i = 0, s = jEnv->CallIntMethod (jVec, JMPIjvm::jv.VectorSize); i < s; i++)   {      JMPIjvm::checkException (jEnv);      jobject      o  = jEnv->CallObjectMethod (jVec,JMPIjvm::jv.VectorElementAt, (i));      jlong        jp = jEnv->CallLongMethod (o,JMPIjvm::jv.CIMPropertyCInst);      CIMProperty *cp = DEBUG_ConvertJavaToC (jlong, CIMProperty*, jp);      JMPIjvm::checkException (jEnv);      cls->addProperty (*cp);   }}JNIEXPORT jlong JNICALL Java_org_pegasus_jmpi_CIMClass__1getProperty     (JNIEnv *jEnv, jobject jThs, jlong jCls, jstring jN){   CIMClass   *cls = DEBUG_ConvertJavaToC (jlong, CIMClass*, jCls);   const char *str = jEnv->GetStringUTFChars (jN,NULL);   jlong       rv  = 0;   Uint32      pos = cls->findProperty (CIMName (str));   if (pos != PEG_NOT_FOUND)      rv = DEBUG_ConvertCToJava (CIMProperty*,                                 jlong,                                 new CIMProperty (cls->getProperty (pos)));   jEnv->ReleaseStringUTFChars (jN,str);   return rv;}JNIEXPORT jobject JNICALL Java_org_pegasus_jmpi_CIMClass__1getProperties      (JNIEnv *jEnv, jobject jThs, jlong jCls, jobject jVec){   JMPIjvm::cacheIDs (jEnv);   CIMClass *cls = DEBUG_ConvertJavaToC (jlong, CIMClass*, jCls);   for (int i = 0, s = cls->getPropertyCount (); i < s; i++)   {      CIMProperty *cp   = new CIMProperty (cls->getProperty (i));      jlong        jCp  = DEBUG_ConvertCToJava (CIMProperty*, jlong, cp);      jobject      prop = jEnv->NewObject (JMPIjvm::jv.CIMPropertyClassRef,JMPIjvm::jv.CIMPropertyNewJ,jCp);      jEnv->CallVoidMethod (jVec,JMPIjvm::jv.VectorAddElement,prop);   }   return jVec;}JNIEXPORT jlong JNICALL Java_org_pegasus_jmpi_CIMClass__1new      (JNIEnv *jEnv, jobject jThs, jstring jN){   const char *str = jEnv->GetStringUTFChars (jN,NULL);   CIMClass   *cls = new CIMClass (CIMName (str), CIMName ());   jEnv->ReleaseStringUTFChars (jN,str);   return DEBUG_ConvertCToJava (CIMClass*, jlong, cls);}JNIEXPORT jstring JNICALL Java_org_pegasus_jmpi_CIMClass__1getSuperClass      (JNIEnv *jEnv, jobject jThs, jlong jCls){   CIMClass     *cls = DEBUG_ConvertJavaToC (jlong, CIMClass*, jCls);   const String &cn  = cls->getSuperClassName ().getString ();   jstring str = jEnv->NewStringUTF (cn.getCString ());   return str;}JNIEXPORT jobject JNICALL Java_org_pegasus_jmpi_CIMClass__1getKeys      (JNIEnv *jEnv, jobject jThs, jlong jCls, jobject jVec){   JMPIjvm::cacheIDs (jEnv);   CIMClass *cls = DEBUG_ConvertJavaToC (jlong, CIMClass*, jCls);   if (cls->hasKeys ())   {      Array<CIMName> keyNames;      cls->getKeyNames (keyNames);      for (int i = 0, s = keyNames.size (); i < s; i++)      {         Uint32 pos = cls->findProperty (keyNames[i]);         if (pos != PEG_NOT_FOUND)         {            CIMProperty *cp  = new CIMProperty (cls->getProperty (pos));            jlong        jCp = DEBUG_ConvertCToJava (CIMProperty*, jlong, cp);            jobject prop = jEnv->NewObject (JMPIjvm::jv.CIMPropertyClassRef,JMPIjvm::jv.CIMPropertyNewJ,jCp);            jEnv->CallVoidMethod (jVec,JMPIjvm::jv.VectorAddElement,prop);         }      }   }   return jVec;}JNIEXPORT jlong JNICALL Java_org_pegasus_jmpi_CIMClass__1getMethod      (JNIEnv *jEnv, jobject jThs, jlong jCls, jstring jN){   CIMClass   *cls = DEBUG_ConvertJavaToC (jlong, CIMClass*, jCls);   const char *str = jEnv->GetStringUTFChars (jN,NULL);   jlong       rv  = 0;   Uint32      pos = cls->findMethod (String (str));   if (pos != PEG_NOT_FOUND)   {      rv = DEBUG_ConvertCToJava (CIMMethod*, jlong, new CIMMethod (cls->getMethod (pos)));   }   jEnv->ReleaseStringUTFChars (jN,str);   return rv;}JNIEXPORT jboolean JNICALL Java_org_pegasus_jmpi_CIMClass__1equals      (JNIEnv *jEnv, jobject jThs, jlong jCls, jlong jClsToBeCompared){   CIMClass *cls             = DEBUG_ConvertJavaToC (jlong, CIMClass*, jCls);   CIMClass *clsToBeCompared = DEBUG_ConvertJavaToC (jlong, CIMClass*, jClsToBeCompared);   bool      fRc             = false;   if (  cls      && clsToBeCompared      )   {      try      {         fRc = cls->identical (*clsToBeCompared);      }      Catch (jEnv);   }   return fRc;}JNIEXPORT void JNICALL Java_org_pegasus_jmpi_CIMClass__1finalize     (JNIEnv *jEnv, jobject jThs, jlong jCls){   CIMClass *cls = DEBUG_ConvertJavaToC (jlong, CIMClass*, jCls);   delete cls;   DEBUG_ConvertCleanup (jlong, jCls);}// -------------------------------------// ---// -		CIMClient// ---// -------------------------------------void checkNs (CIMObjectPath *cop, jlong jNs){   if (cop->getNameSpace ().isNull ())   {      _nameSpace *cNs = DEBUG_ConvertJavaToC (jlong, _nameSpace*, jNs);      cop->setNameSpace (CIMNamespaceName (cNs->nameSpace ()));   }}static int normalizeNs (String &ns, String &nsBase, String &lastNsComp){   Uint32 n = ns.size ();   if (ns[n-1] == '/')   {      if (n >= 2)         ns = ns.subString (0, n-2);   }   lastNsComp = ns;   nsBase     = "root";   n = ns.reverseFind ('/');   if (n != PEG_NOT_FOUND)   {      lastNsComp = ns.subString (n+1);      nsBase     = ns.subString (0, n);   }   return 0;}JNIEXPORT jlong JNICALL Java_org_pegasus_jmpi_CIMClient__1newNaUnPw  (JNIEnv *jEnv, jobject jThs, jlong jNs, jstring jUn, jstring jPw){   _nameSpace *cNs = DEBUG_ConvertJavaToC (jlong, _nameSpace*, jNs);   const char *un  = jEnv->GetStringUTFChars (jUn, NULL);   const char *pw  = jEnv->GetStringUTFChars (jPw, NULL);   jlong       jCc = 0;   try {      CIMClient *cc = new CIMClient ();      cc->connect (cNs->hostName (), cNs->port (), un, pw);      jCc = DEBUG_ConvertCToJava (CIMClient*, jlong, cc);   }   Catch (jEnv);   jEnv->ReleaseStringUTFChars (jUn, un);   jEnv->ReleaseStringUTFChars (jPw, pw);   return jCc;}JNIEXPORT void JNICALL Java_org_pegasus_jmpi_CIMClient__1disconnect  (JNIEnv *jEnv, jobject jThs, jlong jCc){   CIMClient *cCc = DEBUG_ConvertJavaToC (jlong, CIMClient*, jCc);   try {      cCc->disconnect ();   }   Catch (jEnv);}JNIEXPORT jlong JNICALL Java_org_pegasus_jmpi_CIMClient__1getClass  (JNIEnv *jEnv, jobject jThs, jlong jCc, jlong jNs, jlong jCop, jboolean lo,         jboolean iq, jboolean ic, jobjectArray jPl){   CIMClient       *cCc = DEBUG_ConvertJavaToC (jlong, CIMClient*, jCc);   CIMObjectPath   *cop = DEBUG_ConvertJavaToC (jlong, CIMObjectPath*, jCop);   CIMPropertyList  pl = getList (jEnv, jPl);   if (  cCc      && cop      )   {      try {         checkNs (cop, jNs);         CIMClass      cls    = cCc->getClass (cop->getNameSpace (),                                               cop->getClassName (),                                               (Boolean)lo,                                               (Boolean)iq,                                               (Boolean)ic,                                               pl);         CIMObjectPath copNew = cls.getPath ();         copNew.setNameSpace (cop->getNameSpace ());         cls.setPath (copNew);         return DEBUG_ConvertCToJava (CIMClass*, jlong, new CIMClass (cls));      }      Catch (jEnv);   }   return 0;}JNIEXPORT void JNICALL Java_org_pegasus_jmpi_CIMClient__1deleteClass  (JNIEnv *jEnv, jobject jThs, jlong jCc, jlong jNs, jlong jCop){   CIMClient     *cCc = DEBUG_ConvertJavaToC (jlong, CIMClient*, jCc);   CIMObjectPath *cop = DEBUG_ConvertJavaToC (jlong, CIMObjectPath*, jCop);   try {      checkNs (cop, jNs);      cCc->deleteClass (cop->getNameSpace (),                        cop->getClassName ());   }   Catch (jEnv);}JNIEXPORT void JNICALL Java_org_pegasus_jmpi_CIMClient__1createClass  (JNIEnv *jEnv, jobject jThs, jlong jCc, jlong jNs, jlong jCop, jlong jCl){   CIMClient     *cCc = DEBUG_ConvertJavaToC (jlong, CIMClient*, jCc);   CIMObjectPath *cop = DEBUG_ConvertJavaToC (jlong, CIMObjectPath*, jCop);   CIMClass      *cl  = DEBUG_ConvertJavaToC (jlong, CIMClass*, jCl);   try {      cCc->createClass (cop->getNameSpace (), *cl);   }   Catch (jEnv);}JNIEXPORT void JNICALL Java_org_pegasus_jmpi_CIMClient__1setClass  (JNIEnv *jEnv, jobject jThs, jlong jCc, jlong jNs, jlong jCop, jlong jCl){   CIMClient     *cCc = DEBUG_ConvertJavaToC (jlong, CIMClient*, jCc);   CIMObjectPath *cop = DEBUG_ConvertJavaToC (jlong, CIMObjectPath*, jCop);   CIMClass      *cl  = DEBUG_ConvertJavaToC (jlong, CIMClass*, jCl);   try {     checkNs (cop, jNs);     cCc->modifyClass (cop->getNameSpace (), *cl);   }   Catch (jEnv);}JNIEXPORT jlong JNICALL Java_org_pegasus_jmpi_CIMClient__1getInstance  (JNIEnv *jEnv, jobject jThs, jlong jCc, jlong jNs, jlong jCop, jboolean lo,         jboolean iq, jboolean ic, jobjectArray jPl){   CIMClient        *cCc = DEBUG_ConvertJavaToC (jlong, CIMClient*, jCc);   CIMObjectPath    *cop = DEBUG_ConvertJavaToC (jlong, CIMObjectPath*, jCop);   CIMPropertyList   pl  = getList (jEnv, jPl);   try {      checkNs (cop, jNs);      CIMInstance inst = cCc->getInstance (cop->getNameSpace (),                                           *cop,                                           (Boolean)lo,                                           (Boolean)iq,                                           (Boolean)ic,                                           pl);      inst.setPath (*cop);      return DEBUG_ConvertCToJava (CIMInstance*, jlong, new CIMInstance (inst));   }   Catch (jEnv);   return 0;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -