57         cerr << 
"Cannot open library: " << dlerror() << 
'\n';
 
   60         DWORD dw = GetLastError();
 
   61         sprintf(szBuf, 
"%s failed: GetLastError returned %i\n",
 
   62             (
char*)plugin_file, (
int)dw);
 
   71     farp = GetProcAddress(handle, 
"DestroyIODeviceFactory");
 
   79     if(this->CreateIODeviceFactory!=NULL)
 
   80         m_factory = this->CreateIODeviceFactory();
 
   86     this->DestroyIODeviceFactory();
 
   88     CreateIODeviceFactory = NULL;
 
   89     DestroyIODeviceFactory = NULL;
 
  102         if(pfx==NULL) 
return NULL;
 
  108             for(
int i=0;
i<n;
i++) narray[
i] = array[
i];
 
  125     if(m_factory!=NULL) {
 
  128             if(array[j]==iodevice) {
 
  130                 m_factory->Destroy(iodevice);
 
  136                     for(i=0;i<j;i++) narray[i] = array[i];
 
  137                     for(i=j;i<(n-1);i++) narray[i] = array[i+1];
 
  155     if(!stricmp(effect_name, 
"nil")) 
return NULL;
 
  160         complete_name+= 
moText(
"_d");
 
  162     complete_name += 
moText(
".dll");
 
  166         complete_name+= 
moText(
"d");
 
  168     complete_name += moPluginExtension;
 
  175     for(
MOuint i = 0; 
i < plugins.Count(); 
i++)
 
  176         if(!stricmp(plugins[
i]->GetName(), complete_name))
 
  186         plg_index = plugins.Count();
 
  188         plugins.Add( pplugin );
 
  192     if(plugins[plg_index]->m_factory!=NULL)
 
  193     return plugins[plg_index]->Create();
 
  204     if( IODevice->
GetName() == 
"") 
return false;
 
  209         complete_name+= 
moText(
"d");
 
  211     complete_name += 
moText(
".dll");
 
  215         complete_name+= 
moText(
"d");
 
  217     complete_name += moPluginExtension;
 
  224     for(
MOuint i = 0; 
i < plugins.Count(); 
i++)
 
  225         if(!stricmp(plugins[
i]->GetName(), complete_name))
 
  236     bool res = plugins[plg_index]->Destroy(IODevice);
 
  239     if (res && plugins[plg_index]->n == 0) {
 
  240         plugins[plg_index]->Unload();
 
  241         plugins.Remove(plg_index);
 
static void Error(moText p_text)
Anuncia un error. 
 
const moText & GetName() const 
 
void Load(moText plugin_file)
 
clase de para manejar textos 
 
virtual ~moIODeviceFactory()
 
moTypes MOint moText moParamIndex moParamReference int iRow int int i int i
 
void moUnloadPlugin(MOpluginHandle &handle)
 
static const moText & GetModulesDir()
 
LIBMOLDEO_API bool moDeleteIODevice(moIODevice *IODevice, moIODevicePluginsArray &plugins)
 
moDefineDynamicArray(moIODevicePluginsArray) using namespace std
 
clase base para un plugin de dipositivos de E/S 
 
LIBMOLDEO_API moIODevice * moNewIODevice(moText effect_name, moIODevicePluginsArray &plugins)
 
void(MO_PLG_ENTRY * DestroyIODeviceFactoryFunction)()
 
moIODeviceFactory *(MO_PLG_ENTRY * CreateIODeviceFactoryFunction)()
 
MOpluginHandle moLoadPlugin(moText fn)
 
bool Destroy(moIODevice *iodevice)