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