In This Topic
#ifndef _MusicStoreLib_MusicStoreLib_CTrackType_h
#define _MusicStoreLib_MusicStoreLib_CTrackType_h
namespace MusicStoreLib { class CClassFactory; };
namespace MusicStoreLib
{
class MusicStoreLib_DLL CTrackType : public CInstanceMonitor
, public virtual MusicStoreLib::CXmlCommonBase
{
public:
static MusicStoreLib::CTrackTypePtr CreateInstance(LPCTSTR lpctElementName=_T("TrackType"));
protected:
CTrackType(LPCTSTR lpctElementName=_T("TrackType"));
virtual ~CTrackType();
friend class MusicStoreLib::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 GetTitle() const;
void SetTitle(std::tstring val);
protected:
std::tstring m_Title;
public:
LtXmlLib20::CDateTimeSpan GetLength() const;
void SetLength(LtXmlLib20::CDateTimeSpan val);
protected:
LtXmlLib20::CDateTimeSpan m_Length;
public:
virtual MusicStoreLib::CTrackTypePtr 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