smf/smfservermodule/smfserver/pluginmgr/smfpluginmanagerutil.h
changeset 14 a469c0e6e7fb
parent 7 be09cf1f39dd
child 18 013a02bf2bb0
equal deleted inserted replaced
13:b5d63d5fc252 14:a469c0e6e7fb
    19  */
    19  */
    20 
    20 
    21 #ifndef SMFPLUGINMANAGERUTIL_H_
    21 #ifndef SMFPLUGINMANAGERUTIL_H_
    22 #define SMFPLUGINMANAGERUTIL_H_
    22 #define SMFPLUGINMANAGERUTIL_H_
    23 
    23 
    24 #include <smfpluginbase.h>
    24 #include "smfpluginbase.h"
    25 #include <smfserverglobal.h>
    25 #include "smfserverglobal.h"
    26 
    26 
    27 // Forward declaration
    27 // Forward declaration
    28 class SmfPluginManager;
    28 class SmfPluginManager;
    29 
    29 
    30 /**
    30 /**
    62 	 * web queries using the aOperation and aInputData parameters.
    62 	 * web queries using the aOperation and aInputData parameters.
    63 	 * @param aInstance Instance of the loaded plugin that perform this operation
    63 	 * @param aInstance Instance of the loaded plugin that perform this operation
    64 	 * @param aOperation The type of operation to be performed
    64 	 * @param aOperation The type of operation to be performed
    65 	 * @param aInputData The data required to create the web query
    65 	 * @param aInputData The data required to create the web query
    66 	 * @param aReqData [out] The request data created by the plugin
    66 	 * @param aReqData [out] The request data created by the plugin
    67 	 * @param aResult [out] SmfPluginManagerResult, The result of the operation
    67 	 * @param aResult [out] SmfError, The result of the operation
    68 	 * @see smfglobal.h
    68 	 * It can be :-
       
    69 	 * SmfPluginNoError (if plugin has created the request successfully)
       
    70 	 * SmfPluginUnknownPluginService (if plugin service is not known or unsupported)
       
    71 	 * SmfPluginRequestCreationFailed (if request creation has failed)
    69 	 */
    72 	 */
    70 	void createRequest ( QObject* aInstance, 
    73 	void createRequest ( QObject* aInstance, 
    71 			const SmfRequestTypeID &aOperation, 
    74 			const SmfRequestTypeID &aOperation, 
    72 			QByteArray &aInputData,
    75 			QByteArray &aInputData,
    73 			SmfPluginRequestData &aReqData,
    76 			SmfPluginRequestData &aReqData,
    74 			SmfPluginManagerResult &aResult );
    77 			SmfError &aResult );
       
    78 	
       
    79 	/**
       
    80 	 * Method to create a web query to fetch activities
       
    81 	 * @param aPlugin The instance of the loaded plugin that performs the 
       
    82 	 * contact fetch operation.
       
    83 	 * @param aOperation The type of operation to be performed
       
    84 	 * @param aInputData The data required to create the web query
       
    85 	 * @param aReqData [out] The request data created by the plugin
       
    86 	 * @return SmfPluginError
       
    87 	 */
       
    88 	SmfPluginError createActivityFetcherRequest ( QObject *aPlugin, 
       
    89 			const SmfRequestTypeID &aOperation, 
       
    90 			QByteArray &aInputData,
       
    91 			SmfPluginRequestData &aReqData );
    75 
    92 
    76 	/**
    93 	/**
    77 	 * Method to create a web query to fetch contact details.
    94 	 * Method to create a web query to fetch contact details.
    78 	 * @param aPlugin The instance of the loaded plugin that performs the 
    95 	 * @param aPlugin The instance of the loaded plugin that performs the 
    79 	 * contact fetch operation.
    96 	 * contact fetch operation.
    80 	 * @param aOperation The type of operation to be performed
    97 	 * @param aOperation The type of operation to be performed
    81 	 * @param aInputData The data required to create the web query
    98 	 * @param aInputData The data required to create the web query
    82 	 * @param aReqData [out] The request data created by the plugin
    99 	 * @param aReqData [out] The request data created by the plugin
    83 	 * @param aResult [out] SmfPluginManagerResult, The result of the operation
   100 	 * @return SmfPluginError
    84 	 * @return SmfPluginError
       
    85 	 * @see smfglobal.h
       
    86 	 */
   101 	 */
    87 	SmfPluginError createContactFetcherRequest ( QObject *aPlugin, 
   102 	SmfPluginError createContactFetcherRequest ( QObject *aPlugin, 
    88 			const SmfRequestTypeID &aOperation, 
   103 			const SmfRequestTypeID &aOperation, 
    89 			QByteArray &aInputData,
   104 			QByteArray &aInputData,
    90 			SmfPluginRequestData &aReqData,
   105 			SmfPluginRequestData &aReqData );
    91 			SmfPluginManagerResult &aResult );
       
    92 	
   106 	
    93 	/**
   107 	/**
    94 	 * Method to create a web query to do post operation on contacts 
   108 	 * Method to create a web query to do post operation on contacts 
    95 	 * (like scraps or messages)
   109 	 * (like scraps or messages)
    96 	 * @param aPlugin The instance of the loaded plugin that performs the 
   110 	 * @param aPlugin The instance of the loaded plugin that performs the 
    97 	 * contact fetch operation.
   111 	 * contact fetch operation.
    98 	 * @param aOperation The type of operation to be performed
   112 	 * @param aOperation The type of operation to be performed
    99 	 * @param aInputData The data required to create the web query
   113 	 * @param aInputData The data required to create the web query
   100 	 * @param aReqData [out] The request data created by the plugin
   114 	 * @param aReqData [out] The request data created by the plugin
   101 	 * @param aResult [out] SmfPluginManagerResult, The result of the operation
   115 	 * @return SmfPluginError
   102 	 * @return SmfPluginError
       
   103 	 * @see smfglobal.h
       
   104 	 */
   116 	 */
   105 	SmfPluginError createContactPostRequest ( QObject *aPlugin, 
   117 	SmfPluginError createContactPostRequest ( QObject *aPlugin, 
   106 			const SmfRequestTypeID &aOperation, 
   118 			const SmfRequestTypeID &aOperation, 
   107 			QByteArray &aInputData,
   119 			QByteArray &aInputData,
   108 			SmfPluginRequestData &aReqData,
   120 			SmfPluginRequestData &aReqData );
   109 			SmfPluginManagerResult &aResult );
       
   110 
   121 
   111 	/**
   122 	/**
   112 	 * Method to create a web query to do music lyrics or subtitle search
   123 	 * Method to create a web query to do music lyrics or subtitle search
   113 	 * @param aPlugin The instance of the loaded plugin that performs the 
   124 	 * @param aPlugin The instance of the loaded plugin that performs the 
   114 	 * contact fetch operation.
   125 	 * contact fetch operation.
   115 	 * @param aOperation The type of operation to be performed
   126 	 * @param aOperation The type of operation to be performed
   116 	 * @param aInputData The data required to create the web query
   127 	 * @param aInputData The data required to create the web query
   117 	 * @param aReqData [out] The request data created by the plugin
   128 	 * @param aReqData [out] The request data created by the plugin
   118 	 * @param aResult [out] SmfPluginManagerResult, The result of the operation
   129 	 * @return SmfPluginError
   119 	 * @return SmfPluginError
       
   120 	 * @see smfglobal.h
       
   121 	 */
   130 	 */
   122 	SmfPluginError createMusicLyricsRequest ( QObject *aPlugin, 
   131 	SmfPluginError createMusicLyricsRequest ( QObject *aPlugin, 
   123 			const SmfRequestTypeID &aOperation, 
   132 			const SmfRequestTypeID &aOperation, 
   124 			QByteArray &aInputData,
   133 			QByteArray &aInputData,
   125 			SmfPluginRequestData &aReqData,
   134 			SmfPluginRequestData &aReqData );
   126 			SmfPluginManagerResult &aResult );
       
   127 
   135 
   128 
   136 
   129 	/**
   137 	/**
   130 	 * Method to create a web query to do music event search or event post operation 
   138 	 * Method to create a web query to do music event search or event post operation 
   131 	 * @param aPlugin The instance of the loaded plugin that performs the 
   139 	 * @param aPlugin The instance of the loaded plugin that performs the 
   132 	 * contact fetch operation.
   140 	 * contact fetch operation.
   133 	 * @param aOperation The type of operation to be performed
   141 	 * @param aOperation The type of operation to be performed
   134 	 * @param aInputData The data required to create the web query
   142 	 * @param aInputData The data required to create the web query
   135 	 * @param aReqData [out] The request data created by the plugin
   143 	 * @param aReqData [out] The request data created by the plugin
   136 	 * @param aResult [out] SmfPluginManagerResult, The result of the operation
   144 	 * @return SmfPluginError
   137 	 * @return SmfPluginError
       
   138 	 * @see smfglobal.h
       
   139 	 */
   145 	 */
   140 	SmfPluginError createMusicEventsRequest ( QObject *aPlugin, 
   146 	SmfPluginError createMusicEventsRequest ( QObject *aPlugin, 
   141 			const SmfRequestTypeID &aOperation, 
   147 			const SmfRequestTypeID &aOperation, 
   142 			QByteArray &aInputData,
   148 			QByteArray &aInputData,
   143 			SmfPluginRequestData &aReqData,
   149 			SmfPluginRequestData &aReqData );
   144 			SmfPluginManagerResult &aResult );
       
   145 
   150 
   146 	/**
   151 	/**
   147 	 * Method to create a web query to do music search operation 
   152 	 * Method to create a web query to do music search operation 
   148 	 * @param aPlugin The instance of the loaded plugin that performs the 
   153 	 * @param aPlugin The instance of the loaded plugin that performs the 
   149 	 * contact fetch operation.
   154 	 * contact fetch operation.
   150 	 * @param aOperation The type of operation to be performed
   155 	 * @param aOperation The type of operation to be performed
   151 	 * @param aInputData The data required to create the web query
   156 	 * @param aInputData The data required to create the web query
   152 	 * @param aReqData [out] The request data created by the plugin
   157 	 * @param aReqData [out] The request data created by the plugin
   153 	 * @param aResult [out] SmfPluginManagerResult, The result of the operation
   158 	 * @return SmfPluginError
   154 	 * @return SmfPluginError
       
   155 	 * @see smfglobal.h
       
   156 	 */
   159 	 */
   157 	SmfPluginError createMusicSearchRequest ( QObject *aPlugin, 
   160 	SmfPluginError createMusicSearchRequest ( QObject *aPlugin, 
   158 			const SmfRequestTypeID &aOperation, 
   161 			const SmfRequestTypeID &aOperation, 
   159 			QByteArray &aInputData,
   162 			QByteArray &aInputData,
   160 			SmfPluginRequestData &aReqData,
   163 			SmfPluginRequestData &aReqData );
   161 			SmfPluginManagerResult &aResult );
       
   162 
   164 
   163 
   165 
   164 	/**
   166 	/**
   165 	 * Method to create a web query to do music service request operation 
   167 	 * Method to create a web query to do music service request operation 
   166 	 * like getting self profile or search profiles of other users
   168 	 * like getting self profile or search profiles of other users
   167 	 * @param aPlugin The instance of the loaded plugin that performs the 
   169 	 * @param aPlugin The instance of the loaded plugin that performs the 
   168 	 * contact fetch operation.
   170 	 * contact fetch operation.
   169 	 * @param aOperation The type of operation to be performed
   171 	 * @param aOperation The type of operation to be performed
   170 	 * @param aInputData The data required to create the web query
   172 	 * @param aInputData The data required to create the web query
   171 	 * @param aReqData [out] The request data created by the plugin
   173 	 * @param aReqData [out] The request data created by the plugin
   172 	 * @param aResult [out] SmfPluginManagerResult, The result of the operation
   174 	 * @return SmfPluginError
   173 	 * @return SmfPluginError
       
   174 	 * @see smfglobal.h
       
   175 	 */
   175 	 */
   176 	SmfPluginError createMusicServiceRequest ( QObject *aPlugin, 
   176 	SmfPluginError createMusicServiceRequest ( QObject *aPlugin, 
   177 			const SmfRequestTypeID &aOperation, 
   177 			const SmfRequestTypeID &aOperation, 
   178 			QByteArray &aInputData,
   178 			QByteArray &aInputData,
   179 			SmfPluginRequestData &aReqData,
   179 			SmfPluginRequestData &aReqData );
   180 			SmfPluginManagerResult &aResult );
       
   181 
   180 
   182 
   181 
   183 	/**
   182 	/**
   184 	 * Method to create a web query to do music playlist related operation
   183 	 * Method to create a web query to do music playlist related operation
   185 	 * @param aPlugin The instance of the loaded plugin that performs the 
   184 	 * @param aPlugin The instance of the loaded plugin that performs the 
   186 	 * contact fetch operation.
   185 	 * contact fetch operation.
   187 	 * @param aOperation The type of operation to be performed
   186 	 * @param aOperation The type of operation to be performed
   188 	 * @param aInputData The data required to create the web query
   187 	 * @param aInputData The data required to create the web query
   189 	 * @param aReqData [out] The request data created by the plugin
   188 	 * @param aReqData [out] The request data created by the plugin
   190 	 * @param aResult [out] SmfPluginManagerResult, The result of the operation
   189 	 * @return SmfPluginError
   191 	 * @return SmfPluginError
       
   192 	 * @see smfglobal.h
       
   193 	 */
   190 	 */
   194 	SmfPluginError createMusicPlaylistRequest ( QObject *aPlugin, 
   191 	SmfPluginError createMusicPlaylistRequest ( QObject *aPlugin, 
   195 			const SmfRequestTypeID &aOperation, 
   192 			const SmfRequestTypeID &aOperation, 
   196 			QByteArray &aInputData,
   193 			QByteArray &aInputData,
   197 			SmfPluginRequestData &aReqData,
   194 			SmfPluginRequestData &aReqData );
   198 			SmfPluginManagerResult &aResult );
       
   199 
   195 
   200 	/**
   196 	/**
   201 	 * Method to create a web query to do gallery related operation
   197 	 * Method to create a web query to do gallery related operation
   202 	 * @param aPlugin The instance of the loaded plugin that performs the 
   198 	 * @param aPlugin The instance of the loaded plugin that performs the 
   203 	 * contact fetch operation.
   199 	 * contact fetch operation.
   204 	 * @param aOperation The type of operation to be performed
   200 	 * @param aOperation The type of operation to be performed
   205 	 * @param aInputData The data required to create the web query
   201 	 * @param aInputData The data required to create the web query
   206 	 * @param aReqData [out] The request data created by the plugin
   202 	 * @param aReqData [out] The request data created by the plugin
   207 	 * @param aResult [out] SmfPluginManagerResult, The result of the operation
   203 	 * @return SmfPluginError
   208 	 * @return SmfPluginError
       
   209 	 * @see smfglobal.h
       
   210 	 */
   204 	 */
   211 	SmfPluginError createGalleryRequest ( QObject *aPlugin, 
   205 	SmfPluginError createGalleryRequest ( QObject *aPlugin, 
   212 			const SmfRequestTypeID &aOperation, 
   206 			const SmfRequestTypeID &aOperation, 
   213 			QByteArray &aInputData,
   207 			QByteArray &aInputData,
   214 			SmfPluginRequestData &aReqData,
   208 			SmfPluginRequestData &aReqData );
   215 			SmfPluginManagerResult &aResult );
       
   216 	
   209 	
   217 	/**
   210 	/**
   218 	 * Method called by Plugin Manager when network response is available
   211 	 * Method called by Plugin Manager when network response is available
   219 	 * @param aInstance The instance of the loaded plugin that requested 
   212 	 * @param aInstance The instance of the loaded plugin that requested 
   220 	 * the network operation.
   213 	 * the network operation.
   223 	 * @param aResponse The network response data
   216 	 * @param aResponse The network response data
   224 	 * @param aResult [out] An output parameter to the plugin manager 
   217 	 * @param aResult [out] An output parameter to the plugin manager 
   225 	 * containing the data parsed by the plugins
   218 	 * containing the data parsed by the plugins
   226 	 * @param aRetType [out] The Plugin return value
   219 	 * @param aRetType [out] The Plugin return value
   227 	 * @param aPageResult [out] The page information filled by the plugins
   220 	 * @param aPageResult [out] The page information filled by the plugins
   228 	 * @return SmfPluginManagerResult, The result of the operation
   221 	 * @return SmfError, The result of the operation
   229 	 * @see smfglobal.h
   222 	 */
   230 	 */
   223 	SmfError responseAvailable ( SmfPluginBase *aInstance,
   231 	SmfPluginManagerResult responseAvailable ( SmfPluginBase *aInstance,
       
   232 			const SmfRequestTypeID &aOperation,
   224 			const SmfRequestTypeID &aOperation,
   233 			const SmfTransportResult &aTransportResult, 
   225 			const SmfTransportResult &aTransportResult, 
   234 			QByteArray *aResponse,
   226 			QByteArray *aResponse,
   235 			QVariant *aResult,
   227 			QVariant *aResult,
   236 			SmfPluginRetType &aRetType,
   228 			SmfPluginRetType &aRetType,
   244 	 * @param aDataStream Stream to be written
   236 	 * @param aDataStream Stream to be written
   245 	 */
   237 	 */
   246 	void serializeResult ( const SmfRequestTypeID &aOperation, 
   238 	void serializeResult ( const SmfRequestTypeID &aOperation, 
   247 			QVariant* aResult,
   239 			QVariant* aResult,
   248 			QDataStream &aDataStream );
   240 			QDataStream &aDataStream );
       
   241 	
       
   242 	/**
       
   243 	 * Method to convert SmfPluginError Error to the type SmfError 
       
   244 	 * @param aPluginError The Error code returned by the plugin
       
   245 	 * @param aSMFError [out] The Smf specific common error code
       
   246 	 */
       
   247 	void convertPluginErrorType( const SmfPluginError &aPluginError,  
       
   248 			SmfError &aSMFError );
       
   249 	
       
   250 	/**
       
   251 	 * Method to convert SmfTransportResult Error to the type SmfError 
       
   252 	 * @param aTMError The Error code returned by the TM
       
   253 	 * @param aSMFError [out] The Smf specific common error code
       
   254 	 */
       
   255 	void convertNetworkErrorType( const SmfTransportResult &aTMError,  
       
   256 			SmfError &aSMFError );
   249 
   257 
   250 	friend class SmfPluginManager;
   258 	friend class SmfPluginManager;
   251 	
   259 	
   252 private:
   260 private:
   253 	/**
   261 	/**