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

Diff for /pegasus/src/Pegasus/Common/SCMOXmlWriter.h between version 1.1.2.7 and 1.1.2.9

version 1.1.2.7, 2009/09/29 08:29:32 version 1.1.2.9, 2009/10/14 10:12:39
Line 73 
Line 73 
         const SCMBValue & value,         const SCMBValue & value,
         const char * base);         const char * base);
  
       static void appendValueReferenceElement(
           Buffer& out,
           const SCMOInstance& ref,
           Boolean putValueWrapper);
   
       static void appendLocalInstancePathElement(
           Buffer& out,
           const SCMOInstance& instancePath);
   
       static void appendInstancePathElement(
           Buffer& out,
           const SCMOInstance& instancePath);
   
       static void appendLocalClassPathElement(
           Buffer& out,
           const SCMOInstance& classPath);
   
       static void appendClassPathElement(
           Buffer& out,
           const SCMOInstance& classPath);
   
     static void appendSCMBUnion(     static void appendSCMBUnion(
         Buffer& out,         Buffer& out,
         const SCMBUnion & u,         const SCMBUnion & u,
Line 87 
Line 108 
         const char * base);         const char * base);
  
 private: private:
   
     SCMOXmlWriter();     SCMOXmlWriter();
   
   //------------------------------------------------------------------------------
   //
   // appendLocalNameSpacePathElement()
   //
   //     <!ELEMENT LOCALNAMESPACEPATH (NAMESPACE+)>
   //
   //------------------------------------------------------------------------------
       static void appendLocalNameSpacePathElement(
           Buffer& out,
           const char * nameSpace,
           Uint64 nameSpaceLength)
       {
           // add one byte for the closing \0
           nameSpaceLength++;
           out << STRLIT("<LOCALNAMESPACEPATH>\n");
   
           char fixed[64];
           char* nameSpaceCopy;
           if (nameSpaceLength > 64)
           {
               nameSpaceCopy=(char*)malloc(nameSpaceLength);
           }
           else
           {
               nameSpaceCopy = &(fixed[0]);
           }
           memcpy(nameSpaceCopy, nameSpace, nameSpaceLength);
   
   #if !defined(PEGASUS_COMPILER_MSVC) && !defined(PEGASUS_OS_ZOS)
           char *last;
           for (const char* p = strtok_r(nameSpaceCopy, "/", &last); p;
               p = strtok_r(NULL, "/", &last))
   #else
           for (const char* p = strtok(nameSpaceCopy, "/"); p;
               p = strtok(NULL, "/"))
   #endif
           {
               out << STRLIT("<NAMESPACE NAME=\"") << p << STRLIT("\"/>\n");
           }
           if (nameSpaceLength > 64)
           {
               free(nameSpaceCopy);
           }
           out << STRLIT("</LOCALNAMESPACEPATH>\n");
       }
   
   //------------------------------------------------------------------------------
   //
   // appendNameSpacePathElement()
   //
   //     <!ELEMENT NAMESPACEPATH (HOST,LOCALNAMESPACEPATH)>
   //
   //------------------------------------------------------------------------------
   
       static void appendNameSpacePathElement(
           Buffer& out,
           const char* host,
           Uint64 hostLength,
           const char * nameSpace,
           Uint64 nameSpaceLength)
       {
           out << STRLIT("<NAMESPACEPATH>\n""<HOST>");
           out.append(host, hostLength);
           out << STRLIT("</HOST>\n");
           appendLocalNameSpacePathElement(out, nameSpace, nameSpaceLength);
           out << STRLIT("</NAMESPACEPATH>\n");
       }
   
   //------------------------------------------------------------------------------
   // appendClassNameElement()
   //     <!ELEMENT CLASSNAME EMPTY>
   //     <!ATTLIST CLASSNAME
   //              %CIMName;>
   //------------------------------------------------------------------------------
       static void appendClassNameElement(
           Buffer& out,
           const char* className,
           Uint64 classNameLength)
       {
           out << STRLIT("<CLASSNAME NAME=\"");
           out.append(className, classNameLength);
           out << STRLIT("\"/>\n");
       }
 }; };
  
 PEGASUS_NAMESPACE_END PEGASUS_NAMESPACE_END


Legend:
Removed from v.1.1.2.7  
changed lines
  Added in v.1.1.2.9

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2