inc/unidatamodelloader.h
changeset 25 84d9eb65b26f
parent 23 238255e8b033
child 47 5b14749788d7
equal deleted inserted replaced
23:238255e8b033 25:84d9eb65b26f
    17 
    17 
    18 #ifndef UNI_DATA_MODEL_LOADER_H
    18 #ifndef UNI_DATA_MODEL_LOADER_H
    19 #define UNI_DATA_MODEL_LOADER_H
    19 #define UNI_DATA_MODEL_LOADER_H
    20 
    20 
    21 #include <QMap>
    21 #include <QMap>
       
    22 #include "convergedmessage.h"
    22 
    23 
    23 //Forward declarations
    24 //Forward declarations
    24 class UniDataModelPluginInterface;
    25 class UniDataModelPluginInterface;
    25 
    26 class QPluginLoader;
    26 
    27 
    27 
    28 
    28 #ifdef BUILD_DLL_DATA_MODEL
    29 #ifdef BUILD_DLL_DATA_MODEL
    29 #define UNI_DATA_MODEL_LOADER_EXPORT Q_DECL_EXPORT
    30 #define UNI_DATA_MODEL_LOADER_EXPORT Q_DECL_EXPORT
    30 #else
    31 #else
    36 
    37 
    37 
    38 
    38 /**
    39 /**
    39  * Loads all the data model plugins.
    40  * Loads all the data model plugins.
    40  */
    41  */
    41 class UNI_DATA_MODEL_LOADER_EXPORT UniDataModelLoader
    42 class UNI_DATA_MODEL_LOADER_EXPORT UniDataModelLoader 
    42 {
    43 {
    43 public:
    44 public:
    44     /**
    45     /**
    45      * Constructor.
    46      * Constructor.
    46      */
    47      */
    53 
    54 
    54     /**
    55     /**
    55      * Gets the  data model intended plugin.
    56      * Gets the  data model intended plugin.
    56      * @param messageType
    57      * @param messageType
    57      */
    58      */
    58     UniDataModelPluginInterface* getDataModelPlugin(const QString& messageType);
    59     UniDataModelPluginInterface* getDataModelPlugin(ConvergedMessage::MessageType messageType);
    59 
       
    60     /**
       
    61      * Loads plugins
       
    62      */
       
    63     void loadPlugins();
       
    64 
    60 
    65 private:
    61 private:
    66     /**
    62     /**
    67      * This shall store all the message types
    63      * Keep a list of all the pluginloaders used
    68      * mapped to plugin instance
       
    69      */
    64      */
    70     QMap<QString, UniDataModelPluginInterface*> mDataModelPluginMap;
    65     QList<QPluginLoader* > mPluginLoaderList;
    71 };
    66 };
    72 
    67 
    73 #endif //UNI_DATA_MODEL_LOADER_H
    68 #endif //UNI_DATA_MODEL_LOADER_H