omadrm/drmhelper/drmhelperserver/src/EndTimeBased.cpp
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Thu, 17 Dec 2009 08:52:27 +0200
changeset 0 95b198f216e5
permissions -rw-r--r--
Revision: 200949 Kit: 200951

/*
* Copyright (c) 2002 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:  End time based item data structure
*
*/



// INCLUDE FILES
#include    <e32base.h>
#include    <e32std.h>
#include    "EndTimeBased.h"
#include    "DRMHelperCommon.h"

// EXTERNAL DATA STRUCTURES
// EXTERNAL FUNCTION PROTOTYPES  
// CONSTANTS
// MACROS
// LOCAL CONSTANTS AND MACROS
// MODULE DATA STRUCTURES
// LOCAL FUNCTION PROTOTYPES
// FORWARD DECLARATIONS

// ============================= LOCAL FUNCTIONS ===============================


// ============================ MEMBER FUNCTIONS ===============================

// -----------------------------------------------------------------------------
// CEndTimeBased::CEndTimeBased
// C++ default constructor can NOT contain any code, that
// might leave.
// -----------------------------------------------------------------------------
//
CEndTimeBased::CEndTimeBased( 
        const TUint8& aPermType , 
        const TUint8& aRegType , 
        const TUint8& aAutoType)
            :iIsExpired(EFalse),
                iCount(-1),
                iCountReg(1),
                iPermType(aPermType),
                iRegType(aRegType),
                iAutoType(aAutoType)
    {
    TTimeIntervalYears years(KTimeIntervalYears);
    iEndTime.HomeTime();
    iEndTime += years;
    }

// -----------------------------------------------------------------------------
// CEndTimeBased::ConstructL
// Symbian 2nd phase constructor can leave.
// -----------------------------------------------------------------------------
//
void CEndTimeBased::ConstructL(const TDesC8& aUri)
    {
    iUri = HBufC8::NewL( aUri.Length() );
    *iUri = aUri;
    }

// -----------------------------------------------------------------------------
// CEndTimeBased::NewL
// Two-phased constructor.
// -----------------------------------------------------------------------------
//
CEndTimeBased* CEndTimeBased::NewL( 
            const TDesC8& aUri , 
            const TUint8& aPermType , 
            const TUint8& aRegType , 
            const TUint8& aAutoType )
    {
    CEndTimeBased* self = 
        new( ELeave ) CEndTimeBased(aPermType , aRegType , aAutoType);
    
    CleanupStack::PushL( self );
    self->ConstructL(aUri);
    CleanupStack::Pop(self);

    return self;
    }

    
// Destructor
CEndTimeBased::~CEndTimeBased()
    {
    delete iUri;
    }


// -----------------------------------------------------------------------------
// CEndTimeBased::SetIsExpired
// set whether the content rights is expired
// -----------------------------------------------------------------------------
//
void CEndTimeBased::SetIsExpired( TBool aIsExpired )
    {
    iIsExpired = aIsExpired;
    }


// -----------------------------------------------------------------------------
// CEndTimeBased::SetIsExpired
// check if the content rights is expired
// -----------------------------------------------------------------------------
//
TBool CEndTimeBased::IsExpired() const 
    {
    return iIsExpired;
    }


// -----------------------------------------------------------------------------
// CEndTimeBased::SetCount
// Set the value of count
// -----------------------------------------------------------------------------
//
void CEndTimeBased::SetCount( TInt8 aCount )
    {
    iCount = aCount;
    }

// -----------------------------------------------------------------------------
// CEndTimeBased::IncreaseCount
// Set the value of count
// -----------------------------------------------------------------------------
//
void CEndTimeBased::IncreaseCount()
    {
    iCount++;
    }

// -----------------------------------------------------------------------------
// CEndTimeBased::Count
// get the value of count
// -----------------------------------------------------------------------------
//
TInt8 CEndTimeBased::Count() const
    {
    return iCount;
    }


// -----------------------------------------------------------------------------
// CEndTimeBased::DecreaseRegTimes
// Set the value of registered times
// -----------------------------------------------------------------------------
//
void CEndTimeBased::DecreaseRegTimes()
    {
    iCountReg--;
    }

// -----------------------------------------------------------------------------
// CEndTimeBased::IncreaseRegTimes
// Set the value of registered times
// -----------------------------------------------------------------------------
//
void CEndTimeBased::IncreaseRegTimes()
    {
    iCountReg++;
    }

// -----------------------------------------------------------------------------
// CEndTimeBased::SetRegTimes
// Set the value of count
// -----------------------------------------------------------------------------
//
void CEndTimeBased::SetRegTimes( TInt aRegTimes )
    {
    iCountReg = aRegTimes;
    }

// -----------------------------------------------------------------------------
// CEndTimeBased::RegTimes
// get the value of registered times
// -----------------------------------------------------------------------------
//
TInt CEndTimeBased::RegTimes() const
    {
    return iCountReg;
    }

// -----------------------------------------------------------------------------
// CEndTimeBased::RegType
// get the value of register type
// -----------------------------------------------------------------------------
//
TUint8 CEndTimeBased::RegType() const
    {
    return iRegType;
    }
    

// -----------------------------------------------------------------------------
// CEndTimeBased::AutoType
// get the value of automated content type
// -----------------------------------------------------------------------------
//
TUint8 CEndTimeBased::AutoType() const
    {
    return iAutoType;
    }
    
// -----------------------------------------------------------------------------
// CEndTimeBased::PermType
// get the value of permission type
// -----------------------------------------------------------------------------
//
TUint8 CEndTimeBased::PermType() const 
    {
    return iPermType;
    }    
    
// -----------------------------------------------------------------------------
// CEndTimeBased::SetEndTime
// Set the value of end time
// -----------------------------------------------------------------------------
//
void CEndTimeBased::SetEndTime( TTime aEndTime )
    {
    iEndTime = aEndTime;
    }


// -----------------------------------------------------------------------------
// CEndTimeBased::EndTime
// get the value of end time
// -----------------------------------------------------------------------------
//
TTime CEndTimeBased::EndTime() const
    {
    return iEndTime;
    }


// -----------------------------------------------------------------------------
// CEndTimeBased::EndTime
// get the value of content uri
// -----------------------------------------------------------------------------
//
HBufC8* CEndTimeBased::Uri() const
    {
    return iUri;      
    }

// ========================== OTHER EXPORTED FUNCTIONS =========================

//  End of File