Project

General

Profile

SO3Engine
SO3Plugin.h
Go to the documentation of this file.
1
5#ifndef __SO3_PLUGIN_H__
6#define __SO3_PLUGIN_H__
7
9
10namespace SO3
11{
12
13struct _SO3_Export SPluginInfos
14{
15 std::string fileName;
16 std::string name;
17 std::string version;
18 std::string author;
19 std::string authorEmail;
20 std::string description;
21 std::string urlLink;
22};
23
24typedef void (*SO3_START_PLUGIN)(void);
25typedef void (*SO3_STOP_PLUGIN)(void);
26
29class _SO3_Export SPlugin
30{
31public:
32protected:
35 SO3_PLUGIN_INSTANCE instanceId;
36private:
37
38public:
42 SPlugin(const std::string& pluginName);
43
47 virtual ~SPlugin();
48
52 virtual void Load();
53
57 virtual void Unload();
58
62 bool IsLoaded();
63
67 virtual void* GetSymbol(const char* symbolName) const throw();
68
72 SPluginInfos GetInfo();
73protected:
74private:
75};
76
77}
78
79#endif
librairies include
SPluginInfos pluginInfos
Definition SO3Plugin.h:33
bool isLoaded
Definition SO3Plugin.h:34
SO3_PLUGIN_INSTANCE instanceId
Definition SO3Plugin.h:35
void(* SO3_START_PLUGIN)(void)
Definition SO3Plugin.h:24
void(* SO3_STOP_PLUGIN)(void)
Definition SO3Plugin.h:25
std::string version
Definition SO3Plugin.h:17
std::string author
Definition SO3Plugin.h:18
std::string description
Definition SO3Plugin.h:20
std::string fileName
Definition SO3Plugin.h:15
std::string urlLink
Definition SO3Plugin.h:21
std::string name
Definition SO3Plugin.h:16
std::string authorEmail
Definition SO3Plugin.h:19