playlist_manager_v2 Class Reference

#include <playlist.h>

Inheritance diagram for playlist_manager_v2:

playlist_manager service_base playlist_manager_v3 playlist_manager_v4

List of all members.

Public Types

typedef playlist_manager_v2 t_interface
typedef playlist_manager t_interface_parent

Public Member Functions

virtual void playlist_set_property (t_size p_playlist, const GUID &p_property, stream_reader *p_stream, t_size p_size_hint, abort_callback &p_abort)=0
virtual bool playlist_get_property (t_size p_playlist, const GUID &p_property, stream_writer *p_stream, abort_callback &p_abort)=0
virtual bool playlist_have_property (t_size p_playlist, const GUID &p_property)=0
virtual bool playlist_remove_property (t_size p_playlist, const GUID &p_property)=0
virtual void playlist_set_runtime_property (t_size p_playlist, const GUID &p_property, service_ptr_t< service_base > p_data)=0
virtual bool playlist_get_runtime_property (t_size p_playlist, const GUID &p_property, service_ptr_t< service_base > &p_data)=0
virtual bool playlist_have_runtime_property (t_size p_playlist, const GUID &p_property)=0
virtual bool playlist_remove_runtime_property (t_size p_playlist, const GUID &p_property)=0
template<typename t_array>
void playlist_set_property (t_size p_playlist, const GUID &p_property, const t_array &p_data)
template<typename t_array>
bool playlist_get_property (t_size p_playlist, const GUID &p_property, t_array &p_data)
template<typename _t_interface>
bool playlist_get_runtime_property (t_size p_playlist, const GUID &p_property, service_ptr_t< _t_interface > &p_data)
template<typename _t_int>
void playlist_set_property_int (t_size p_playlist, const GUID &p_property, _t_int p_value)
template<typename _t_int>
bool playlist_get_property_int (t_size p_playlist, const GUID &p_property, _t_int &p_value)

Static Public Attributes

static const GUID class_guid = { 0x7fe9052a, 0x8ec2, 0x4054, { 0xa8, 0xcf, 0x77, 0xef, 0xb5, 0x2f, 0xe4, 0x8 } }


Detailed Description

Extension of the playlist_manager service that manages playlist properties. Playlist properties come in two flavors: persistent and runtime. Persistent properties are blocks of binary that that will be preserved when the application is exited and restarted. Runtime properties are service pointers that will be lost when the application exits.
Since:
0.9.5

Member Typedef Documentation

Reimplemented from playlist_manager.

Reimplemented from playlist_manager.


Member Function Documentation

virtual void playlist_manager_v2::playlist_set_property ( t_size  p_playlist,
const GUID &  p_property,
stream_reader *  p_stream,
t_size  p_size_hint,
abort_callback &  p_abort 
) [pure virtual]

Write a persistent playlist property.

Parameters:
p_playlist Index of the playlist
p_property GUID that identifies the property
p_stream stream that contains the data that will be associated with the property
p_abort abort_callback that will be used when reading from p_stream

virtual bool playlist_manager_v2::playlist_get_property ( t_size  p_playlist,
const GUID &  p_property,
stream_writer *  p_stream,
abort_callback &  p_abort 
) [pure virtual]

Read a persistent playlist property.

Parameters:
p_playlist Index of the playlist
p_property GUID that identifies the property
p_stream stream that will receive the stored data
p_abort abort_callback that will be used when writing to p_stream
Returns:
true if the property exists, false otherwise

virtual bool playlist_manager_v2::playlist_have_property ( t_size  p_playlist,
const GUID &  p_property 
) [pure virtual]

Test existence of a persistent playlist property.

Parameters:
p_playlist Index of the playlist
p_property GUID that identifies the property
Returns:
true if the property exists, false otherwise

virtual bool playlist_manager_v2::playlist_remove_property ( t_size  p_playlist,
const GUID &  p_property 
) [pure virtual]

Remove a persistent playlist property.

Parameters:
p_playlist Index of the playlist
p_property GUID that identifies the property
Returns:
true if the property existed, false otherwise

virtual void playlist_manager_v2::playlist_set_runtime_property ( t_size  p_playlist,
const GUID &  p_property,
service_ptr_t< service_base p_data 
) [pure virtual]

Write a runtime playlist property.

Parameters:
p_playlist Index of the playlist
p_property GUID that identifies the property
p_data service pointer that will be associated with the property

virtual bool playlist_manager_v2::playlist_get_runtime_property ( t_size  p_playlist,
const GUID &  p_property,
service_ptr_t< service_base > &  p_data 
) [pure virtual]

Read a runtime playlist property.

Parameters:
p_playlist Index of the playlist
p_property GUID that identifies the property
p_data base service pointer reference that will receive the stored servive pointer
Returns:
true if the property exists, false otherwise

virtual bool playlist_manager_v2::playlist_have_runtime_property ( t_size  p_playlist,
const GUID &  p_property 
) [pure virtual]

Test existence of a runtime playlist property.

Parameters:
p_playlist Index of the playlist
p_property GUID that identifies the property
Returns:
true if the property exists, false otherwise

virtual bool playlist_manager_v2::playlist_remove_runtime_property ( t_size  p_playlist,
const GUID &  p_property 
) [pure virtual]

Remove a runtime playlist property.

Parameters:
p_playlist Index of the playlist
p_property GUID that identifies the property
Returns:
true if the property existed, false otherwise

template<typename t_array>
void playlist_manager_v2::playlist_set_property ( t_size  p_playlist,
const GUID &  p_property,
const t_array &  p_data 
) [inline]

Write a persistent playlist property.

Parameters:
p_playlist Index of the playlist
p_property GUID that identifies the property
p_data array that contains the data that will be associated with the property

template<typename t_array>
bool playlist_manager_v2::playlist_get_property ( t_size  p_playlist,
const GUID &  p_property,
t_array &  p_data 
) [inline]

Read a persistent playlist property.

Parameters:
p_playlist Index of the playlist
p_property GUID that identifies the property
p_data array that will receive the stored data
Returns:
true if the property exists, false otherwise

template<typename _t_interface>
bool playlist_manager_v2::playlist_get_runtime_property ( t_size  p_playlist,
const GUID &  p_property,
service_ptr_t< _t_interface > &  p_data 
) [inline]

Read a runtime playlist property.

Parameters:
p_playlist Index of the playlist
p_property GUID that identifies the property
p_data specific service pointer reference that will receive the stored servive pointer
Returns:
true if the property exists and can be converted to the type of p_data, false otherwise

template<typename _t_int>
void playlist_manager_v2::playlist_set_property_int ( t_size  p_playlist,
const GUID &  p_property,
_t_int  p_value 
) [inline]

Write a persistent playlist property.

Parameters:
p_playlist Index of the playlist
p_property GUID that identifies the property
p_value integer that will be associated with the property

template<typename _t_int>
bool playlist_manager_v2::playlist_get_property_int ( t_size  p_playlist,
const GUID &  p_property,
_t_int &  p_value 
) [inline]

Read a persistent playlist property.

Parameters:
p_playlist Index of the playlist
p_property GUID that identifies the property
p_value integer reference that will receive the stored data
Returns:
true if the property exists and if the data is compatible with p_value, false otherwise


Member Data Documentation

const GUID playlist_manager_v2::class_guid = { 0x7fe9052a, 0x8ec2, 0x4054, { 0xa8, 0xcf, 0x77, 0xef, 0xb5, 0x2f, 0xe4, 0x8 } } [static]

Reimplemented from playlist_manager.


The documentation for this class was generated from the following files:

Generated on Thu Aug 28 21:15:57 2008 for foobar2000 SDK by  doxygen 1.5.5