40 lines
881 B
C++

//----------------------------------------------------------------------------
//
// Copyright (C) 2007 Intel Corporation
//
// File: Serializable.h
//
// Contents: Definition of class Serializable
//
//----------------------------------------------------------------------------
#ifndef __SERIALIZABLE_H
#define __SERIALIZABLE_H
#include <string>
#include <vector>
#include "XMLUtils.h"
using namespace CimXMLUtilsNamespace;
using namespace std;
namespace CimClassNamespace
{
class Serializable
{
protected:
string serializableName;
string nsUri;
string prefix;
public:
Serializable(const string& serializableName,
const string& ns = "",
const string& nsPrefix = "");
virtual ~Serializable();
string Serialize(const bool includeRoot = true) const;
virtual void SerializeMembers(XMLElement &node) const = 0;
};
} //CimClassNamespace
#endif