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, 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:
std::tstring GetTitle() const;
void SetTitle(std::tstring val);
protected:
std::tstring m_Title;
public:
LtXmlLib21::CDateTimeSpan GetLength() const;
void SetLength(LtXmlLib21::CDateTimeSpan val);
protected:
LtXmlLib21::CDateTimeSpan m_Length;
public:
virtual MusicStoreLib::CTrackTypePtr 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;
};
};
#endif