winix/core/plugindata.h

57 lines
739 B
C++
Executable File

/*
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2008-2010, Tomasz Sowa
* All rights reserved.
*
*/
#ifndef headerfilecmslucoreplugindata
#define headerfilecmslucoreplugindata
#include <vector>
struct PluginDataBase
{
virtual ~PluginDataBase() {}
};
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<PluginDataBase*> table;
};
#endif