1/*
2 * Copyright 2013-2014, Stephan Aßmus <superstippi@gmx.de>.
3 * All rights reserved. Distributed under the terms of the MIT License.
4 */
5#ifndef MESSAGE_PACKAGE_LISTENER_H
6#define MESSAGE_PACKAGE_LISTENER_H
7
8
9#include "PackageInfoListener.h"
10
11
12enum {
13	MSG_UPDATE_PACKAGE		= 'updp'
14};
15
16class BHandler;
17
18
19class MessagePackageListener : public PackageInfoListener {
20public:
21								MessagePackageListener(BHandler* target);
22	virtual						~MessagePackageListener();
23
24	virtual	void				PackageChanged(const PackageInfoEvent& event);
25
26			void				SetChangesMask(uint32 mask);
27
28private:
29			BHandler*			fTarget;
30			uint32				fChangesMask;
31};
32
33
34class OnePackageMessagePackageListener : public MessagePackageListener {
35public:
36								OnePackageMessagePackageListener(
37									BHandler* target);
38	virtual						~OnePackageMessagePackageListener();
39
40			void				SetPackage(const PackageInfoRef& package);
41			const PackageInfoRef& Package() const;
42
43private:
44			PackageInfoRef		fPackage;
45};
46
47
48#endif // MESSAGE_PACKAGE_LISTENER_H
49