ImagePrint/ImagePrintUI/imageprintprovider/inc/caiwprintpreviewprovider.h
author Pat Downey <patd@symbian.org>
Wed, 01 Sep 2010 12:30:38 +0100
branchRCL_3
changeset 21 d59c248c9d36
parent 0 d11fb78c4374
permissions -rw-r--r--
Revert incorrect RCL_3 drop: Revision: 201031 Kit: 201035

/*
* Copyright (c) 2004-2007 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:  
*
*/


#ifndef CAIWPRINTPREVIEWPROVIDER_H
#define CAIWPRINTPREVIEWPROVIDER_H

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

#include "caiwimageprintif.h"

const TUid KPrintPropertyCat = {0x10012345};
enum TPrintPropertyKeys
    { 
    EPrintProperty,
    };

enum 
	{
	ENotAiwCall,
	EAiwPrintCall,
	EAiwQuickPrintCall
	};

class CAiwPrintPreviewProvider : 
                            public CAiwImagePrintIf,
                            public MAknServerAppExitObserver

    {
    public: //Constructors and destructors
        static CAiwPrintPreviewProvider* NewL();
        
        ~CAiwPrintPreviewProvider();
            
	public: // from MAknServerAppExitObserver
		void HandleServerAppExit( TInt aReason );
		
    private: // Implementation
        void LaunchImagePrintApplicationL();

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

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

        void InitializeMenuPaneL( CAiwMenuPane& aMenuPane,
		                          TInt aIndex,
		                          TInt aCascadeId,
		                          const CAiwGenericParamList& aInParamList);
        
	    void HandleMenuCmdL( TInt aMenuCmdId,
		                     const CAiwGenericParamList& aInParamList,
		                     CAiwGenericParamList& aOutParamList,
		                     TUint aCmdOptions = 0,
		                     const MAiwNotifyCallback* aCallback = NULL);
	    
	    void HandleLaunchRequestL( const CAiwGenericParamList& aInParamList,
								  CAiwGenericParamList& aOutParamList,					
								  const MAiwNotifyCallback* aCallback = NULL);
	          
    private: // Data
        CAknLaunchAppService* iService;

        const CAiwGenericParamList *iConsumerInParamList;
        CAiwGenericParamList *iConsumerOutParamList;
        const MAiwNotifyCallback *iConsumerCallback;
    };

#endif // CAIWPRINTPREVIEWPROVIDER_H

//  End of File