41 #define C_DECL __cdecl 42 #define C_EXPORT extern "C" __declspec(dllexport) 43 #elif defined(__GNUC__) 45 #define C_EXPORT extern "C" __attribute__((visibility("default"))) 48 #define C_EXPORT extern "C" 62 virtual const char* GetPluginName() = 0;
67 virtual const char* GetPluginVersionString() = 0;
72 virtual bool GetRequiredOnServer() = 0;
77 virtual bool GetRequiredOnClient() = 0;
82 virtual const char* GetRequiredPlugins() = 0;
87 virtual const char* GetDescription() = 0;
92 virtual const char* GetEULA() = 0;
99 virtual void GetBinaryResources(std::vector<std::string>& resources);
126 static void SetEULAConfirmationCallback(EULAConfirmationCallback callback);
127 static EULAConfirmationCallback GetEULAConfirmationCallback();
136 void SetFileName(
const char* filename);
149 static EULAConfirmationCallback EULAConfirmationCallbackPtr;
161 #ifdef PARAVIEW_BUILDING_PLUGIN 169 #if PARAVIEW_PLUGIN_BUILT_SHARED 170 #define _PV_PLUGIN_GLOBAL_FUNCTIONS(PLUGIN) \ 171 C_EXPORT vtkPVPlugin* C_DECL pv_plugin_instance() { return pv_plugin_instance_##PLUGIN(); } 175 #define _PV_PLUGIN_GLOBAL_FUNCTIONS(PLUGIN) 182 #define PV_PLUGIN_EXPORT(PLUGIN, PLUGINCLASS) \ 183 C_EXPORT vtkPVPlugin* C_DECL pv_plugin_instance_##PLUGIN() \ 185 static PLUGINCLASS instance; \ 188 _PV_PLUGIN_GLOBAL_FUNCTIONS(PLUGIN); 197 #define PV_PLUGIN_IMPORT_INIT(PLUGIN) extern "C" vtkPVPlugin* pv_plugin_instance_##PLUGIN(); 199 #define PV_PLUGIN_IMPORT(PLUGIN) vtkPVPlugin::ImportPlugin(pv_plugin_instance_##PLUGIN()); 203 #endif // vtkPVPlugin_h
defines the core interface for any ParaView plugin.
Used to load ParaView plugins.
const char * GetFileName()
#define VTKREMOTINGCORE_EXPORT
vtkPVPlugin *(C_DECL * pv_plugin_query_instance_fptr)()