emailuis/nmailuiengine/inc/nmdatapluginfactory.h
changeset 27 9ba4404ef423
parent 18 578830873419
equal deleted inserted replaced
23:2dc6caa42ec3 27:9ba4404ef423
    20 #define NMDATAPLUGINFACTORY_H_
    20 #define NMDATAPLUGINFACTORY_H_
    21 
    21 
    22 #include "nmuienginedef.h"
    22 #include "nmuienginedef.h"
    23 
    23 
    24 class NmDataPluginInterface;
    24 class NmDataPluginInterface;
       
    25 class NmApplicationStateInterface;
    25 class QDir;
    26 class QDir;
    26 class QPluginLoader;
    27 class QPluginLoader;
    27 
    28 
    28 /*!
    29 /*!
    29     \class NmDataPluginFactory
    30     \class NmDataPluginFactory
    35 public:
    36 public:
    36     static NmDataPluginFactory *instance();
    37     static NmDataPluginFactory *instance();
    37     static void releaseInstance(NmDataPluginFactory *&instance);
    38     static void releaseInstance(NmDataPluginFactory *&instance);
    38     NmDataPluginInterface *interfaceInstance(QObject *plugin);
    39     NmDataPluginInterface *interfaceInstance(QObject *plugin);
    39     NmDataPluginInterface *interfaceInstance(NmId mailboxId);
    40     NmDataPluginInterface *interfaceInstance(NmId mailboxId);
       
    41     NmApplicationStateInterface *applicationStateInterfaceInstance(NmId mailboxId);
    40     QObject *pluginInstance(NmId mailboxId);
    42     QObject *pluginInstance(NmId mailboxId);
    41     QList<QObject*> *pluginInstances();
    43     QList<QObject*> *pluginInstances();
    42     QObject *loadPlugin(
    44     QObject *loadPlugin(
    43         const QDir &pluginDir,
    45         const QDir &pluginDir,
    44         const QString& pluginName);
    46         const QString& pluginName);
    45 private:
    47 private:
       
    48     NmApplicationStateInterface *applicationStateInterfaceInstance(QObject *plugin);
    46     NmDataPluginFactory();
    49     NmDataPluginFactory();
    47     virtual ~NmDataPluginFactory();
    50     virtual ~NmDataPluginFactory();
    48     static NmDataPluginFactory   *mInstance;         // owned
    51     static NmDataPluginFactory   *mInstance;         // owned
    49     static int                   mReferenceCount;
    52     static int                   mReferenceCount;
    50     static QList<QObject*>       *mPluginArray;      // owned
    53     static QList<QObject*>       *mPluginArray;      // owned