version 1.3, 2001/01/31 08:20:51
|
version 1.8, 2001/03/05 04:29:02
|
|
|
// Author: | // Author: |
// | // |
// $Log$ | // $Log$ |
|
// Revision 1.8 2001/03/05 04:29:02 mike |
|
// renamed CimException to CIMException |
|
// |
|
// Revision 1.7 2001/02/20 07:25:57 mike |
|
// Added basic create-instance in repository and in client. |
|
// |
|
// Revision 1.6 2001/02/19 01:47:17 mike |
|
// Renamed names of the form CIMConst to ConstCIM. |
|
// |
|
// Revision 1.5 2001/02/18 03:56:01 mike |
|
// Changed more class names (e.g., ConstClassDecl -> ConstCIMClass) |
|
// |
|
// Revision 1.4 2001/02/16 02:06:07 mike |
|
// Renamed many classes and headers. |
|
// |
// Revision 1.3 2001/01/31 08:20:51 mike | // Revision 1.3 2001/01/31 08:20:51 mike |
// Added dispatcher framework. | // Added dispatcher framework. |
// Added enumerateInstanceNames. | // Added enumerateInstanceNames. |
|
|
| |
#include <cstdlib> | #include <cstdlib> |
#include <cstdio> | #include <cstdio> |
#include "ClassDecl.h" |
#include "CIMClass.h" |
#include "QualifierDecl.h" |
#include "CIMInstance.h" |
|
#include "CIMQualifierDecl.h" |
#include "XmlWriter.h" | #include "XmlWriter.h" |
#include "XmlParser.h" | #include "XmlParser.h" |
| |
|
|
| |
out << "M-POST /cimom HTTP/1.1\r\n"; | out << "M-POST /cimom HTTP/1.1\r\n"; |
out << "HOST: " << host << "\r\n"; | out << "HOST: " << host << "\r\n"; |
out << "Content-Type: application/xml; charset=\"utf-8\"\r\n"; |
out << "Content-CIMType: application/xml; charset=\"utf-8\"\r\n"; |
out << "Content-Length: " << content.getSize() << "\r\n"; | out << "Content-Length: " << content.getSize() << "\r\n"; |
out << "Man: http://www.dmtf.org/cim/mapping/http/v1.0; ns="; | out << "Man: http://www.dmtf.org/cim/mapping/http/v1.0; ns="; |
out << nn <<"\r\n"; | out << nn <<"\r\n"; |
|
|
char nn[] = { '0' + (rand() % 10), '0' + (rand() % 10), '\0' }; | char nn[] = { '0' + (rand() % 10), '0' + (rand() % 10), '\0' }; |
| |
out << "HTTP/1.1 200 OK\r\n"; | out << "HTTP/1.1 200 OK\r\n"; |
out << "Content-Type: application/xml; charset=\"utf-8\"\r\n"; |
out << "Content-CIMType: application/xml; charset=\"utf-8\"\r\n"; |
out << "Content-Length: " << content.getSize() << "\r\n"; | out << "Content-Length: " << content.getSize() << "\r\n"; |
out << "Ext:\r\n"; | out << "Ext:\r\n"; |
out << "Cache-Control: no-cache\r\n"; | out << "Cache-Control: no-cache\r\n"; |
|
|
//------------------------------------------------------------------------------ | //------------------------------------------------------------------------------ |
| |
Array<Sint8> XmlWriter::formatErrorElement( | Array<Sint8> XmlWriter::formatErrorElement( |
CimException::Code code, |
CIMException::Code code, |
const char* description) | const char* description) |
{ | { |
Array<Sint8> out; | Array<Sint8> out; |
|
|
Array<Sint8>& XmlWriter::appendClassParameter( | Array<Sint8>& XmlWriter::appendClassParameter( |
Array<Sint8>& out, | Array<Sint8>& out, |
const char* parameterName, | const char* parameterName, |
const ConstClassDecl& classDecl) |
const ConstCIMClass& cimClass) |
{ | { |
Array<Sint8> tmp; | Array<Sint8> tmp; |
classDecl.toXml(tmp); |
cimClass.toXml(tmp); |
return formatIParamValueElement(out, parameterName, tmp); | return formatIParamValueElement(out, parameterName, tmp); |
} | } |
| |
|
|
Array<Sint8>& XmlWriter::appendInstanceNameParameter( | Array<Sint8>& XmlWriter::appendInstanceNameParameter( |
Array<Sint8>& out, | Array<Sint8>& out, |
const char* parameterName, | const char* parameterName, |
const Reference& instanceName) |
const CIMReference& instanceName) |
{ | { |
Array<Sint8> tmp; | Array<Sint8> tmp; |
instanceName.instanceNameToXml(tmp); | instanceName.instanceNameToXml(tmp); |
|
|
| |
//------------------------------------------------------------------------------ | //------------------------------------------------------------------------------ |
// | // |
|
// appendInstanceParameter() |
|
// |
|
//------------------------------------------------------------------------------ |
|
|
|
Array<Sint8>& XmlWriter::appendInstanceParameter( |
|
Array<Sint8>& out, |
|
const char* parameterName, |
|
const ConstCIMInstance& instance) |
|
{ |
|
Array<Sint8> tmp; |
|
instance.toXml(tmp); |
|
return formatIParamValueElement(out, parameterName, tmp); |
|
} |
|
|
|
//------------------------------------------------------------------------------ |
|
// |
// appendClassParameter() | // appendClassParameter() |
// | // |
//------------------------------------------------------------------------------ | //------------------------------------------------------------------------------ |
|
|
Array<Sint8>& XmlWriter::appendQualifierDeclarationParameter( | Array<Sint8>& XmlWriter::appendQualifierDeclarationParameter( |
Array<Sint8>& out, | Array<Sint8>& out, |
const char* parameterName, | const char* parameterName, |
const ConstQualifierDecl& qualifierDecl) |
const CIMConstQualifierDecl& qualifierDecl) |
{ | { |
Array<Sint8> tmp; | Array<Sint8> tmp; |
qualifierDecl.toXml(tmp); | qualifierDecl.toXml(tmp); |
|
|
| |
Array<Sint8>& XmlWriter::appendInstanceNameElement( | Array<Sint8>& XmlWriter::appendInstanceNameElement( |
Array<Sint8>& out, | Array<Sint8>& out, |
const Reference& instanceName) |
const CIMReference& instanceName) |
{ | { |
instanceName.instanceNameToXml(out); | instanceName.instanceNameToXml(out); |
return out; | return out; |