dependencies/DRMNotifier.h
author kashif.sayed
Fri, 26 Mar 2010 04:17:01 +0530
branchv5backport
changeset 31 a3e98f9c292b
permissions -rw-r--r--
added missing files user: kashif.sayed added dependencies/AknTaskList.h added dependencies/DRMEvent.h added dependencies/DRMEventObserver.h added dependencies/DRMNotifier.h added dependencies/SchemeDefs.hrh added dependencies/SchemeHandler.h added dependencies/SchemeHandler.inl added dependencies/aiwcommon.hrh added dependencies/aiwdialdata.h added dependencies/drmrightsinfo.h added dependencies/drmutilitytypes.h added dependencies/javaattribute.h added dependencies/javadomainpskeys.h added dependencies/javaregistry.h added dependencies/javaregistryapplicationentry.h added dependencies/javaregistryentry.h added dependencies/javaregistryentrytype.h added dependencies/javaregistrypackageentry.h added dependencies/mjavaattribute.h added dependencies/swi/bld.inf added dependencies/swi/sispackagetrust.h added dependencies/swi/sisregistryentry.h added dependencies/swi/sisregistrylog.h added dependencies/swi/sisregistrysession.h changed .cproject changed dependencies/S3libs/bld.inf changed dependencies/bld.inf
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
31
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
     1
/*
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
     2
* Copyright (c) 2004-2006 Nokia Corporation and/or its subsidiary(-ies).
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
     3
* All rights reserved.
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
     4
* This component and the accompanying materials are made available
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
     6
* which accompanies this distribution, and is available
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
     8
*
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
     9
* Initial Contributors:
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    11
*
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    12
* Contributors:
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    13
*
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    14
* Description:  This class handles registering and unregistering of
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    15
*                DRM event observers to DRM notifier, and sending
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    16
*                DRM notifications to other registered observers.
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    17
*
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    18
*/
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    19
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    20
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    21
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    22
#ifndef CDRMNOTIFIER_H
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    23
#define CDRMNOTIFIER_H
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    24
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    25
//  INCLUDES
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    26
#include <e32base.h>
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    27
#include <DRMEventObserver.h>
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    28
#include <DRMEvent.h>
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    29
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    30
// CONSTANTS
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    31
// MACROS
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    32
// DATA TYPES
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    33
// FUNCTION PROTOTYPES
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    34
// FORWARD DECLARATIONS
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    35
class CDRMEventHandler;
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    36
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    37
// CLASS DECLARATION
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    38
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    39
/**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    40
 *  With this class an application can register to receive DRM related 
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    41
 *  notifications.
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    42
 *
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    43
 *  @lib DRMCommon.dll
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    44
 *  @since S60Rel2.6
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    45
 */
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    46
class CDRMNotifier : public CBase
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    47
{
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    48
public:  // Constructors and destructor   
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    49
    /**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    50
    * Two-phased constructor.
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    51
    */
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    52
    IMPORT_C static CDRMNotifier* NewL( void );
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    53
   
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    54
    /**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    55
    * Two-phased constructor.
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    56
    */
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    57
    IMPORT_C static CDRMNotifier* NewLC( void );
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    58
   
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    59
    /**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    60
    * Destructor.
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    61
    */
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    62
    IMPORT_C virtual ~CDRMNotifier();
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    63
   
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    64
public: // New functions   
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    65
    /**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    66
    * RegisterEventObserverL
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    67
    *
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    68
    * Registers a new event observer to DRM Notifier. Listens to all events
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    69
    * of the given type
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    70
    *
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    71
    * @since S60Rel2.6
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    72
    * @param aObserver Observer.
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    73
    * @param aEvent the type of event to listen to
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    74
    * @return none, leaves with Symbian OS error code if an error occurs
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    75
    */
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    76
    IMPORT_C void RegisterEventObserverL( MDRMEventObserver& aObserver , 
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    77
                                          const TDRMEventType& aEvent);   
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    78
    /**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    79
    * UnRegisterEventObserverL
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    80
    *
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    81
    * Unregisters existing event observer from DRM Notifier.
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    82
    *
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    83
    * @since S60Rel2.6
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    84
    * @param aObserver Observer.
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    85
    * @param aEvent the type of event to unregister
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    86
    * @return none, leaves with Symbian OS error code if an error occurs
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    87
    */
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    88
    IMPORT_C void UnRegisterEventObserverL( MDRMEventObserver& aObserver, 
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    89
                                            const TDRMEventType& aEvent);
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    90
    /**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    91
    * RegisterEventObserverL
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    92
    *
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    93
    * Registers a new event observer to DRM Notifier. Only recieves
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    94
    * notification when the rights accociated with the given content id
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    95
    * are handled
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    96
    *
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    97
    * @since S60Rel2.6
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    98
    * @param aObserver Observer
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    99
    * @param aEvent the type of event to listen to
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   100
    * @param aContentID the specific content id to listen to
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   101
    * @return none, leaves with Symbian OS error code if an error occurs
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   102
    */
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   103
    IMPORT_C void RegisterEventObserverL( MDRMEventObserver& aObserver , 
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   104
                                          const TDRMEventType& aEvent,
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   105
                                          const TDesC8& aContentID);
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   106
    /**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   107
    * UnRegisterEventObserverL
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   108
    *
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   109
    * Unregisters existing event observer from DRM Notifier.
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   110
    *
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   111
    * @since S60Rel2.6
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   112
    * @param aObserver Observer.
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   113
    * @param aEvent the type of event to listen to
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   114
    * @param aContentID the specific content id to listen to
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   115
    * @return none, leaves with Symbian OS error code if an error occurs
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   116
    */
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   117
    IMPORT_C void UnRegisterEventObserverL( MDRMEventObserver& aObserver, 
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   118
                                            const TDRMEventType& aEvent,
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   119
                                            const TDesC8& aContentID);
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   120
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   121
    /**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   122
    * SendEventL
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   123
    *
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   124
    * Sends a notification to registered observers
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   125
    *
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   126
    * @since S60Rel2.6
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   127
    * @param aEvent  the event to be sent
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   128
    * @param aStatus  the request status for the event, will be updated when
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   129
    *                 the event has been sent
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   130
    * @return none
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   131
    */
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   132
    IMPORT_C void SendEventL( MDRMEvent& aEvent, TRequestStatus& aStatus ); 
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   133
   
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   134
private:
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   135
   
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   136
    /**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   137
    * C++ default constructor.
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   138
    */
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   139
    CDRMNotifier( void );
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   140
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   141
    /**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   142
    * First Phase constructor
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   143
    */
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   144
    void ConstructL();
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   145
   
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   146
    // Prohibit copy constructor if not deriving from CBase.
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   147
    CDRMNotifier( const CDRMNotifier& );
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   148
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   149
    // Prohibit assigment operator if not deriving from CBase.
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   150
    CDRMNotifier& operator=( const CDRMNotifier& );
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   151
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   152
  private:    // Data
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   153
   // Event handler.
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   154
   CDRMEventHandler* iEventHandler;
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   155
};
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   156
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   157
#endif      // CDRMNOTIFIER_H   
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   158
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   159
// End of File
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   160