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

Diff for /pegasus/src/Pegasus/Common/SCMOXmlWriter.cpp between version 1.4.2.2 and 1.9

version 1.4.2.2, 2011/10/11 18:18:09 version 1.9, 2014/08/27 23:10:08
Line 27 
Line 27 
 // //
 ////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
 // //
   // This code implements part of PEP#348 - The CMPI infrastructure using SCMO
   // (Single Chunk Memory Objects).
   // The design document can be found on the OpenPegasus website openpegasus.org
   // at https://collaboration.opengroup.org/pegasus/pp/documents/21210/PEP_348.pdf
   //
 //%///////////////////////////////////////////////////////////////////////////// //%/////////////////////////////////////////////////////////////////////////////
  
 #include <Pegasus/Common/Config.h> #include <Pegasus/Common/Config.h>
Line 127 
Line 132 
     }     }
 } }
  
   // EXP_PULL_BEGIN
 void SCMOXmlWriter::appendValueSCMOInstanceWithPathElements( void SCMOXmlWriter::appendValueSCMOInstanceWithPathElements(
      Buffer& out,      Buffer& out,
      const Array<SCMOInstance> & _scmoInstances,      const Array<SCMOInstance> & _scmoInstances,
Line 137 
Line 143 
         Array<Uint32> emptyNodes;         Array<Uint32> emptyNodes;
         for (Uint32 i = 0, n = _scmoInstances.size(); i < n; i++)         for (Uint32 i = 0, n = _scmoInstances.size(); i < n; i++)
         {         {
             SCMOXmlWriter::appendValueSCMOInstanceWithPathElement(              SCMOXmlWriter::appendValueInstanceWithPathElement(
                 out,                 out,
                 _scmoInstances[i],                 _scmoInstances[i],
                 false,                 false,
Line 158 
Line 164 
                     _scmoInstances[i],                     _scmoInstances[i],
                     propertyList);                     propertyList);
  
             SCMOXmlWriter::appendValueSCMOInstanceWithPathElement(              SCMOXmlWriter::appendValueInstanceWithPathElement(
                 out,                 out,
                 _scmoInstances[i],                 _scmoInstances[i],
                 true,                 true,
Line 166 
Line 172 
         }         }
     }     }
 } }
   //EXP_PULL_END
  
 // KS_TODO - Show the XML statement for this function  
 void SCMOXmlWriter::appendValueSCMOInstanceElement( void SCMOXmlWriter::appendValueSCMOInstanceElement(
     Buffer& out,     Buffer& out,
     const SCMOInstance& scmoInstance,     const SCMOInstance& scmoInstance,
     bool filtered,     bool filtered,
     const Array<Uint32> & nodes)     const Array<Uint32> & nodes)
   
 { {
     out << STRLIT("<VALUE.NAMEDINSTANCE>\n");     out << STRLIT("<VALUE.NAMEDINSTANCE>\n");
  
Line 182 
Line 189 
     out << STRLIT("</VALUE.NAMEDINSTANCE>\n");     out << STRLIT("</VALUE.NAMEDINSTANCE>\n");
 } }
  
 //------------------------------------------------------------------------------  
 //  
 // appendValueInstanceWithPathElement() -- Pull Operation support  
 //  
 //     <!ELEMENT VALUE.INSTANCEWITHPATH (INSTANCEPATH,INSTANCE)>  
 //  
 //------------------------------------------------------------------------------  
   
 // KS_TODO - Double check to be sure this not duplication  
 void SCMOXmlWriter::appendValueSCMOInstanceWithPathElement(  
     Buffer& out,  
     const SCMOInstance& scmoInstance,  
     bool filtered,  
     const Array<Uint32> & nodes)  
 {  
     out << STRLIT("<VALUE.INSTANCEWITHPATH>\n");  
   
     appendInstancePathElement(out,scmoInstance);  
     appendInstanceElement(out, scmoInstance, filtered, nodes);  
   
     out << STRLIT("</VALUE.INSTANCEWITHPATH>\n");  
 }  
   
 void SCMOXmlWriter::appendInstanceNameElement( void SCMOXmlWriter::appendInstanceNameElement(
     Buffer& out,     Buffer& out,
     const SCMOInstance& scmoInstance)     const SCMOInstance& scmoInstance)
Line 239 
Line 223 
             if (SCMO_OK == smrc)             if (SCMO_OK == smrc)
             {             {
                 SCMOInstance * ref = kbValue->extRefPtr;                 SCMOInstance * ref = kbValue->extRefPtr;
                 appendValueReferenceElement(out, *ref, true);                  appendValueReferenceElement(out, *ref);
             }             }
         }         }
         else         else
Line 688 
Line 672 
         SCMOInstance * ref = value.value.extRefPtr;         SCMOInstance * ref = value.value.extRefPtr;
         if (ref)         if (ref)
         {         {
             appendValueReferenceElement(out, *ref, true);              appendValueReferenceElement(out, *ref);
         }         }
     }     }
     else     else
Line 713 
Line 697 
 //------------------------------------------------------------------------------ //------------------------------------------------------------------------------
 void SCMOXmlWriter::appendValueReferenceElement( void SCMOXmlWriter::appendValueReferenceElement(
     Buffer& out,     Buffer& out,
     const SCMOInstance& ref,      const SCMOInstance& ref)
     Boolean putValueWrapper)  
 {  
     if (putValueWrapper)  
     {     {
         out << STRLIT("<VALUE.REFERENCE>\n");         out << STRLIT("<VALUE.REFERENCE>\n");
   
       appendClassOrInstancePathElement(out, ref);
   
       out << STRLIT("</VALUE.REFERENCE>\n");
     }     }
  
   // Append either a class or instance Path Element
   void SCMOXmlWriter::appendClassOrInstancePathElement(
       Buffer& out,
       const SCMOInstance& ref)
   {
     // See if it is a class or instance reference (instance references have     // See if it is a class or instance reference (instance references have
     // key-bindings; class references do not).     // key-bindings; class references do not).
  
Line 759 
Line 749 
             appendInstanceNameElement(out, ref);             appendInstanceNameElement(out, ref);
         }         }
     }     }
     if (putValueWrapper)  
     {  
         out << STRLIT("</VALUE.REFERENCE>\n");  
     }  
 } }
  
 // appendLocalInstancePathElement() // appendLocalInstancePathElement()
Line 796 
Line 782 
     appendInstanceNameElement(out, instancePath);     appendInstanceNameElement(out, instancePath);
     out << STRLIT("</INSTANCEPATH>\n");     out << STRLIT("</INSTANCEPATH>\n");
 } }
   
 void SCMOXmlWriter::appendValueObjectWithPathElement( void SCMOXmlWriter::appendValueObjectWithPathElement(
     Buffer& out,     Buffer& out,
     const Array<SCMOInstance> & objectWithPath,     const Array<SCMOInstance> & objectWithPath,
Line 835 
Line 822 
     }     }
 } }
  
   //EXP_PULL_BEGIN
 //------------------------------------------------------------------------------ //------------------------------------------------------------------------------
 // //
 // appendValueInstanceWithPathElement() // appendValueInstanceWithPathElement()
Line 857 
Line 845 
  
     out << STRLIT("</VALUE.INSTANCEWITHPATH>\n");     out << STRLIT("</VALUE.INSTANCEWITHPATH>\n");
 } }
   //EXP_PULL_END
  
 // appendValueObjectWithPathElement() // appendValueObjectWithPathElement()
 //     <!ELEMENT VALUE.OBJECTWITHPATH //     <!ELEMENT VALUE.OBJECTWITHPATH
Line 869 
Line 858 
 { {
     out << STRLIT("<VALUE.OBJECTWITHPATH>\n");     out << STRLIT("<VALUE.OBJECTWITHPATH>\n");
  
     appendValueReferenceElement(out, objectWithPath, false);      appendClassOrInstancePathElement(out, objectWithPath);
     appendObjectElement(out, objectWithPath,filtered,nodes);     appendObjectElement(out, objectWithPath,filtered,nodes);
  
     out << STRLIT("</VALUE.OBJECTWITHPATH>\n");     out << STRLIT("</VALUE.OBJECTWITHPATH>\n");
Line 1381 
Line 1370 
                 SCMOInstance * ref = arr->extRefPtr;                 SCMOInstance * ref = arr->extRefPtr;
                 if (ref)                 if (ref)
                 {                 {
                     appendValueReferenceElement(out, *ref, true);                      appendValueReferenceElement(out, *ref);
                 }                 }
                 arr++;                 arr++;
             }             }


Legend:
Removed from v.1.4.2.2  
changed lines
  Added in v.1.9

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2