45 #include "rrPluginsAPIExporter.h"
46 #include "rrPluginsAPISettings.h"
63 typedef void (event_cc *PluginEvent)(
void* data1,
void* data2);
101 Plugin(
const string& name = gEmptyString,
102 const string& cat = gNoneString,
103 RoadRunner* aRR = NULL,
104 const string& language = gNoneString,
120 string getLibraryName();
130 string getCategory();
140 string getCopyright();
146 RoadRunner* getRoadRunnerInstance();
152 virtual string getInfo();
157 virtual string getExtendedInfo();
162 virtual unsigned char* getManualAsPDF()
const;
167 virtual unsigned int getPDFManualByteSize();
177 StringList getParameterNames();
182 string getPluginPropertiesAsXML();
187 PluginParameter* getParameter(
const string& param,
const string& capability =
"");
197 bool setParameter(
const string& nameOf,
const char* value);
202 bool setParameter(
const string& nameOf,
const char* value,
Capability& capability);
214 bool isBeingTerminated();
217 bool wasTerminated();
220 virtual bool isWorking();
223 bool assignRoadRunnerInstance(RoadRunner* rr);
228 virtual bool assignOnStartedEvent(PluginEvent pluginStarted,
void* userData1 = NULL,
void* userData2 = NULL);
233 virtual bool assignOnProgressEvent(PluginEvent pluginsProgress,
void* userData1 = NULL,
void* userData2 = NULL);
238 virtual bool assignOnFinishedEvent(PluginEvent pluginsFinished,
void* userData1 = NULL,
void* userData2 = NULL);
243 virtual string getResult();
248 virtual bool resetPlugin();
253 virtual bool assignInput(
void* data);
258 virtual string getStatus();
263 virtual string getImplementationLanguage() = 0;
268 virtual bool execute(
bool inAThread =
false) = 0;
312 void setLibraryName(
const string& libName);
bool mIsWorking
Boolean flag indicating if the plugin is working.
Definition: rrPlugin.h:295
Definition: rrPlugin.h:94
void * mWorkFinishedData2
Definition: rrPlugin.h:357
void * mWorkStartedData2
Definition: rrPlugin.h:337
void * mWorkProgressData1
Definition: rrPlugin.h:342
const PluginManager * mPM
Definition: rrPlugin.h:307
PluginEvent mWorkStartedEvent
Definition: rrPlugin.h:317
string mCopyright
Plugin copyright language.
Definition: rrPlugin.h:286
bool mTerminate
Boolean flag indicating if a user wants to terminate the work in a plugin.
Definition: rrPlugin.h:292
Definition: rrCapabilities.h:57
string mName
Name of Plugin.
Definition: rrPlugin.h:271
Capabilities mCapabilities
Definition: rrPlugin.h:363
string mAuthor
Name of plugin author(s)
Definition: rrPlugin.h:277
void * mWorkFinishedData1
Definition: rrPlugin.h:352
PluginEvent mWorkProgressEvent
Definition: rrPlugin.h:322
string mVersion
Plugin version.
Definition: rrPlugin.h:283
Definition: rrPluginParameter.h:58
string mLibraryName
Name of compiled shared library implementing the Plugin.
Definition: rrPlugin.h:274
void * mWorkStartedData1
Definition: rrPlugin.h:332
Container for Capabilities.
string mImplementationLanguage
Plugin implementation language.
Definition: rrPlugin.h:289
Definition: rrPluginManager.h:79
PluginEvent mWorkFinishedEvent
Definition: rrPlugin.h:327
Definition: rrParameters.h:63
void * mWorkProgressData2
Definition: rrPlugin.h:347
string mCategory
Plugin category.
Definition: rrPlugin.h:280
Definition: rrCapability.h:56
RoadRunner * mRR
Definition: rrPlugin.h:301
void * mClientData
Definition: rrPlugin.h:370