File: plugin.cpp

package info (click to toggle)
aethera 0.9.3-7
  • links: PTS
  • area: main
  • in suites: woody
  • size: 8,588 kB
  • ctags: 7,282
  • sloc: cpp: 64,544; sh: 9,913; perl: 1,756; makefile: 1,680; python: 258
file content (53 lines) | stat: -rw-r--r-- 1,793 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53

#include <kore/version.h>
#include <kore/kernel.h>
#include <kore/servicemanager.h>
 
#include "plugin.h"
 
#define MAILFILTER_PLUGIN_MAJOR 0
#define MAILFILTER_PLUGIN_MINOR 0
#define MAILFILTER_PLUGIN_REVISION 0
#define MAILFILTER_PLUGIN_VERSION "0.0.0"
#define MAILFILTER_PLUGIN_API_MAJOR 0
#define MAILFILTER_PLUGIN_API_MINOR 0
#define MAILFILTER_PLUGIN_API_REVISION 0
#define MAILFILTER_PLUGIN_API_VERSION "0.0.0"
#define MAILFILTER_PLUGIN_NAME "Mail Filter Plugin"
#define MAILFILTER_PLUGIN_TYPE "Plugin"
#define MAILFILTER_PLUGIN_DESCRIPTION "This plugin for filtering your emails."

PLUGIN_MAIN_BODY(MailFilterPlugin,libHandle,libName,libPath,libFlags); 

MailFilterPlugin::MailFilterPlugin(HMODULE libhandle, const char* libname, const char* libpath, int flags):Plugin(libhandle,libname,libpath,flags)
{
  _pluginVersion = new Version(MAILFILTER_PLUGIN_MAJOR,MAILFILTER_PLUGIN_MINOR,MAILFILTER_PLUGIN_REVISION,MAILFILTER_PLUGIN_VERSION);
  _pluginAPIVersion = new Version(MAILFILTER_PLUGIN_API_MAJOR,MAILFILTER_PLUGIN_API_MINOR,MAILFILTER_PLUGIN_API_REVISION,MAILFILTER_PLUGIN_API_VERSION);
  _pluginInfo = new Info(this, MAILFILTER_PLUGIN_NAME, MAILFILTER_PLUGIN_TYPE, MAILFILTER_PLUGIN_DESCRIPTION, _pluginVersion, _pluginAPIVersion);
}

MailFilterPlugin::~MailFilterPlugin()
{
    delete _pluginInfo;
    delete _pluginVersion;
    delete _pluginAPIVersion;
    delete filter;
}
void MailFilterPlugin::pluginLoaded()
{
    // Nothing to do here
}
void MailFilterPlugin::initPlugin()
{
    filter = new MailFilter();
    Kernel::instance()->serviceManager()->registerProvider( filter );
}
void MailFilterPlugin::unloadingPlugin()
{
    if( filter )
    {
        Kernel::instance()->serviceManager()->unregisterProvider( filter );
        delete filter;
        filter = 0;
    }
}