In This Topic
#ifndef _MusicStoreLib_MusicStoreLib_CAlbumType_h
#define _MusicStoreLib_MusicStoreLib_CAlbumType_h
#include "../MusicStoreLib/TrackTypeCol.h"
#include "../MusicStoreLib/TrackType.h"
namespace MusicStoreLib { class CClassFactory; };
namespace MusicStoreLib
{
class MusicStoreLib_DLL CAlbumType : public CInstanceMonitor
, public virtual MusicStoreLib::CXmlCommonBase
{
public:
static MusicStoreLib::CAlbumTypePtr CreateInstance(LPCTSTR lpctElementName=_T("AlbumType"));
protected:
CAlbumType(LPCTSTR lpctElementName=_T("AlbumType"));
virtual ~CAlbumType();
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 GetLabel() const;
void SetLabel(std::tstring val);
protected:
std::tstring m_Label;
public:
DOUBLE GetRRP() const;
void SetRRP(DOUBLE val);
bool IsValidRRP() const;
void SetValidRRP(bool val);
protected:
bool m_IsValidRRP;
DOUBLE m_RRP;
public:
std::tstring GetProductCode() const;
void SetProductCode(std::tstring val);
protected:
std::tstring m_ProductCode;
public:
std::tstring GetAlbumName() const;
void SetAlbumName(std::tstring val);
protected:
std::tstring m_AlbumName;
public:
std::tstring GetArtistName() const;
void SetArtistName(std::tstring val);
protected:
std::tstring m_ArtistName;
public:
MusicStoreLib::CTrackTypeColPtr GetTrack() const;
protected:
MusicStoreLib::CTrackTypeColPtr m_Track;
public:
virtual MusicStoreLib::CAlbumTypePtr 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