#ifndef __PLUGIN_CREATOR_H__ #define __PLUGIN_CREATOR_H__ template class PLUGIN_CREATOR { public: PLUGIN_CREATOR() : plugin(new T()) {} ~PLUGIN_CREATOR() { delete plugin; } T * GetPlugin() { return plugin; } private: T * plugin; PLUGIN_CREATOR(const PLUGIN_CREATOR & rvalue); PLUGIN_CREATOR & operator=(const PLUGIN_CREATOR & rvalue); }; #endif