summaryrefslogtreecommitdiff
path: root/src/T2DLL/LAttachable.h
blob: 58e013d71497e8d53d6090fdda2a75e0f8f97112 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#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;
};