(file) Return to InteropProvider.cpp CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / ControlProviders / InteropProvider

Diff for /pegasus/src/Pegasus/ControlProviders/InteropProvider/InteropProvider.cpp between version 1.66.4.1 and 1.70

version 1.66.4.1, 2007/04/04 11:04:46 version 1.70, 2008/01/13 19:28:25
Line 28 
Line 28 
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 // //
 //============================================================================== //==============================================================================
   //
   //%/////////////////////////////////////////////////////////////////////////////
  
 /////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
 //  Interop Provider - This provider services those classes from the //  Interop Provider - This provider services those classes from the
Line 123 
Line 125 
         opClass != PEGASUS_CLASSNAME_PG_ELEMENTCONFORMSTOPROFILE)         opClass != PEGASUS_CLASSNAME_PG_ELEMENTCONFORMSTOPROFILE)
     {     {
         AutoMutex mut(interopMut);         AutoMutex mut(interopMut);
         return cimomHandle.getInstance(context, opNamespace,          CIMInstance gotInstance = cimomHandle.getInstance(
             instanceName, false, false, false, propertyList);                                           context,
                                            opNamespace,
                                            instanceName,
                                            false,
                                            false,
                                            false,
                                            propertyList);
           PEG_METHOD_EXIT();
           return gotInstance;
     }     }
  
     // Create reference from host, namespace, class components of     // Create reference from host, namespace, class components of
Line 349 
Line 359 
             }             }
  
             if(!found)             if(!found)
               {
                   PEG_METHOD_EXIT();
                 return false;                 return false;
         }         }
     }     }
       }
     else     else
     {     {
         // Otherwise, just get the enum value representing the origin class         // Otherwise, just get the enum value representing the origin class
Line 737 
Line 750 
         //         //
         Array<CIMNamespaceName> namespaceNames =         Array<CIMNamespaceName> namespaceNames =
             repository->enumerateNameSpaces();             repository->enumerateNameSpaces();
           // get the PG_ElementConformstoProfile class without the qualifiers
           // and then add just the required ASSOCIATION qualifier, so that
           // resolveclass doesn't fail for the test/EmbeddedInstance/Dynamic
           // namespace, which uses the CIM25 schema that doesn't include any
           // of the new qualifiers added to this class in later versions of
           // the CIMSchema.
         CIMClass conformsClass = repository->getClass(         CIMClass conformsClass = repository->getClass(
             PEGASUS_NAMESPACENAME_INTEROP,             PEGASUS_NAMESPACENAME_INTEROP,
             PEGASUS_CLASSNAME_PG_ELEMENTCONFORMSTOPROFILE);              PEGASUS_CLASSNAME_PG_ELEMENTCONFORMSTOPROFILE, true, false);
           conformsClass.addQualifier(CIMQualifier(CIMName("ASSOCIATION"),
                                 CIMValue(true)));
         CIMClass profileClass = repository->getClass(         CIMClass profileClass = repository->getClass(
             PEGASUS_NAMESPACENAME_INTEROP,             PEGASUS_NAMESPACENAME_INTEROP,
             PEGASUS_CLASSNAME_PG_REGISTEREDPROFILE);              PEGASUS_CLASSNAME_PG_REGISTEREDPROFILE, true, false);
         for(Uint32 i = 0, n = namespaceNames.size(); i < n; ++i)         for(Uint32 i = 0, n = namespaceNames.size(); i < n; ++i)
         {         {
             // Check if the PG_ElementConformsToProfile class is present             // Check if the PG_ElementConformsToProfile class is present
             CIMNamespaceName & currentNamespace = namespaceNames[i];             CIMNamespaceName & currentNamespace = namespaceNames[i];
   
             CIMClass tmpCimClass;             CIMClass tmpCimClass;
             CIMClass tmpPgClass;             CIMClass tmpPgClass;
             CIMClass tmpPgProfileClass;             CIMClass tmpPgProfileClass;
Line 788 
Line 808 
             {             {
                 if(tmpPgClass.isUninitialized())                 if(tmpPgClass.isUninitialized())
                 {                 {
                       CIMClass newclass = conformsClass.clone();
                     CIMObjectPath newPath = conformsClass.getPath();                     CIMObjectPath newPath = conformsClass.getPath();
                     newPath.setNameSpace(currentNamespace);                     newPath.setNameSpace(currentNamespace);
                     conformsClass.setPath(newPath);                      newclass.setPath(newPath);
                     repository->createClass(currentNamespace,                     repository->createClass(currentNamespace,
                         conformsClass);                          newclass);
                 }                 }
                 if(tmpPgProfileClass.isUninitialized())                 if(tmpPgProfileClass.isUninitialized())
                 {                 {
                     CIMObjectPath newPath = conformsClass.getPath();                      CIMClass newclass = profileClass.clone();
                       CIMObjectPath newPath = profileClass.getPath();
                     newPath.setNameSpace(currentNamespace);                     newPath.setNameSpace(currentNamespace);
                     conformsClass.setPath(newPath);                      newclass.setPath(newPath);
                     repository->createClass(currentNamespace,                     repository->createClass(currentNamespace,
                         profileClass);                          newclass);
                 }                 }
             }             }
         }         }
Line 815 
Line 837 
 } }
  
 PEGASUS_NAMESPACE_END PEGASUS_NAMESPACE_END
   
 // END OF FILE // END OF FILE


Legend:
Removed from v.1.66.4.1  
changed lines
  Added in v.1.70

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2