173a3f449SStephan Aßmus/*
23d869af5SStephan Aßmus * Copyright 2013-2014, Stephan A��mus <superstippi@gmx.de>.
373a3f449SStephan Aßmus * All rights reserved. Distributed under the terms of the MIT License.
473a3f449SStephan Aßmus */
573a3f449SStephan Aßmus#ifndef MESSAGE_PACKAGE_LISTENER_H
673a3f449SStephan Aßmus#define MESSAGE_PACKAGE_LISTENER_H
773a3f449SStephan Aßmus
873a3f449SStephan Aßmus
973a3f449SStephan Aßmus#include "PackageInfoListener.h"
1073a3f449SStephan Aßmus
1173a3f449SStephan Aßmus
1273a3f449SStephan Aßmusenum {
1373a3f449SStephan Aßmus	MSG_UPDATE_PACKAGE		= 'updp'
1473a3f449SStephan Aßmus};
1573a3f449SStephan Aßmus
163d869af5SStephan Aßmusclass BHandler;
1773a3f449SStephan Aßmus
1873a3f449SStephan Aßmus
1973a3f449SStephan Aßmusclass MessagePackageListener : public PackageInfoListener {
2073a3f449SStephan Aßmuspublic:
213d869af5SStephan Aßmus								MessagePackageListener(BHandler* target);
2273a3f449SStephan Aßmus	virtual						~MessagePackageListener();
2373a3f449SStephan Aßmus
2473a3f449SStephan Aßmus	virtual	void				PackageChanged(const PackageInfoEvent& event);
2573a3f449SStephan Aßmus
263d869af5SStephan Aßmus			void				SetChangesMask(uint32 mask);
273d869af5SStephan Aßmus
283d869af5SStephan Aßmusprivate:
293d869af5SStephan Aßmus			BHandler*			fTarget;
303d869af5SStephan Aßmus			uint32				fChangesMask;
313d869af5SStephan Aßmus};
323d869af5SStephan Aßmus
333d869af5SStephan Aßmus
343d869af5SStephan Aßmusclass OnePackageMessagePackageListener : public MessagePackageListener {
353d869af5SStephan Aßmuspublic:
363d869af5SStephan Aßmus								OnePackageMessagePackageListener(
373d869af5SStephan Aßmus									BHandler* target);
383d869af5SStephan Aßmus	virtual						~OnePackageMessagePackageListener();
393d869af5SStephan Aßmus
4073a3f449SStephan Aßmus			void				SetPackage(const PackageInfoRef& package);
4173a3f449SStephan Aßmus			const PackageInfoRef& Package() const;
4273a3f449SStephan Aßmus
4373a3f449SStephan Aßmusprivate:
4473a3f449SStephan Aßmus			PackageInfoRef		fPackage;
4573a3f449SStephan Aßmus};
4673a3f449SStephan Aßmus
4773a3f449SStephan Aßmus
4873a3f449SStephan Aßmus#endif // MESSAGE_PACKAGE_LISTENER_H
49