xref: /haiku/src/apps/mediaplayer/playlist/PlaylistObserver.cpp (revision c60fcc87e04b0af21ed9f01581b23d1f714a366f)
1415ef601SStephan Aßmus /*
2*c60fcc87SStephan Aßmus  * Copyright 2007-2009 Stephan Aßmus <superstippi@gmx.de>.
3*c60fcc87SStephan Aßmus  * All rights reserved. Distributed under the terms of the MIT License.
4415ef601SStephan Aßmus  */
5415ef601SStephan Aßmus 
6415ef601SStephan Aßmus #include "PlaylistObserver.h"
7415ef601SStephan Aßmus 
8415ef601SStephan Aßmus #include <Message.h>
9415ef601SStephan Aßmus 
10415ef601SStephan Aßmus 
11415ef601SStephan Aßmus PlaylistObserver::PlaylistObserver(BHandler* target)
12415ef601SStephan Aßmus 	: Playlist::Listener()
13415ef601SStephan Aßmus 	, AbstractLOAdapter(target)
14415ef601SStephan Aßmus {
15415ef601SStephan Aßmus }
16415ef601SStephan Aßmus 
17415ef601SStephan Aßmus 
18415ef601SStephan Aßmus PlaylistObserver::~PlaylistObserver()
19415ef601SStephan Aßmus {
20415ef601SStephan Aßmus }
21415ef601SStephan Aßmus 
22415ef601SStephan Aßmus 
23415ef601SStephan Aßmus void
24*c60fcc87SStephan Aßmus PlaylistObserver::ItemAdded(PlaylistItem* item, int32 index)
25415ef601SStephan Aßmus {
26*c60fcc87SStephan Aßmus 	BMessage message(MSG_PLAYLIST_ITEM_ADDED);
27*c60fcc87SStephan Aßmus 	message.AddPointer("item", item);
28415ef601SStephan Aßmus 	message.AddInt32("index", index);
29415ef601SStephan Aßmus 
30415ef601SStephan Aßmus 	DeliverMessage(message);
31415ef601SStephan Aßmus }
32415ef601SStephan Aßmus 
33415ef601SStephan Aßmus 
34415ef601SStephan Aßmus void
35*c60fcc87SStephan Aßmus PlaylistObserver::ItemRemoved(int32 index)
36415ef601SStephan Aßmus {
37*c60fcc87SStephan Aßmus 	BMessage message(MSG_PLAYLIST_ITEM_REMOVED);
38415ef601SStephan Aßmus 	message.AddInt32("index", index);
39415ef601SStephan Aßmus 
40415ef601SStephan Aßmus 	DeliverMessage(message);
41415ef601SStephan Aßmus }
42415ef601SStephan Aßmus 
43415ef601SStephan Aßmus 
44415ef601SStephan Aßmus void
45*c60fcc87SStephan Aßmus PlaylistObserver::ItemsSorted()
46415ef601SStephan Aßmus {
47*c60fcc87SStephan Aßmus 	BMessage message(MSG_PLAYLIST_ITEMS_SORTED);
48415ef601SStephan Aßmus 
49415ef601SStephan Aßmus 	DeliverMessage(message);
50415ef601SStephan Aßmus }
51415ef601SStephan Aßmus 
52415ef601SStephan Aßmus 
53415ef601SStephan Aßmus void
54*c60fcc87SStephan Aßmus PlaylistObserver::CurrentItemChanged(int32 newIndex)
55415ef601SStephan Aßmus {
56*c60fcc87SStephan Aßmus 	BMessage message(MSG_PLAYLIST_CURRENT_ITEM_CHANGED);
57415ef601SStephan Aßmus 	message.AddInt32("index", newIndex);
58415ef601SStephan Aßmus 
59415ef601SStephan Aßmus 	DeliverMessage(message);
60415ef601SStephan Aßmus }
61415ef601SStephan Aßmus 
62