usbuis/imageprintuiprovider/inc/caiwprintingprovider.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Mon, 18 Jan 2010 21:13:23 +0200
changeset 2 468cfcb53fd1
parent 0 1e05558e2206
child 63 ef2686f7597e
permissions -rw-r--r--
Revision: 201001 Kit: 201003

/*
* Copyright (c) 2006 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:  Header file for caiwprintingprovider
*
*/



#ifndef __CAIWPRINTINGPROVIDER_H__
#define  __CAIWPRINTINGPROVIDER_H__

#include <AiwServiceIfMenu.h>
#include <AknLaunchAppService.h>
#include <badesca.h>

#include "caiwimageprintif.h"


/**
* AIW provider plugin that handles print scenario.
*/
class CAiwPrintingProvider :
    public CAiwImagePrintIf,
    public MAknServerAppExitObserver
    {
    public: //Constructors and destructors
        static CAiwPrintingProvider* NewL();
        ~CAiwPrintingProvider();
        
    public: // from MAknServerAppExitObserver
		void HandleServerAppExit( TInt aReason );
		void StartApplicationL();

    
    private: // From CAiwServiceIfMenu
        void InitialiseL(MAiwNotifyCallback& aFrameworkCallback,
                         const RCriteriaArray& aInterest);

        void InitializeMenuPaneL(CAiwMenuPane& aMenuPane,
                                 TInt aIndex,
                                 TInt aCascadeId,
                                 const CAiwGenericParamList& aInParamList);

        void HandleServiceCmdL(const TInt& aCmdId,
                               const CAiwGenericParamList& aInParamList,
                               CAiwGenericParamList& aOutParamList,
                               TUint aCmdOptions = 0,
                               const MAiwNotifyCallback* aCallback = NULL);

        void HandleMenuCmdL(TInt aMenuCmdId,
                            const CAiwGenericParamList& aInParamList,
                            CAiwGenericParamList& aOutParamList,
                            TUint aCmdOptions = 0,
                            const MAiwNotifyCallback* aCallback = NULL);
    private:
        void DoHandleCmdL(TInt aMenuCmdId,
                            const CAiwGenericParamList& aInParamList,
                            CAiwGenericParamList& aOutParamList,
                            TUint aCmdOptions = 0,
                            const MAiwNotifyCallback* aCallback = NULL);
                            
        void LaunchImagePrintApplicationL();  
        TBool IsImagePrintUiRunning();
        void ShowNoteL();
        
        
          
    private: // Data
        TInt iResourceOffset;
        const RCriteriaArray* iInterest;
        TInt iAiwCall;
        MAiwNotifyCallback* iNotifyCallback;
        CAknLaunchAppService* iService;
        
        const CAiwGenericParamList *iConsumerInParamList;
        CAiwGenericParamList *iConsumerOutParamList;
        const MAiwNotifyCallback *iConsumerCallback;
    };

#endif // __CAIWPRINTINGPROVIDER_H__