dependencies/DRMNotifier.h
author jake
Tue, 13 Apr 2010 15:07:27 +0300
branchv5backport
changeset 56 7b5c31fac191
parent 31 a3e98f9c292b
permissions -rw-r--r--
Many of the components were not compilingm,because bld.inf had undefined flag #ifdef RD_CUSTOMIZABLE_AI. All the flags removed now. Components do not compile right away. E.g. many icons are missing and need to be copied from Symbian3. See example from MCSPlugin. Shortcut plugin does not need to be compiled as MCSPlugin replaces it.
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