#ifndef URL_PLAYLIST_ITEM_H
#define URL_PLAYLIST_ITEM_H
#include "PlaylistItem.h"
#include <Url.h>
class UrlPlaylistItem : public PlaylistItem {
public:
UrlPlaylistItem(BUrl url);
UrlPlaylistItem(const UrlPlaylistItem& item);
UrlPlaylistItem(const BMessage* archive);
virtual ~UrlPlaylistItem();
virtual PlaylistItem* Clone() const;
static BArchivable* Instantiate(BMessage* archive);
virtual status_t Archive(BMessage* into,
bool deep = true) const;
virtual status_t SetAttribute(const Attribute& attribute,
const BString& string);
virtual status_t GetAttribute(const Attribute& attribute,
BString& string) const;
virtual status_t SetAttribute(const Attribute& attribute,
const int32& value);
virtual status_t GetAttribute(const Attribute& attribute,
int32& value) const;
virtual status_t SetAttribute(const Attribute& attribute,
const int64& value);
virtual status_t GetAttribute(const Attribute& attribute,
int64& value) const;
virtual status_t SetAttribute(const Attribute& attribute,
const float& value);
virtual status_t GetAttribute(const Attribute& attribute,
float& value) const;
virtual BString LocationURI() const;
virtual status_t GetIcon(BBitmap* bitmap,
icon_size iconSize) const;
virtual status_t MoveIntoTrash();
virtual status_t RestoreFromTrash();
BUrl Url() const;
protected:
virtual bigtime_t _CalculateDuration();
virtual TrackSupplier* _CreateTrackSupplier() const;
private:
BUrl fUrl;
bigtime_t fDuration;
};
#endif