version 1.59, 2002/05/15 23:14:21
|
version 1.67, 2002/07/30 16:14:53
|
|
|
//%///////////////////////////////////////////////////////////////////////////// | //%///////////////////////////////////////////////////////////////////////////// |
// | // |
// Copyright (c) 2000, 2001 BMC Software, Hewlett-Packard Company, IBM, |
// Copyright (c) 2000, 2001, 2002 BMC Software, Hewlett-Packard Company, IBM, |
// The Open Group, Tivoli Systems | // The Open Group, Tivoli Systems |
// | // |
// Permission is hereby granted, free of charge, to any person obtaining a copy | // Permission is hereby granted, free of charge, to any person obtaining a copy |
|
|
// Modified By: Nitin Upasani, Hewlett-Packard Company (Nitin_Upasani@hp.com) | // Modified By: Nitin Upasani, Hewlett-Packard Company (Nitin_Upasani@hp.com) |
// Nag Boranna, Hewlett-Packard Company (nagaraja_boranna@hp.com) | // Nag Boranna, Hewlett-Packard Company (nagaraja_boranna@hp.com) |
// Roger Kumpf, Hewlett-Packard Company (roger_kumpf@hp.com) | // Roger Kumpf, Hewlett-Packard Company (roger_kumpf@hp.com) |
|
// Carol Ann Krug Graves, Hewlett-Packard Company |
|
// (carolann_graves@hp.com) |
// | // |
//%///////////////////////////////////////////////////////////////////////////// | //%///////////////////////////////////////////////////////////////////////////// |
| |
|
|
| |
void XmlWriter::append(Array<Sint8>& out, const String& str) | void XmlWriter::append(Array<Sint8>& out, const String& str) |
{ | { |
const Char16* tmp = str.getData(); |
for (Uint32 i = 0; i < str.size(); i++) |
|
{ |
while (*tmp) |
_appendChar(out, str[i]); |
_appendChar(out, *tmp++); |
} |
} | } |
| |
void XmlWriter::append(Array<Sint8>& out, const Indentor& x) | void XmlWriter::append(Array<Sint8>& out, const Indentor& x) |
|
|
| |
void XmlWriter::appendSpecial(Array<Sint8>& out, const String& str) | void XmlWriter::appendSpecial(Array<Sint8>& out, const String& str) |
{ | { |
const Char16* tmp = str.getData(); |
for (Uint32 i = 0; i < str.size(); i++) |
|
{ |
while (*tmp) |
_appendSpecialChar(out, str[i]); |
_appendSpecialChar(out, *tmp++); |
} |
} | } |
| |
//------------------------------------------------------------------------------ | //------------------------------------------------------------------------------ |
|
|
{ | { |
switch (value.getType()) | switch (value.getType()) |
{ | { |
case CIMType::BOOLEAN: |
case CIMTYPE_BOOLEAN: |
{ | { |
Array<Boolean> a; | Array<Boolean> a; |
value.get(a); | value.get(a); |
|
|
break; | break; |
} | } |
| |
case CIMType::UINT8: |
case CIMTYPE_UINT8: |
{ | { |
Array<Uint8> a; | Array<Uint8> a; |
value.get(a); | value.get(a); |
|
|
break; | break; |
} | } |
| |
case CIMType::SINT8: |
case CIMTYPE_SINT8: |
{ | { |
Array<Sint8> a; | Array<Sint8> a; |
value.get(a); | value.get(a); |
|
|
break; | break; |
} | } |
| |
case CIMType::UINT16: |
case CIMTYPE_UINT16: |
{ | { |
Array<Uint16> a; | Array<Uint16> a; |
value.get(a); | value.get(a); |
|
|
break; | break; |
} | } |
| |
case CIMType::SINT16: |
case CIMTYPE_SINT16: |
{ | { |
Array<Sint16> a; | Array<Sint16> a; |
value.get(a); | value.get(a); |
|
|
break; | break; |
} | } |
| |
case CIMType::UINT32: |
case CIMTYPE_UINT32: |
{ | { |
Array<Uint32> a; | Array<Uint32> a; |
value.get(a); | value.get(a); |
|
|
break; | break; |
} | } |
| |
case CIMType::SINT32: |
case CIMTYPE_SINT32: |
{ | { |
Array<Sint32> a; | Array<Sint32> a; |
value.get(a); | value.get(a); |
|
|
break; | break; |
} | } |
| |
case CIMType::UINT64: |
case CIMTYPE_UINT64: |
{ | { |
Array<Uint64> a; | Array<Uint64> a; |
value.get(a); | value.get(a); |
|
|
break; | break; |
} | } |
| |
case CIMType::SINT64: |
case CIMTYPE_SINT64: |
{ | { |
Array<Sint64> a; | Array<Sint64> a; |
value.get(a); | value.get(a); |
|
|
break; | break; |
} | } |
| |
case CIMType::REAL32: |
case CIMTYPE_REAL32: |
{ | { |
Array<Real32> a; | Array<Real32> a; |
value.get(a); | value.get(a); |
|
|
break; | break; |
} | } |
| |
case CIMType::REAL64: |
case CIMTYPE_REAL64: |
{ | { |
Array<Real64> a; | Array<Real64> a; |
value.get(a); | value.get(a); |
|
|
break; | break; |
} | } |
| |
case CIMType::CHAR16: |
case CIMTYPE_CHAR16: |
{ | { |
Array<Char16> a; | Array<Char16> a; |
value.get(a); | value.get(a); |
|
|
break; | break; |
} | } |
| |
case CIMType::STRING: |
case CIMTYPE_STRING: |
{ | { |
Array<String> a; | Array<String> a; |
value.get(a); | value.get(a); |
|
|
break; | break; |
} | } |
| |
case CIMType::DATETIME: |
case CIMTYPE_DATETIME: |
{ | { |
Array<CIMDateTime> a; | Array<CIMDateTime> a; |
value.get(a); | value.get(a); |
|
|
break; | break; |
} | } |
| |
case CIMType::REFERENCE: |
case CIMTYPE_REFERENCE: |
{ | { |
Array<CIMObjectPath> a; | Array<CIMObjectPath> a; |
value.get(a); | value.get(a); |
|
|
throw CIMValueInvalidType(); | throw CIMValueInvalidType(); |
} | } |
} | } |
else if (value.getType() == CIMType::REFERENCE) |
else if (value.getType() == CIMTYPE_REFERENCE) |
{ | { |
// Has to be separate because it uses VALUE.REFERENCE tag | // Has to be separate because it uses VALUE.REFERENCE tag |
CIMObjectPath v; | CIMObjectPath v; |
|
|
| |
switch (value.getType()) | switch (value.getType()) |
{ | { |
case CIMType::BOOLEAN: |
case CIMTYPE_BOOLEAN: |
{ | { |
Boolean v; | Boolean v; |
value.get(v); | value.get(v); |
|
|
break; | break; |
} | } |
| |
case CIMType::UINT8: |
case CIMTYPE_UINT8: |
{ | { |
Uint8 v; | Uint8 v; |
value.get(v); | value.get(v); |
|
|
break; | break; |
} | } |
| |
case CIMType::SINT8: |
case CIMTYPE_SINT8: |
{ | { |
Sint8 v; | Sint8 v; |
value.get(v); | value.get(v); |
|
|
break; | break; |
} | } |
| |
case CIMType::UINT16: |
case CIMTYPE_UINT16: |
{ | { |
Uint16 v; | Uint16 v; |
value.get(v); | value.get(v); |
|
|
break; | break; |
} | } |
| |
case CIMType::SINT16: |
case CIMTYPE_SINT16: |
{ | { |
Sint16 v; | Sint16 v; |
value.get(v); | value.get(v); |
|
|
break; | break; |
} | } |
| |
case CIMType::UINT32: |
case CIMTYPE_UINT32: |
{ | { |
Uint32 v; | Uint32 v; |
value.get(v); | value.get(v); |
|
|
break; | break; |
} | } |
| |
case CIMType::SINT32: |
case CIMTYPE_SINT32: |
{ | { |
Sint32 v; | Sint32 v; |
value.get(v); | value.get(v); |
|
|
break; | break; |
} | } |
| |
case CIMType::UINT64: |
case CIMTYPE_UINT64: |
{ | { |
Uint64 v; | Uint64 v; |
value.get(v); | value.get(v); |
|
|
break; | break; |
} | } |
| |
case CIMType::SINT64: |
case CIMTYPE_SINT64: |
{ | { |
Sint64 v; | Sint64 v; |
value.get(v); | value.get(v); |
|
|
break; | break; |
} | } |
| |
case CIMType::REAL32: |
case CIMTYPE_REAL32: |
{ | { |
Real32 v; | Real32 v; |
value.get(v); | value.get(v); |
|
|
break; | break; |
} | } |
| |
case CIMType::REAL64: |
case CIMTYPE_REAL64: |
{ | { |
Real64 v; | Real64 v; |
value.get(v); | value.get(v); |
|
|
break; | break; |
} | } |
| |
case CIMType::CHAR16: |
case CIMTYPE_CHAR16: |
{ | { |
Char16 v; | Char16 v; |
value.get(v); | value.get(v); |
|
|
break; | break; |
} | } |
| |
case CIMType::STRING: |
case CIMTYPE_STRING: |
{ | { |
String v; | String v; |
value.get(v); | value.get(v); |
|
|
break; | break; |
} | } |
| |
case CIMType::DATETIME: |
case CIMTYPE_DATETIME: |
{ | { |
CIMDateTime v; | CIMDateTime v; |
value.get(v); | value.get(v); |
|
|
| |
void XmlWriter::appendValueObjectWithPathElement( | void XmlWriter::appendValueObjectWithPathElement( |
Array<Sint8>& out, | Array<Sint8>& out, |
const CIMObjectWithPath& objectWithPath) |
const CIMObject& objectWithPath) |
{ | { |
out << "<VALUE.OBJECTWITHPATH>\n"; | out << "<VALUE.OBJECTWITHPATH>\n"; |
| |
appendValueReferenceElement(out, objectWithPath.getReference(), false); |
appendValueReferenceElement(out, objectWithPath.getPath (), false); |
appendObjectElement(out, objectWithPath.getObject()); |
appendObjectElement(out, objectWithPath); |
| |
out << "</VALUE.OBJECTWITHPATH>\n"; | out << "</VALUE.OBJECTWITHPATH>\n"; |
} | } |
|
|
// 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). |
| |
KeyBindingArray kbs = reference.getKeyBindingArray(); |
//KeyBindingArray kbs = reference.getKeyBindingArray(); |
|
KeyBindingArray kbs = reference.getKeyBindings(); |
|
|
if (kbs.size()) | if (kbs.size()) |
{ | { |
if (reference.getHost().size()) | if (reference.getHost().size()) |
{ | { |
appendInstancePathElement(out, reference); | appendInstancePathElement(out, reference); |
} | } |
else if (reference.getNameSpace().size()) |
else if (!reference.getNameSpace().isNull()) |
{ | { |
appendLocalInstancePathElement(out, reference); | appendLocalInstancePathElement(out, reference); |
} | } |
|
|
{ | { |
appendClassPathElement(out, reference); | appendClassPathElement(out, reference); |
} | } |
else if (reference.getNameSpace().size()) |
else if (!reference.getNameSpace().isNull()) |
{ | { |
appendLocalClassPathElement(out, reference); | appendLocalClassPathElement(out, reference); |
} | } |
|
|
| |
void XmlWriter::appendValueNamedInstanceElement( | void XmlWriter::appendValueNamedInstanceElement( |
Array<Sint8>& out, | Array<Sint8>& out, |
const CIMNamedInstance& namedInstance) |
const CIMInstance& namedInstance) |
{ | { |
out << "<VALUE.NAMEDINSTANCE>\n"; | out << "<VALUE.NAMEDINSTANCE>\n"; |
| |
appendInstanceNameElement(out, namedInstance.getInstanceName()); |
appendInstanceNameElement(out, namedInstance.getPath ()); |
appendInstanceElement(out, namedInstance.getInstance()); |
appendInstanceElement(out, namedInstance); |
| |
out << "</VALUE.NAMEDINSTANCE>\n"; | out << "</VALUE.NAMEDINSTANCE>\n"; |
} | } |
|
|
out << "<RETURNVALUE"; | out << "<RETURNVALUE"; |
| |
CIMType type = value.getType(); | CIMType type = value.getType(); |
if (type != CIMType::NONE) |
if (type != CIMTYPE_NONE) |
{ | { |
out << " PARAMTYPE=\"" << type.toString() << "\""; |
out << " PARAMTYPE=\"" << cimTypeToString (type) << "\""; |
} | } |
| |
out << ">\n"; | out << ">\n"; |
|
|
void XmlWriter::appendNamedInstanceIParameter( | void XmlWriter::appendNamedInstanceIParameter( |
Array<Sint8>& out, | Array<Sint8>& out, |
const char* name, | const char* name, |
const CIMNamedInstance& namedInstance) |
const CIMInstance& namedInstance) |
{ | { |
_appendIParamValueElementBegin(out, name); | _appendIParamValueElementBegin(out, name); |
appendValueNamedInstanceElement(out, namedInstance); | appendValueNamedInstanceElement(out, namedInstance); |
|
|
_appendIParamValueElementBegin(out, "PropertyList"); | _appendIParamValueElementBegin(out, "PropertyList"); |
| |
out << "<VALUE.ARRAY>\n"; | out << "<VALUE.ARRAY>\n"; |
for (Uint32 i = 0; i < propertyList.getNumProperties(); i++) |
for (Uint32 i = 0; i < propertyList.size(); i++) |
{ | { |
out << "<VALUE>" << propertyList.getPropertyName(i) << "</VALUE>\n"; |
out << "<VALUE>" << propertyList[i] << "</VALUE>\n"; |
} | } |
out << "</VALUE.ARRAY>\n"; | out << "</VALUE.ARRAY>\n"; |
| |