xref: /haiku/src/apps/mediaplayer/playlist/PlaylistObserver.cpp (revision 25a7b01d15612846f332751841da3579db313082)
1415ef601SStephan Aßmus /*
2ebd86629SStephan Aßmus  * Copyright 2007-2010 Stephan Aßmus <superstippi@gmx.de>.
3c60fcc87SStephan 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 
8ebd86629SStephan Aßmus #include <stdio.h>
9ebd86629SStephan Aßmus 
10415ef601SStephan Aßmus #include <Message.h>
11415ef601SStephan Aßmus 
12415ef601SStephan Aßmus 
PlaylistObserver(BHandler * target)13415ef601SStephan Aßmus PlaylistObserver::PlaylistObserver(BHandler* target)
14415ef601SStephan Aßmus 	: Playlist::Listener()
15415ef601SStephan Aßmus 	, AbstractLOAdapter(target)
16415ef601SStephan Aßmus {
17415ef601SStephan Aßmus }
18415ef601SStephan Aßmus 
19415ef601SStephan Aßmus 
~PlaylistObserver()20415ef601SStephan Aßmus PlaylistObserver::~PlaylistObserver()
21415ef601SStephan Aßmus {
22415ef601SStephan Aßmus }
23415ef601SStephan Aßmus 
24415ef601SStephan Aßmus 
25415ef601SStephan Aßmus void
ItemAdded(PlaylistItem * item,int32 index)26c60fcc87SStephan Aßmus PlaylistObserver::ItemAdded(PlaylistItem* item, int32 index)
27415ef601SStephan Aßmus {
28c60fcc87SStephan Aßmus 	BMessage message(MSG_PLAYLIST_ITEM_ADDED);
29c60fcc87SStephan Aßmus 	message.AddPointer("item", item);
30415ef601SStephan Aßmus 	message.AddInt32("index", index);
31415ef601SStephan Aßmus 
32415ef601SStephan Aßmus 	DeliverMessage(message);
33415ef601SStephan Aßmus }
34415ef601SStephan Aßmus 
35415ef601SStephan Aßmus 
36415ef601SStephan Aßmus void
ItemRemoved(int32 index)37c60fcc87SStephan Aßmus PlaylistObserver::ItemRemoved(int32 index)
38415ef601SStephan Aßmus {
39c60fcc87SStephan Aßmus 	BMessage message(MSG_PLAYLIST_ITEM_REMOVED);
40415ef601SStephan Aßmus 	message.AddInt32("index", index);
41415ef601SStephan Aßmus 
42415ef601SStephan Aßmus 	DeliverMessage(message);
43415ef601SStephan Aßmus }
44415ef601SStephan Aßmus 
45415ef601SStephan Aßmus 
46415ef601SStephan Aßmus void
ItemsSorted()47c60fcc87SStephan Aßmus PlaylistObserver::ItemsSorted()
48415ef601SStephan Aßmus {
49c60fcc87SStephan Aßmus 	BMessage message(MSG_PLAYLIST_ITEMS_SORTED);
50415ef601SStephan Aßmus 
51415ef601SStephan Aßmus 	DeliverMessage(message);
52415ef601SStephan Aßmus }
53415ef601SStephan Aßmus 
54415ef601SStephan Aßmus 
55415ef601SStephan Aßmus void
CurrentItemChanged(int32 newIndex,bool play)56*a5a013caSPhilippe Saint-Pierre PlaylistObserver::CurrentItemChanged(int32 newIndex, bool play)
57415ef601SStephan Aßmus {
58c60fcc87SStephan Aßmus 	BMessage message(MSG_PLAYLIST_CURRENT_ITEM_CHANGED);
59415ef601SStephan Aßmus 	message.AddInt32("index", newIndex);
60*a5a013caSPhilippe Saint-Pierre 	message.AddBool("play", play);
61415ef601SStephan Aßmus 
62415ef601SStephan Aßmus 	DeliverMessage(message);
63415ef601SStephan Aßmus }
64415ef601SStephan Aßmus 
65ebd86629SStephan Aßmus 
66ebd86629SStephan Aßmus void
ImportFailed()67ebd86629SStephan Aßmus PlaylistObserver::ImportFailed()
68ebd86629SStephan Aßmus {
69ebd86629SStephan Aßmus 	BMessage message(MSG_PLAYLIST_IMPORT_FAILED);
70ebd86629SStephan Aßmus 
71ebd86629SStephan Aßmus 	DeliverMessage(message);
72ebd86629SStephan Aßmus }
73ebd86629SStephan Aßmus 
74ebd86629SStephan Aßmus 
75