dependencies/drmrightsinfo.h
author Christian Morlok <symbian.org@christianmorlok.de>
Fri, 07 May 2010 15:47:11 +0200
branchv5backport
changeset 68 0c3127a4bf4f
parent 31 a3e98f9c292b
permissions -rw-r--r--
small fix to make homescreensrv build in carbide.c++
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) 2006-2007 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:  Provides operations for rights information handling of DRM
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    15
 *                content
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    16
 *
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
#ifndef CDRMRIGHTSINFO_H
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    21
#define CDRMRIGHTSINFO_H
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    22
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    23
//*** system include files go here:
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    24
#include <e32base.h>
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    25
#include <caf/caftypes.h>
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    26
#include <drmutilitytypes.h>
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    27
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    28
namespace DRM
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    29
    {
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    30
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    31
    //*** forward declarations go here:
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    32
    class CDrmUtility;
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    33
    class CDrmRightsInfoImpl;
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    34
    class MDrmAsyncObserver;
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    35
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    36
    /**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    37
     *  Utility class for DRM related rights information handling
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    38
     *
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    39
     *  @lib drmrightsinfo.lib
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    40
     *  @since S60 v5.0
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    41
     */
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    42
NONSHARABLE_CLASS( CDrmRightsInfo ) : public CBase
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    43
    {
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    44
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    45
public:
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    46
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    47
    /**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    48
     * Creates a new CDrmRightsInfo object and returns a pointer to it
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    49
     *
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    50
     * @return A functional CDrmRightsInfo -object
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    51
     * @leave System wide error code
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    52
     */
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    53
    IMPORT_C static CDrmRightsInfo* NewL();
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    54
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    55
    /**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    56
     * Creates a new CDrmRightsInfo object and returns a pointer to it
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    57
     * Leaves the pointer to the cleanup stack
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    58
     *
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    59
     * @return A functional CDrmRightsInfo -object
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    60
     * @leave System wide error code
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    61
     */
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    62
    IMPORT_C static CDrmRightsInfo* NewLC();
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    63
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    64
    /**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    65
     * Destructor
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    66
     */
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    67
    virtual ~CDrmRightsInfo();
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    68
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    69
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    70
    /**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    71
     * Returns a reference to a CDrmUtility instance. The ownership
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    72
     * of the instance stays with the CDrmRightsInfo -class
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    73
     *
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    74
     * @since S60 v5.0
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    75
     *
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    76
     * @return A reference to a functional CDrmUtility instance
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    77
     *
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    78
     * @leave None
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    79
     *
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    80
     * @see CDrmUtility
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    81
     */
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    82
    IMPORT_C CDrmUtility& GetUtility() const;
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    83
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    84
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    85
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    86
    /**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    87
     * Checks the rights and their status for a specific unique id
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    88
     *
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    89
     * @param[in]   aUniqueId   The unique identifier of the content
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    90
     * @param[in]   aIntent     The intent for the rights to check
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    91
     * @param[out]  aDetails    Details of the rights status
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    92
     * @return none
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    93
     * @leave System wide error code
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    94
     * @see ContentAccess::TIntent
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    95
     */
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    96
    IMPORT_C void CheckRightsL(
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    97
            const TDesC& aUniqueId,
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    98
            ContentAccess::TIntent aIntent,
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
    99
            TDrmRightsInfo& aDetails );
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   100
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   101
    /**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   102
     * Checks the rights and their status for a specific unique id
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   103
     *
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   104
     * @param[in]   aUniqueId   The unique identifier of the content
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   105
     * @param[in]   aIntent     The intent for the rights to check
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   106
     * @param[out]  aDetails    Details of the rights status, the
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   107
     *                          details are available via this
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   108
     *                          parameter, once the async call completes
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   109
     *                          successfully
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   110
     * @param[in]   aObserver   reference to observer
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   111
     *
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   112
     * @return Operation Identifier for the async request
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   113
     *         required for cancelling an operation and
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   114
     *         identifying which request has been completed
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   115
     *
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   116
     * @leave System wide error code
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   117
     * @see ContentAccess::TIntent
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   118
     */
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   119
    IMPORT_C TInt CheckRightsAsyncL(
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   120
            const TDesC& aUniqueId,
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   121
            ContentAccess::TIntent aIntent,
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   122
            TDrmRightsInfo& aDetails,
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   123
            MDrmAsyncObserver& aObserver );
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   124
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   125
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   126
    /**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   127
     * Cancel an asyncronous operation
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   128
     *
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   129
     * @since S60 v5.0
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   130
     * @param[in]   aOperationId    identifier of the async operation
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   131
     *                              to be cancelled
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   132
     * @return KErrNotFound if the operation has already been executed
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   133
     *         or it does not exist
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   134
     */
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   135
    IMPORT_C TInt CancelOperation( TInt aOperationId );
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   136
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   137
private:
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   138
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   139
    //*** private, non-derived functions go here, starting with the C++
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   140
    //*** constructor and the Symbian second-phase constructor
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   141
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   142
    CDrmRightsInfo();
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
private: // Data members
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   147
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   148
    /**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   149
     * Implementation class pointer
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   150
     * Owned
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   151
     */
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   152
    CDrmRightsInfoImpl* iImplementation;
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   153
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   154
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   155
    /**
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   156
     * CDrmUtility class pointer
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   157
     * Owned
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   158
     */
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   159
    CDrmUtility* iUtility;
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   160
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   161
    };
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   162
    }
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   163
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   164
a3e98f9c292b added missing files
kashif.sayed
parents:
diff changeset
   165
#endif // CDRMRIGHTSINFO_H