3 virtual t_size get_entry_count()
const = 0;
7 virtual void set_entry_count(
t_size count) = 0;
8 virtual void set_entry_name(
t_size which,
const char * name) = 0;
14 for(
t_size walk = 0; walk < count; ++walk) {
16 set_entry_name(walk,name); set_entry_content(walk,content);
28 virtual void set_side_data(
t_size which,
const void * data,
t_size size) = 0;
34 for(
t_size walk = 0; walk < count; ++walk) {
42 const t_size pltotal = api->get_playlist_count();
48 for(
t_size walk = 0; walk < pltotal; ++walk)
if (mask[walk]) {
50 api->playlist_get_name(walk,name); api->playlist_get_all_items(walk,content);
71 if (which < m_entries.get_size()) out = m_entries[which].m_name;
72 else throw pfc::exception_invalid_params();
75 if (which < m_entries.get_size()) out = m_entries[which].m_content;
76 else throw pfc::exception_invalid_params();
79 m_entries.set_size(count);
82 if (which < m_entries.get_size()) m_entries[which].m_name = name;
83 else throw pfc::exception_invalid_params();
86 if (which < m_entries.get_size()) m_entries[which].m_content = content;
87 else throw pfc::exception_invalid_params();
90 if (which < m_entries.get_size()) out.
set(m_entries[which].m_sideData);
91 else throw pfc::exception_invalid_params();
94 if (which < m_entries.get_size()) m_entries[which].m_sideData.set_data_fromptr(reinterpret_cast<const t_uint8*>(data), size);
95 else throw pfc::exception_invalid_params();
109 KClipboardFormatSimpleLocations,
111 KClipboardFormatMultiFPL,
112 KClipboardFormatTotal
const void * get_ptr() const
const playlist_dataobject_desc & operator=(const playlist_dataobject_desc &)
const t_item * get_ptr() const
void set_entry_name(t_size which, const char *name)
void copy(playlist_dataobject_desc_v2 const &source)
playlist_dataobject_desc_impl(const playlist_dataobject_desc_v2 &source)
virtual t_size get_entry_count() const =0
pfc::array_t< t_uint8 > m_sideData
void get_entry_name(t_size which, pfc::string_base &out) const
abort_callback_impl abort_callback_dummy
Bit array interface class, constant version (you can only retrieve values). Range of valid indexes d...
virtual void set_entry_content(t_size which, metadb_handle_list_cref content)=0
~playlist_dataobject_desc()
void copy(playlist_dataobject_desc const &source)
t_size calc_count(bool val, t_size start, t_size count, t_size count_max=~0) const
const playlist_dataobject_desc_v2 & operator=(const playlist_dataobject_desc_v2 &source)
void dynamic_assert(bool p_condition, const char *p_msg)
Class used for async processing of IDataObject. Content of IDataObject can be dumped into dropped_fil...
virtual void get_side_data(t_size which, mem_block_container &out) const =0
void get_entry_content(t_size which, metadb_handle_list_ref out) const
virtual void get_entry_content(t_size which, metadb_handle_list_ref out) const =0
void set(const void *p_buffer, t_size p_size)
void set_entry_content(t_size which, metadb_handle_list_cref content)
Base class for all service classes. Provides interfaces for reference counter and querying for differ...
playlist_dataobject_desc_impl()
void set_side_data(t_size which, const void *data, t_size size)
void get_side_data(t_size which, mem_block_container &out) const
virtual void set_entry_count(t_size count)=0
virtual void get_entry_name(t_size which, pfc::string_base &out) const =0
~playlist_dataobject_desc_v2()
Generic interface for a memory block; used by various other interfaces to return memory blocks while ...
Helper template used to easily access core services. Usage: static_api_ptr_t<myclass> api; api->doso...
void set_from_playlist_manager(bit_array const &mask)
This is free and unencumbered software released into the public domain Anyone is free to copy
pfc::array_t< entry > m_entries
virtual void set_entry_name(t_size which, const char *name)=0
void set_entry_count(t_size count)
mem_block_container implementation.
t_size get_entry_count() const
pfc::array_t< t_uint8, pfc::alloc_fast > m_buffer