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