april  1.0.0
...
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
aprilplugininterf.h
Go to the documentation of this file.
1 /* ========================================================================= */
2 /* ------------------------------------------------------------------------- *//*
12 
13 
14  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
15  Please read COPYING and README files in root folder
16  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
17 */
18 /* ------------------------------------------------------------------------- */
19 /* ========================================================================= */
20 #ifndef __APRILPLUGININTERF_INC__
21 #define __APRILPLUGININTERF_INC__
22 //
23 //
24 //
25 //
26 /* INCLUDES ------------------------------------------------------------ */
27 
28 #include <april/april.h>
29 #include <libbbb/1/list2d.h>
30 #include <QtPlugin>
31 #include <QPluginLoader>
32 
33 /* INCLUDES ============================================================ */
34 //
35 //
36 //
37 //
38 /* DEFINITIONS --------------------------------------------------------- */
39 
41 class
43  AprilPluginLoader : public QPluginLoader, public List2De, public MemTrack {
44  BBM_TRACK( AprilPluginInterf );
45 public:
47  AprilPluginLoader( const QString & s ) : QPluginLoader( s ), List2De(), MemTrack()
48  {}
49 
51  QString name ( void );
52 
53 };
54 
55 namespace april {
56 class AprilLibrary;
57 }
58 
59 /* DEFINITIONS ========================================================= */
60 //
61 //
62 //
63 //
64 /* CLASS --------------------------------------------------------------- */
65 
69 class
71  AprilPluginInterf : public QObject, public MemTrack {
72  BBM_TRACK( AprilPluginInterf );
73 
74  //
75  //
76  //
77  //
78  /* DEFINITIONS ----------------------------------------------------- */
79 
80  friend class april::AprilLibrary;
81 
82  /* DEFINITIONS ===================================================== */
83  //
84  //
85  //
86  //
87  /* DATA ------------------------------------------------------------ */
88 
89 private:
90 
91 
92  /* DATA ============================================================ */
93  //
94  //
95  //
96  //
97  /* FUNCTIONS ------------------------------------------------------- */
98 
99 public:
100 
102  AprilPluginInterf ( void );
103 
105  virtual ~AprilPluginInterf ( void );
106 
108  virtual QString name ( void ) = 0;
109 
110 protected:
111 
113 
122  virtual bool initialised ( void )
123  { return true; }
124 
126 
129  virtual void unloading ( void )
130  {}
131 
132  /* FUNCTIONS ======================================================= */
133  //
134  //
135  //
136  //
137 
138 }; /* class AprilPluginInterf */
139 
140 /* CLASS =============================================================== */
141 //
142 //
143 //
144 //
145 
146 Q_DECLARE_INTERFACE(AprilPluginInterf, "org.april.PluginInterface/1.0")
147 
148 #endif // __APRILPLUGININTERF_INC__
149 /* ------------------------------------------------------------------------- */
150 /* ========================================================================= */