cAudio  2.3.0
3d Audio Engine
 All Classes Namespaces Functions Variables Enumerations Pages
IPluginManager.h
1 // Copyright (c) 2008-2011 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones, Murat (wolfmanfx) Sari
2 // This file is part of the "cAudio Engine"
3 // For conditions of distribution and use, see copyright notice in cAudio.h
4 
5 #pragma once
6 
7 #include "IAudioPlugin.h"
8 #include "cAudioDefines.h"
9 
10 #ifdef CAUDIO_COMPILE_WITH_PLUGIN_SUPPORT
11 namespace cAudio
12 {
15  {
16  public:
17  IPluginManager() { }
18  virtual ~IPluginManager() { }
19 
21 
25  virtual bool installPlugin(IAudioPlugin* plugin, const char* name = NULL) = 0;
26 
28 
32  virtual bool installPlugin(const char* filename, const char* name = NULL) = 0;
33 
35 
37  virtual bool checkForPlugin(const char* name) = 0;
38 
40 
43  virtual IAudioPlugin* getPlugin(const char* name) = 0;
44 
46  virtual unsigned int getPluginCount() = 0;
47 
49 
51  virtual void uninstallPlugin(IAudioPlugin* plugin) = 0;
52 
54 
56  virtual void uninstallPlugin(const char* name) = 0;
57  };
58 
60 
63  CAUDIO_API IPluginManager* getPluginManager();
64 };
65 
66 #endif
virtual bool checkForPlugin(const char *name)=0
Checks for the existance of a plugin with the supplied name.
virtual void uninstallPlugin(IAudioPlugin *plugin)=0
Removes a plugin installed via statically linked reference.
virtual unsigned int getPluginCount()=0
Returns the total number of installed plugins.
Interface for the plugin capabilities of cAudio.
CAUDIO_API IPluginManager * getPluginManager()
Gets the interface to the plugin manager.
Interface for all plugins in cAudio.
Definition: IAudioPlugin.h:15
virtual bool installPlugin(IAudioPlugin *plugin, const char *name=NULL)=0
Installs a plugin using a statically linked plugin implementation.
virtual IAudioPlugin * getPlugin(const char *name)=0
Returns a plugin interface for a plugin with the supplied name.