/* * This file is a part of Winix * and is not publicly distributed * * Copyright (c) 2008-2012, Tomasz Sowa * All rights reserved. * */ #ifndef headerfile_winix_core_plugindata #define headerfile_winix_core_plugindata #include struct PluginDataBase { virtual ~PluginDataBase() {} /* when deleting sessions we first call Clear() method consequently the destructor has nothing to do (and it doesn not throw an exception) */ virtual void Clear() {} }; class PluginData { public: void Assign(size_t index, PluginDataBase * data); void Assign(PluginDataBase * data); PluginDataBase * Get(size_t index); PluginDataBase * Get(); void DeleteAll(); PluginData(); PluginData(const PluginData & p); PluginData & operator=(const PluginData & p); ~PluginData(); size_t Size() const; void Resize(size_t new_size); private: std::vector table; }; #endif