#pragma once #include "common.h" class AFX_CLASS_EXPORT LAttachable { public: LAttachable(); LAttachable(const LAttachable& other); virtual ~LAttachable(); virtual void AddAttachment(LAttachment* attachment, LAttachment* before = NULL, BOOL setAsOwner = true); virtual void RemoveAttachment(LAttachment* attachment); virtual void RemoveAllAttachments(); virtual BOOL ExecuteAttachments(unsigned int message, void* data); static LAttachable* GetDefaultAttachable(); static void SetDefaultAttachable(LAttachable*); protected: static LAttachable* sDefaultAttachable; LArray *mAttachments; };