1415ef601SStephan Aßmus /* 2c60fcc87SStephan Aßmus * Copyright 2007-2009 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 #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 { 12c60fcc87SStephan Aßmus MSG_PLAYLIST_ITEM_ADDED = 'plia', 13c60fcc87SStephan Aßmus MSG_PLAYLIST_ITEM_REMOVED = 'plir', 14c60fcc87SStephan Aßmus MSG_PLAYLIST_ITEMS_SORTED = 'plis', 15ebd86629SStephan Aßmus MSG_PLAYLIST_CURRENT_ITEM_CHANGED = 'plcc', 16ebd86629SStephan Aßmus MSG_PLAYLIST_IMPORT_FAILED = 'plif' 17415ef601SStephan Aßmus }; 18415ef601SStephan Aßmus 19c60fcc87SStephan Aßmus class PlaylistObserver : public Playlist::Listener, public AbstractLOAdapter { 20415ef601SStephan Aßmus public: 21415ef601SStephan Aßmus PlaylistObserver(BHandler* target); 22415ef601SStephan Aßmus virtual ~PlaylistObserver(); 23415ef601SStephan Aßmus 24c60fcc87SStephan Aßmus virtual void ItemAdded(PlaylistItem* item, int32 index); 25c60fcc87SStephan Aßmus virtual void ItemRemoved(int32 index); 26415ef601SStephan Aßmus 27c60fcc87SStephan Aßmus virtual void ItemsSorted(); 28415ef601SStephan Aßmus 29*a5a013caSPhilippe Saint-Pierre virtual void CurrentItemChanged(int32 newIndex, bool play); 30ebd86629SStephan Aßmus 31ebd86629SStephan Aßmus virtual void ImportFailed(); 32415ef601SStephan Aßmus }; 33415ef601SStephan Aßmus 34415ef601SStephan Aßmus #endif // PLAYLIST_OBSERVER_H 35