X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=radiant%2Fplugin.h;h=75ab5c4c8c9f76e591c8aeee6493ae77a55fba6d;hb=d079351041fe957ab2cf6b36dab38e5546003dc3;hp=d2b9de372f18066171942d461e1e02648441584b;hpb=830125fad042fad35dc029b6eb57c8156ad7e176;p=xonotic%2Fnetradiant.git diff --git a/radiant/plugin.h b/radiant/plugin.h index d2b9de37..75ab5c4c 100644 --- a/radiant/plugin.h +++ b/radiant/plugin.h @@ -1,6 +1,6 @@ /* - Copyright (C) 1999-2007 id Software, Inc. and contributors. - For a list of contributors, see the accompanying CONTRIBUTORS file. + Copyright (C) 2001-2006, William Joseph. + All Rights Reserved. This file is part of GtkRadiant. @@ -19,27 +19,29 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ -#ifndef _PLUGIN_H_ -#define _PLUGIN_H_ +#if !defined( INCLUDED_PLUGIN_H ) +#define INCLUDED_PLUGIN_H -/*! - \class IPlugin - pure virtual interface for a plugin - temporary solution for migration from old plugin tech to synapse plugins - FIXME/TODO: plugin toolbar - */ -class IPlugIn -{ +class ModuleServer; +bool Radiant_Construct( ModuleServer& server ); +void Radiant_Destroy(); + + +template +class Modules; -public: -IPlugIn() { } -virtual ~IPlugIn() { } +struct _QERPlugImageTable; +typedef Modules<_QERPlugImageTable> ImageModules; +ImageModules& Radiant_getImageModules(); +class MapFormat; +typedef Modules MapModules; +MapModules& Radiant_getMapModules(); +struct _QERPlugToolbarTable; +typedef Modules<_QERPlugToolbarTable> ToolbarModules; +ToolbarModules& Radiant_getToolbarModules(); +struct _QERPluginTable; +typedef Modules<_QERPluginTable> PluginModules; +PluginModules& Radiant_getPluginModules(); -virtual const char* getMenuName() = 0; -virtual int getCommandCount() = 0; -virtual const char* getCommand( int ) = 0; -virtual void addMenuID( int ) = 0; -virtual bool ownsCommandID( int n ) = 0; -}; -#endif // _PLUGIN_H_ +#endif