/**********************************************************************************************
* Copyright (c) 2001-2025 Liquid Technologies Limited. All rights reserved.
* See www.liquid-technologies.com for product details.
*
* Please see products End User License Agreement for distribution permissions.
*
* WARNING: THIS FILE IS GENERATED
* Changes made outside of ##HAND_CODED_BLOCK_START blocks will be overwritten
*
* Generation : by Liquid XML Data Binder 19.0.14.11049
* Using Schema: DerivedByExtension.xsd
**********************************************************************************************/
#ifndef _DerivedByExtensionLib_DerivedByExtensionLib_CPerson_h
#define _DerivedByExtensionLib_DerivedByExtensionLib_CPerson_h
// Include Base classes
#include "../DerivedByExtensionLib/IAddress.h"
// ##HAND_CODED_BLOCK_START ID="Additional Includes"## DO NOT MODIFY ANYTHING OUTSIDE OF THESE TAGS
// Add Additional Includes here...
// ##HAND_CODED_BLOCK_END ID="Additional Includes"## DO NOT MODIFY ANYTHING OUTSIDE OF THESE TAGS
// Forward declarations - done like this to keep the intellisense happy
namespace DerivedByExtensionLib { class CClassFactory; };
namespace DerivedByExtensionLib
{
/*
* CPerson
*
* This class wraps the element Person in the schema
*/
class DerivedByExtensionLib_DLL CPerson : public CInstanceMonitor
, public virtual DerivedByExtensionLib::CXmlCommonBase
// ##HAND_CODED_BLOCK_START ID="Additional Base Classes"## DO NOT MODIFY ANYTHING OUTSIDE OF THESE TAGS
// Add Additional base classes here...
// ##HAND_CODED_BLOCK_END ID="Additional Base Classes"## DO NOT MODIFY ANYTHING OUTSIDE OF THESE TAGS
{
public:
static DerivedByExtensionLib::CPersonPtr CreateInstance(LPCTSTR lpctElementName=_T("Person"));
protected:
CPerson(LPCTSTR lpctElementName=_T("Person"));
virtual ~CPerson();
friend class DerivedByExtensionLib::CClassFactory;
virtual void Init();
virtual void AccessProperty(int iPropertyIndex, bool read, LtXmlLib21::LtVariant& rValue);
virtual LtXmlLib21Data::CParentElementInfo* GetClassInfo() const;
virtual LtXmlLib21Data::CElementInfo** GetClassElementInfo() const;
virtual LtXmlLib21Data::CAttributeInfo** GetClassAttributeInfo() const;
static void CleanMetaData();
void Cleanup();
virtual void OnEvent(LtXmlLib21::CXmlObjectBase* pMsgSource, LtXmlLib21::IEventSink::MsgType eMsgType, void* pData);
public:
BYTE GetAge() const;
void SetAge(BYTE val);
protected:
BYTE m_Age;
public:
DerivedByExtensionLib::IAddressPtr GetHomeAddress() const;
void SetHomeAddress(DerivedByExtensionLib::IAddress* value);
protected:
DerivedByExtensionLib::IAddressPtr m_HomeAddress;
public:
// Performs a 'deep copy' of all the data in the class (and its children)
virtual DerivedByExtensionLib::CPersonPtr Clone() const;
virtual std::tstring GetTargetNamespace() const;
virtual std::tstring GetNamespace() const;
virtual LtXmlLib21::CXmlObjectBase* GetBase();
// Internal data for XML serialization
private:
static LtXmlLib21Data::CParentElementInfo* ms_pParentElementInfo;
static LtXmlLib21Data::CElementInfo** ms_ppElementInfo;
static LtXmlLib21Data::CAttributeInfo** ms_ppAttributeInfo;
// ##HAND_CODED_BLOCK_START ID="Additional Methods"## DO NOT MODIFY ANYTHING OUTSIDE OF THESE TAGS
// Add Additional Methods here...
// ##HAND_CODED_BLOCK_END ID="Additional Methods"## DO NOT MODIFY ANYTHING OUTSIDE OF THESE TAGS
};
}; // end namespace (DerivedByExtensionLib)
#endif // _DerivedByExtensionLib_CPerson_h