libmoldeo (Moldeo 1.0 Core)  1.0
libmoldeo es el conjunto de objetos y funciones, que permiten ejecutar las operaciones básicas de la plataforma Moldeo, y que compone su núcleo.
 Todo Clases Namespaces Archivos Funciones Variables 'typedefs' Enumeraciones Valores de enumeraciones Amigas 'defines' Grupos Páginas
moMasterPlugin.h
Ir a la documentación de este archivo.
1 /*******************************************************************************
2 
3  moMasterPlugin.h
4 
5  ****************************************************************************
6  * *
7  * This source is free software; you can redistribute it and/or modify *
8  * it under the terms of the GNU General Public License as published by *
9  * the Free Software Foundation; either version 2 of the License, or *
10  * (at your option) any later version. *
11  * *
12  * This code is distributed in the hope that it will be useful, but *
13  * WITHOUT ANY WARRANTY; without even the implied warranty of *
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
15  * General Public License for more details. *
16  * *
17  * A copy of the GNU General Public License is available on the World *
18  * Wide Web at <http://www.gnu.org/copyleft/gpl.html>. You can also *
19  * obtain it by writing to the Free Software Foundation, *
20  * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
21  * *
22  ****************************************************************************
23 
24  Copyright(C) 2006 Fabricio Costa
25 
26  Authors:
27  Fabricio Costa
28  Andrés Colubri
29 
30 *******************************************************************************/
31 #include "moBasePlugin.h"
32 #include "moMasterEffect.h"
33 
34 #ifndef __MO_MASTER_PLUGIN_H__
35 #define __MO_MASTER_PLUGIN_H__
36 
38 {
39 public:
41  virtual ~moMasterEffectFactory();
42  virtual moMasterEffect* Create(void) = 0;
43  virtual void Destroy(moMasterEffect* fx) = 0;
44 };
45 
48 
50 {
51 public:
53  int n;
54 
57 
59 
60  moMasterPlugin() { handle = NULL; n=0; array = NULL; m_factory = NULL; }
61  moMasterPlugin(moText plugin_file) { m_factory = NULL; handle = NULL; n = 0; array = NULL; Load(plugin_file); }
62  virtual ~moMasterPlugin() { if(handle != NULL) Unload(); }
63 
64  void Load(moText plugin_file);
65  void Unload();
66  moMasterEffect* Create();
67  bool Destroy(moMasterEffect *mastereffect);
68  moText GetName() { return name; }
69 private:
70  moText name;
71  MOpluginHandle handle;
72 };
73 
74 /*
75 template class LIBMOLDEO_API moDynamicArray<moMasterPlugin*>;
76 typedef moDynamicArray<moMasterPlugin*> moMasterPluginsArray;
77 */
78 moDeclareExportedDynamicArray( moMasterPlugin*, moMasterPluginsArray );
79 
80 LIBMOLDEO_API moMasterEffect* moNewMasterEffect(moText effect_name, moMasterPluginsArray &plugins);
81 LIBMOLDEO_API bool moDeleteMasterEffect(moMasterEffect* effect, moMasterPluginsArray &plugins);
82 
83 #endif
84 
virtual ~moMasterPlugin()
CreateMasterEffectFactoryFunction CreateMasterEffectFactory
moDeclareExportedDynamicArray(moMasterPlugin *, moMasterPluginsArray)
LIBMOLDEO_API bool moDeleteMasterEffect(moMasterEffect *effect, moMasterPluginsArray &plugins)
#define LIBMOLDEO_API
Definition: moTypes.h:180
#define MO_PLG_ENTRY
Definition: moBasePlugin.h:46
clase de para manejar textos
Definition: moText.h:75
moMasterEffectFactory *(MO_PLG_ENTRY * CreateMasterEffectFactoryFunction)()
void(MO_PLG_ENTRY * DestroyMasterEffectFactoryFunction)()
moMasterPlugin(moText plugin_file)
void * MOpluginHandle
Definition: moBasePlugin.h:44
moText GetName()
LIBMOLDEO_API moMasterEffect * moNewMasterEffect(moText effect_name, moMasterPluginsArray &plugins)
moMasterEffect ** array
DestroyMasterEffectFactoryFunction DestroyMasterEffectFactory
moMasterEffectFactory * m_factory