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 #ifndef PLAYLIST_OBSERVER_H 6415ef601SStephan Aßmus #define PLAYLIST_OBSERVER_H 7415ef601SStephan Aßmus 8415ef601SStephan Aßmus #include "AbstractLOAdapter.h" 9415ef601SStephan Aßmus #include "Playlist.h" 10415ef601SStephan Aßmus 11415ef601SStephan Aßmus enum { 12*c60fcc87SStephan Aßmus MSG_PLAYLIST_ITEM_ADDED = 'plia', 13*c60fcc87SStephan Aßmus MSG_PLAYLIST_ITEM_REMOVED = 'plir', 14*c60fcc87SStephan Aßmus MSG_PLAYLIST_ITEMS_SORTED = 'plis', 15*c60fcc87SStephan Aßmus MSG_PLAYLIST_CURRENT_ITEM_CHANGED = 'plcc' 16415ef601SStephan Aßmus }; 17415ef601SStephan Aßmus 18*c60fcc87SStephan Aßmus class PlaylistObserver : public Playlist::Listener, public AbstractLOAdapter { 19415ef601SStephan Aßmus public: 20415ef601SStephan Aßmus PlaylistObserver(BHandler* target); 21415ef601SStephan Aßmus virtual ~PlaylistObserver(); 22415ef601SStephan Aßmus 23*c60fcc87SStephan Aßmus virtual void ItemAdded(PlaylistItem* item, int32 index); 24*c60fcc87SStephan Aßmus virtual void ItemRemoved(int32 index); 25415ef601SStephan Aßmus 26*c60fcc87SStephan Aßmus virtual void ItemsSorted(); 27415ef601SStephan Aßmus 28*c60fcc87SStephan Aßmus virtual void CurrentItemChanged(int32 newIndex); 29415ef601SStephan Aßmus }; 30415ef601SStephan Aßmus 31415ef601SStephan Aßmus #endif // PLAYLIST_OBSERVER_H 32