cfg_guidlist.h

Go to the documentation of this file.
00001 class cfg_guidlist : public cfg_var, public pfc::list_t<GUID>
00002 {
00003 public:
00004         void get_data_raw(stream_writer * p_stream,abort_callback & p_abort) {
00005                 t_uint32 n, m = pfc::downcast_guarded<t_uint32>(get_count());
00006                 p_stream->write_lendian_t(m,p_abort);
00007                 for(n=0;n<m;n++) p_stream->write_lendian_t(get_item(n),p_abort);
00008         }
00009         void set_data_raw(stream_reader * p_stream,t_size p_sizehint,abort_callback & p_abort) {
00010                 t_uint32 n,count;
00011                 p_stream->read_lendian_t(count,p_abort);
00012                 m_buffer.set_size(count);
00013                 for(n=0;n<count;n++) {
00014                         try {
00015                                 p_stream->read_lendian_t(m_buffer[n],p_abort);
00016                         } catch(...) {m_buffer.set_size(0); throw;}
00017                 }
00018         }
00019 
00020         void sort() {sort_t(pfc::guid_compare);}
00021 
00022         bool have_item_bsearch(const GUID & p_item) {
00023                 t_size dummy;
00024                 return bsearch_t(pfc::guid_compare,p_item,dummy);
00025         }
00026 
00027 public:
00028         cfg_guidlist(const GUID & p_guid) : cfg_var(p_guid) {}
00029 };

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