omadrm/drmplugins/drmromtm/ui/inc/drmmsgwatcherobserver.h
author hgs
Thu, 24 Jun 2010 12:39:58 +0300
changeset 49 69d8e75812b7
permissions -rw-r--r--
201025_01
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
49
69d8e75812b7 201025_01
hgs
parents:
diff changeset
     1
/*
69d8e75812b7 201025_01
hgs
parents:
diff changeset
     2
* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
69d8e75812b7 201025_01
hgs
parents:
diff changeset
     3
* All rights reserved.
69d8e75812b7 201025_01
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
69d8e75812b7 201025_01
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
69d8e75812b7 201025_01
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
69d8e75812b7 201025_01
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
69d8e75812b7 201025_01
hgs
parents:
diff changeset
     8
*
69d8e75812b7 201025_01
hgs
parents:
diff changeset
     9
* Initial Contributors:
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    11
*
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    12
* Contributors:
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    13
*
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    14
* Description:  
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    15
*     Msv operation for drm view closing
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    16
*
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    17
*/
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    18
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    19
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    20
#ifndef C_DRMMSGWATCHEROBSERVER_H
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    21
#define C_DRMMSGWATCHEROBSERVER_H
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    22
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    23
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    24
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    25
#include <msvapi.h>        // CMsvOperation
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    26
#include <AknServerApp.h>  // MAknServerAppExitObserver
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    27
#include <AknLaunchAppService.h> // app service
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    28
#include <DocumentHandler.h> // Document handler
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    29
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    30
class CDocumentHandler;
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    31
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    32
// CLASS DECLARATION
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    33
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    34
/**
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    35
* CDrmMsgWatcherObserver
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    36
* Simple operation class which watches a service (drm),
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    37
* completing when that thread closes.
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    38
*
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    39
* The passed CMsvSession is not used (merely required to base-construct
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    40
* a CMsvOperation).
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    41
*/
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    42
NONSHARABLE_CLASS( CDrmMsgWatcherObserver ) : public CMsvOperation, public MAknServerAppExitObserver			
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    43
    { 
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    44
    public:
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    45
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    46
	    static CDrmMsgWatcherObserver* NewL( 
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    47
            CMsvSession& aMsvSession,
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    48
            TInt aPriority,
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    49
            TRequestStatus& aObserverRequestStatus,
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    50
            TUid aMtm,
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    51
            CAiwGenericParamList* aParamList );
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    52
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    53
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    54
	    static CDrmMsgWatcherObserver* NewL( 
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    55
            CMsvSession& aMsvSession,
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    56
            TInt aPriority,
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    57
            TRequestStatus& aObserverRequestStatus,
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    58
            TUid aMtm,
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    59
            const TDesC& aFileName,
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    60
            TDataType& aDataType );
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    61
	    
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    62
        /**
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    63
        * C++ constructor
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    64
        */
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    65
        CDrmMsgWatcherObserver(
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    66
            CMsvSession& aMsvSession,
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    67
            TInt aPriority,
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    68
            TRequestStatus& aObserverRequestStatus,
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    69
            TUid aMtm );
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    70
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    71
        /**
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    72
        * Destructor.
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    73
        */
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    74
        ~CDrmMsgWatcherObserver();
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    75
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    76
    private: // From MApaServerAppExitObserver
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    77
        void HandleServerAppExit( TInt aReason );
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    78
		
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    79
    protected:
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    80
        
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    81
        
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    82
        /**
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    83
        * From CMsvOperation
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    84
        */
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    85
        virtual const TDesC8& ProgressL();
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    86
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    87
        /**
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    88
        * From CMsvOperation
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    89
        */
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    90
        virtual const TDesC8& FinalProgress();
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    91
                
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    92
        /**
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    93
        * From CActive
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    94
        */
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    95
        virtual void RunL();
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    96
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    97
        /**
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    98
        * From CActive
69d8e75812b7 201025_01
hgs
parents:
diff changeset
    99
        */
69d8e75812b7 201025_01
hgs
parents:
diff changeset
   100
        virtual void DoCancel();
69d8e75812b7 201025_01
hgs
parents:
diff changeset
   101
69d8e75812b7 201025_01
hgs
parents:
diff changeset
   102
        /**
69d8e75812b7 201025_01
hgs
parents:
diff changeset
   103
        *
69d8e75812b7 201025_01
hgs
parents:
diff changeset
   104
        */
69d8e75812b7 201025_01
hgs
parents:
diff changeset
   105
        void Start();
69d8e75812b7 201025_01
hgs
parents:
diff changeset
   106
69d8e75812b7 201025_01
hgs
parents:
diff changeset
   107
    private:
69d8e75812b7 201025_01
hgs
parents:
diff changeset
   108
        void ConstructL( CAiwGenericParamList* aParamList );
69d8e75812b7 201025_01
hgs
parents:
diff changeset
   109
        void ConstructL( const TDesC& aFileName, TDataType& aDataType );
69d8e75812b7 201025_01
hgs
parents:
diff changeset
   110
        
69d8e75812b7 201025_01
hgs
parents:
diff changeset
   111
        /**
69d8e75812b7 201025_01
hgs
parents:
diff changeset
   112
        * Completes observer with the completion code
69d8e75812b7 201025_01
hgs
parents:
diff changeset
   113
        * @param aCode: Completion code
69d8e75812b7 201025_01
hgs
parents:
diff changeset
   114
        */
69d8e75812b7 201025_01
hgs
parents:
diff changeset
   115
        void CompleteObserver( TInt aCode );
69d8e75812b7 201025_01
hgs
parents:
diff changeset
   116
69d8e75812b7 201025_01
hgs
parents:
diff changeset
   117
69d8e75812b7 201025_01
hgs
parents:
diff changeset
   118
    protected:// Data
69d8e75812b7 201025_01
hgs
parents:
diff changeset
   119
        HBufC8*     iProgress;
69d8e75812b7 201025_01
hgs
parents:
diff changeset
   120
69d8e75812b7 201025_01
hgs
parents:
diff changeset
   121
    private:
69d8e75812b7 201025_01
hgs
parents:
diff changeset
   122
        CAknLaunchAppService* iService;
69d8e75812b7 201025_01
hgs
parents:
diff changeset
   123
        CDocumentHandler* iDocHandler;
69d8e75812b7 201025_01
hgs
parents:
diff changeset
   124
69d8e75812b7 201025_01
hgs
parents:
diff changeset
   125
    };
69d8e75812b7 201025_01
hgs
parents:
diff changeset
   126
    
69d8e75812b7 201025_01
hgs
parents:
diff changeset
   127
#endif // C_DRMMSGWATCHEROBSERVER_H   
69d8e75812b7 201025_01
hgs
parents:
diff changeset
   128
69d8e75812b7 201025_01
hgs
parents:
diff changeset
   129
// End of file