In This Topic
#ifndef _SimpleAllLib_SimpleAllLib_CName_h
#define _SimpleAllLib_SimpleAllLib_CName_h
namespace SimpleAllLib { class CClassFactory; };
namespace SimpleAllLib
{
class SimpleAllLib_DLL CName : public CInstanceMonitor
, public virtual SimpleAllLib::CXmlCommonBase
{
public:
static SimpleAllLib::CNamePtr CreateInstance(LPCTSTR lpctElementName=_T("Name"));
protected:
CName(LPCTSTR lpctElementName=_T("Name"));
virtual ~CName();
friend class SimpleAllLib::CClassFactory;
virtual void Init();
virtual void AccessProperty(int iPropertyIndex, bool read, LtXmlLib20::LtVariant& rValue);
virtual LtXmlLib20Data::CParentElementInfo* GetClassInfo() const;
virtual LtXmlLib20Data::CElementInfo** GetClassElementInfo() const;
virtual LtXmlLib20Data::CAttributeInfo** GetClassAttributeInfo() const;
static void CleanMetaData();
void Cleanup();
virtual void OnEvent(LtXmlLib20::CXmlObjectBase* pMsgSource, LtXmlLib20::IEventSink::MsgType eMsgType, void* pData);
public:
std::tstring GetFirstname() const;
void SetFirstname(std::tstring val);
protected:
std::tstring m_Firstname;
public:
std::tstring GetSurname() const;
void SetSurname(std::tstring val);
protected:
std::tstring m_Surname;
public:
virtual SimpleAllLib::CNamePtr Clone() const;
virtual std::tstring GetTargetNamespace() const;
virtual std::tstring GetNamespace() const;
virtual LtXmlLib20::CXmlObjectBase* GetBase();
// Internal data for XML serialization
private:
static LtXmlLib20Data::CParentElementInfo* ms_pParentElementInfo;
static LtXmlLib20Data::CElementInfo** ms_ppElementInfo;
static LtXmlLib20Data::CAttributeInfo** ms_ppAttributeInfo;
};
};
#endif