inc/DRMEventTimeChange.h
changeset 0 95b198f216e5
child 18 8a03a285ab14
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/inc/DRMEventTimeChange.h	Thu Dec 17 08:52:27 2009 +0200
@@ -0,0 +1,302 @@
+/*
+* Copyright (c) 2005-2006 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:  Rights object notification event
+*
+*/
+
+
+
+#ifndef CDRMEVENTTIMECHANGE_H
+#define CDRMEVENTTIMECHANGE_H
+
+//  INCLUDES
+#include <e32base.h>
+#include <DrmTypes.h>
+#include <DRMEvent.h>   
+
+// CONSTANTS
+
+// MACROS
+
+// DATA TYPES
+
+// FUNCTION PROTOTYPES
+
+// FORWARD DECLARATIONS
+
+// CLASS DECLARATION
+
+/**
+*  DRM Event notification class to notify about changes to
+*  secure time
+*
+*  @lib DRMCommon.dll
+*  @since S60Rel2.8
+*/
+
+class CDRMEventTimeChange : public MDRMEvent, public CBase 
+{
+public: // Constructors and destructor
+
+
+    /**
+    * NewLC
+    *
+    * Creates and instance of the CDRMEventTimeChange class and
+    * returns a pointer to it Leaves the object in the cleanup
+    * stack
+    *
+    * @return A functional CDRMEventTimeChange -object
+    * @since S60Rel3.0
+    */
+    IMPORT_C static CDRMEventTimeChange* NewLC();
+
+    /**
+    * NewL
+    *
+    * Creates and instance of the CDRMEventTimeChange class and
+    * returns a pointer to it
+    *
+    * @return A functional CDRMEventTimeChange -object
+    * @since S60Rel3.0
+    */
+    IMPORT_C static CDRMEventTimeChange* NewL();
+    
+    /**
+    * Destructor
+    */   
+    IMPORT_C virtual ~CDRMEventTimeChange();
+
+public: // new functions
+
+
+// Time
+    /**
+    * SetOldTime
+    *
+    * Sets the time before the change to the given value
+    *
+    * @param aTime : Old time
+    * @since S60Rel2.8
+    */
+    IMPORT_C void SetOldTime( const TTime& aTime );
+
+
+    /**
+    * GetOldTime
+    *
+    * Returns what the time was before the time changed 
+    *
+    * @since S60Rel2.8
+    */
+    IMPORT_C const TTime& GetOldTime() const;
+
+
+    /**
+    * SetNewTime
+    *
+    * Sets the time after the change to the given value
+    *
+    * @param aTime : New time
+    * @since S60Rel2.8
+    */
+    IMPORT_C void SetNewTime( const TTime& aTime );
+
+
+    /**
+    * GetNewTime
+    *
+    * Returns what the time is after the time changed 
+    *
+    * @since S60Rel2.8
+    */
+    IMPORT_C const TTime& GetNewTime() const;
+
+// Time zone
+    /**
+    * SetOldTimeZone
+    *
+    * Sets the timezone before the change to the given value
+    * in 15 minute intervals
+    *
+    * @param aTime : Old timezone
+    * @since S60Rel2.8
+    */
+    IMPORT_C void SetOldTimeZone( const TInt aTimeZone );
+
+
+    /**
+    * GetOldTimeZone
+    *
+    * Returns what the timezone was before the time changed
+    * in 15 minute intervals
+    *
+    * @since S60Rel2.8
+    */
+    IMPORT_C TInt GetOldTimeZone() const;
+
+
+    /**
+    * SetNewTimeZone
+    *
+    * Sets the timezone after the change to the given value
+    *
+    * @param aTimeZone : New timezone
+    * @since S60Rel2.8
+    */
+    IMPORT_C void SetNewTimeZone( const TInt aTimeZone );
+
+
+    /**
+    * GetNewTimeZone
+    *
+    * Returns what the timezone is after the time changed 
+    *
+    * @since S60Rel2.8
+    */
+    IMPORT_C TInt GetNewTimeZone() const;
+
+// Security level
+
+    /**
+    * SetOldSecurityLevel
+    *
+    * Sets the security level before the change to the given value
+    *
+    * @param aTime : Old security level
+    * @since S60Rel2.8
+    */
+    IMPORT_C void SetOldSecurityLevel( const DRMClock::ESecurityLevel aSecLevel );
+
+
+    /**
+    * GetOldSecurityLevel
+    *
+    * Returns what the security level was before the time changed
+    *
+    * @since S60Rel2.8
+    */
+    IMPORT_C DRMClock::ESecurityLevel GetOldSecurityLevel() const;
+
+
+    /**
+    * SetNewSecurityLevel
+    *
+    * Sets the security level after the change to the given value
+    *
+    * @param aSecLevel : New security level
+    * @since S60Rel2.8
+    */
+    IMPORT_C void SetNewSecurityLevel( const DRMClock::ESecurityLevel aSecLevel );
+
+
+    /**
+    * GetNewSecurityLevel
+    *
+    * Returns what the security level is after the time changed 
+    *
+    * @since S60Rel2.8
+    */
+    IMPORT_C DRMClock::ESecurityLevel GetNewSecurityLevel() const;
+
+public: // Functions from base classes
+
+    /**
+    * ExternalizeL
+    *
+    * Writes the objects data into a stream
+    *
+    * @param aOutput : an output stream where to write
+    * @since S60Rel2.8
+    */
+    IMPORT_C virtual void ExternalizeL(RWriteStream& aOutput);
+
+    /**
+    * InternalizeL
+    *
+    * Reads the objects data from a stream
+    *
+    * @param aInput : an input stream where to read from
+    * @since S60Rel2.8
+    */
+    IMPORT_C virtual void InternalizeL(RReadStream& aInput);
+
+
+    /**
+    * WriteInt64L
+    * 
+    * Writes the 64 bit integer to the stream
+    *
+    * @since    3.0
+    * @param    aWrite : the 64 bit integer to write
+    * @param    aStream : the output stream to write to
+    * @return   The function leaves with Symbian OS error code if an
+    *           error occurs
+    */
+    void WriteInt64L( const TInt64& aWrite, RWriteStream& aStream ) const;
+
+    /**
+    * ReadInt64L
+    * 
+    * Reads the 64 bit integer from the stream
+    *
+    * @since    3.0
+    * @param    aRead : the 64 bit integer read
+    * @param    aStream : the output stream to write to
+    * @return   The function leaves with Symbian OS error code if an
+    *           error occurs
+    */
+    void ReadInt64L( TInt64& aRead, RReadStream& aStream ); 
+
+private:
+    
+    /**
+    * C++ default constructor.
+    */
+    CDRMEventTimeChange( void );
+
+    /**
+    * First Phase constructor
+    */
+    void ConstructL();
+   
+    // Prohibit copy constructor
+    CDRMEventTimeChange( const CDRMEventTimeChange& );
+
+    // Prohibit assigment operator
+    CDRMEventTimeChange& operator=( const CDRMEventTimeChange& );
+
+    // The old time before the change
+    TTime iOldTime;
+
+    // The new time after the change
+    TTime iNewTime;
+    
+    // The old timezone before the change
+    TInt iOldTimeZone;
+    
+    // The new timezone after the change
+    TInt iNewTimeZone;
+    
+    // The old security level before the change
+    DRMClock::ESecurityLevel iOldSecurityLevel;
+    
+    // The new security level after the change
+    DRMClock::ESecurityLevel iNewSecurityLevel;
+    
+};
+
+#endif      // CDRMEVENTTIMECHANGE_H
+            
+// End of File