diff -r ea65f74e6de4 -r 8e5f6eea9c9f main/glxaiwservicehandler.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main/glxaiwservicehandler.h Tue Aug 31 15:14:51 2010 +0300 @@ -0,0 +1,315 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: ?Description +* +*/ + +#ifndef GLXFETCHER_H +#define GLXFETCHER_H + +#include +#include +#include +#include +#include +#include + +//FORWARD CLASS DECLARATION +class GlxGetImageService; +class GlxImageViewerService; +class GlxStateManager; +class CGlxImageViewerManager; +class GlxGetImageServiceNSDI; +class GlxGetImageServiceDSDI; + +class GlxExternalUtility; +/** + * This is qthigway service handler class for all services provide by photos. + * + */ +class GlxAiwServiceHandler: public HbMainWindow + { + Q_OBJECT +public: + /** + * Constructor + */ + GlxAiwServiceHandler(); + + /** + * Destructor. + */ + ~GlxAiwServiceHandler(); + + /** + * launch image fetcher view + * @param viewTitle title for image fetcher + */ + void launchFetcher(QString viewTitle); + + /** + * launch image viewer + * @param viewTitle title for image fetcher + */ + void launchImageViewer(QString viewTitle); + +public slots: + /** + * This slot is called when image to be returned to fetcher + * client is selected + * @param index index of the selected image + * @param model model for the current view where image is selected + */ + void itemSelected(const QModelIndex & index,QAbstractItemModel & model); + + /** + * This slot is called when service client is closed + * + */ + void handleClientDisconnect(); + +private: + /// state manager for the services + GlxStateManager *mStateMgr; + /// image fetcher service provider + GlxGetImageService* mFetcherService; + /// image fetcher service provider with new service name and depricated interface name + GlxGetImageServiceNSDI* mNSDIService; + /// image fetcher service provider with depricated name and depricated inaterface name + GlxGetImageServiceDSDI* mDSDIService; + GlxImageViewerService* mImageViewerService; + GlxExternalUtility *mUtil; + }; + +/** + * GlxGetImageService : Image fetcher service provider + * + */ +class GlxGetImageService : public XQServiceProvider +{ + Q_OBJECT +public: + /** + * Constructor + */ + GlxGetImageService( GlxAiwServiceHandler *parent = 0 ); + + /** + * Destructor. + */ + ~GlxGetImageService(); + + /** + * check if service is active + */ + bool isActive(); + + /** + * called to complete fetch service and return to client + * @param fileList list of Uri to be returned to client + */ + void complete( QStringList filesList); + +public slots: + /** + * slot for qthighway to notify provider about request + */ + void fetch(); + + /** + * slot for service provider to notify client about error + */ + void fetchFailed( int errorCode ); + +private: + /** + * called to complete qthighway service + * @param fileList list of Uri to be returned to client + */ + void doComplete( QStringList filesList); + +private: + /// current service request id + int mImageRequestIndex; + /// service handler for all photos services + GlxAiwServiceHandler* mServiceApp; +}; + +/** + * Class Description + * GlxGetImageServiceDSDI + * Service provide for new service and depricated interface + */ +class GlxGetImageServiceNSDI : public XQServiceProvider +{ + Q_OBJECT +public: + /** + * Constructor + */ + GlxGetImageServiceNSDI( GlxAiwServiceHandler *parent = 0 ); + /** + * Destructor. + */ + ~GlxGetImageServiceNSDI(); + + /** + * check if service is active + */ + bool isActive(); + + /** + * called to complete fetch service and return to client + * @param fileList list of Uri to be returned to client + */ + void complete( QStringList filesList); + +public slots: + /** + * slot for qthighway to notify provider about request + */ + void fetch( QVariantMap filter , QVariant flag ); + + /** + * slot for qthighway to notify provider about request + */ + void fetch(); + +public slots: + /** + * slot for service provider to notify client about error + */ + void fetchFailed( int errorCode ); + +private: + /** + * called to complete fetch service and return to client + * @param fileList list of Uri to be returned to client + */ + void doComplete( QStringList filesList); + +private: + /// current service request id + int mImageRequestIndex; + /// service handler for all photos services + GlxAiwServiceHandler* mServiceApp; +}; + +/** + * GlxGetImageServiceDSDI + * Service provide for depricated service and depricated interface + */ +class GlxGetImageServiceDSDI : public XQServiceProvider +{ + Q_OBJECT +public: + /** + * Constructor + */ + GlxGetImageServiceDSDI( GlxAiwServiceHandler *parent = 0 ); + /** + * Destructor. + */ + ~GlxGetImageServiceDSDI(); + + /** + * check if service is active + */ + bool isActive(); + + /** + * called to complete fetch service and return to client + * @param fileList list of Uri to be returned to client + */ + void complete( QStringList filesList); + +public slots: + /** + * slot for qthighway to notify provider about request + */ + void fetch( QVariantMap filter, QVariant flag); + +public slots: + /** + * slot for service provider to notify client about error + */ + void fetchFailed( int errorCode ); + +private: + /** + * called to complete fetch service and return to client + * @param fileList list of Uri to be returned to client + */ + void doComplete( QStringList filesList); + +private: + /// current service request id + int mImageRequestIndex; + /// service handler for all photos services + GlxAiwServiceHandler* mServiceApp; +}; + +/** + * Image viewer service provider + */ +class GlxImageViewerService : public XQServiceProvider +{ + Q_OBJECT +public: + /** + * Constructor + */ + GlxImageViewerService( GlxAiwServiceHandler *parent = 0 ); + + /** + * Destructor. + */ + ~GlxImageViewerService(); + + /** + * compete request + * @param ok true id success else false + */ + void complete(bool ok); + + /** + * check if request is aSync + * @return true if async else false + */ + bool asyncRequest() {return mAsyncRequest;} + +public slots: + /** + * slot for qthighway to notify provider about request + */ + bool view(QString file); + + /** + * slot for qthighway to notify provider about request + */ + bool view(XQSharableFile file); + +private: + /// service handler for all photos services + GlxAiwServiceHandler* mServiceApp; + /// current request id + int mAsyncReqId; + bool mRetValue; + bool mAsyncRequest; + /// image viewer manager instance to get info regarding file + CGlxImageViewerManager* mImageViewerInstance; +}; + + +#endif //GLXFETCHER_H