29 lines
724 B
C++
29 lines
724 B
C++
// Copyright (C) 2004 Intel Corporation
|
|
#ifndef __DESERIALIZABLE_H
|
|
#define __DESERIALIZABLE_H
|
|
|
|
#include "XMLUtils.h"
|
|
|
|
using namespace CimXMLUtilsNamespace;
|
|
using namespace std;
|
|
|
|
namespace CimClassNamespace
|
|
{
|
|
class DeSerializable
|
|
{
|
|
private:
|
|
string deSerializableName;
|
|
string dsUri;
|
|
virtual void ClearValues() = 0;
|
|
virtual void SetValue(const XMLElement& elem) = 0;
|
|
// If a schema exists, Desrialize function will perform schema validation
|
|
virtual bool GetSchema(string& xsdFile);
|
|
public:
|
|
DeSerializable(const string& deSerializableName, const string& ns = "");
|
|
virtual ~DeSerializable();
|
|
void Deserialize(const string& xml);
|
|
void Deserialize(const XMLElement& elem);
|
|
};
|
|
} // CimClassNamespace
|
|
#endif
|