#include <collection_impl.h>
Public Member Functions | |
PluginCollectionImpl (void) | |
~PluginCollectionImpl (void) | |
void | set_data (PDFCollectionBase *coll) |
Data Fields | |
utils::Signal < PluginCollectionImpl * > | release_signal |
PluginCollectionImpl provides a template based collection container. Through this class, caller is able to store data inside the collection. If caller wants to strore pointe data in the collection, it's necessary for caller to connect the release_signal, so that when collection object is to be released, the caller can be notified.
Definition at line 48 of file pdf/plugin_impl/collection_impl.h.
pdf::PluginCollectionImpl::PluginCollectionImpl | ( | void | ) | [inline] |
Definition at line 52 of file pdf/plugin_impl/collection_impl.h.
References utils::ObjectTable< T >::add_interface(), IPluginCollection::get_data, IPluginCollection::get_num_elements, _IPluginUnknown::query_interface, and _IPluginUnknown::release.
00053 { 00054 query_interface = query_interface_impl; 00055 release = release_impl; 00056 get_data = get_data_impl; 00057 get_num_elements = get_num_elements_impl; 00058 00059 g_instances_table.add_interface<IPluginUnknown>(this); 00060 g_instances_table.add_interface<IPluginCollection>(this); 00061 }
pdf::PluginCollectionImpl::~PluginCollectionImpl | ( | void | ) | [inline] |
Definition at line 63 of file pdf/plugin_impl/collection_impl.h.
References utils::ObjectTable< T >::remove().
00064 { 00065 // the collection data should be released here 00066 g_instances_table.remove(this); 00067 delete data; 00068 data = 0; 00069 }
void pdf::PluginCollectionImpl::set_data | ( | PDFCollectionBase * | coll | ) | [inline] |
Definition at line 71 of file pdf/plugin_impl/collection_impl.h.
00072 { 00073 data = coll; 00074 }
Definition at line 77 of file pdf/plugin_impl/collection_impl.h.