commondrm/drmutility/inc/DrmRightsInfoData.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Wed, 09 Jun 2010 09:59:43 +0300
branchRCL_3
changeset 41 29f3cf766061
parent 0 95b198f216e5
permissions -rw-r--r--
Revision: 201021 Kit: 2010123

/*
* Copyright (c) 2006-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:  Data class for async operations in DrmRightInfoImpl -class 
*
*/


#ifndef CDRMRIGHTSINFODATA_H
#define CDRMRIGHTSINFODATA_H

//*** system include files go here:
#include <e32base.h>
#include <caf/caftypes.h>
#include <drmutilitytypes.h>

namespace DRM 
{

    //*** Forward declaration
    class MDrmAsyncObserver;

 /**
  *  DRM Rights Info Data storage class
  *
  *  @lib drmrightsinfoimpl.lib
  *  @since S60 v5.0
  */
NONSHARABLE_CLASS( CDrmRightsInfoData ) : public CBase
    {

public: // Members

    /**
    * Creates a new CDrmRightsInfoData -object
    *
    * @since S60 5.0
    * @return A functional CDrmRightsInfoData -object
    * @leave System wide or DRM specific error code
    */
    static CDrmRightsInfoData* NewL();


    /**
    * Creates a new CDrmRightsInfoData -object and leaves
    * it into the cleanup stack
    *
    * @since S60 5.0
    * @return A functional CDrmRightsInfoData -object
    * @leave System wide or DRM specific error code
    */    
    static CDrmRightsInfoData* NewLC();
   
    /**
    * Destructor.
    */	
    ~CDrmRightsInfoData();

public: // Variables:
    // Operation request status
    MDrmAsyncObserver* iObserver;
    
    // Operation id
    TInt iOperationId;

    // Operation code
    TInt iOperation;

    // The content id requested as 16 bit descriptor
    HBufC16* iUniqueId;

    // The content id requested as 8 bit descriptor, this exists if it's
    // required by the operation
    HBufC8* iUniqueId8;

    // Intent
    ContentAccess::TIntent iIntent;
    
    // Details
    TDrmRightsInfo* iDetails;
    
    // Queue Pointer:
    CDrmRightsInfoData* iNext;

private:

	/**
    * C++ default constructor.
    */
    CDrmRightsInfoData();

    /**
    * 2nd phase constructor
    */
    void ConstructL();
 
    };
}


#endif // CDRMRIGHTSINFODATA_H