drm_plat/wmdrm_access_api/inc/wmdrmaccessecominterface.h
changeset 0 95b198f216e5
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/drm_plat/wmdrm_access_api/inc/wmdrmaccessecominterface.h	Thu Dec 17 08:52:27 2009 +0200
@@ -0,0 +1,60 @@
+/*
+* Copyright (c) 2009 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:
+*  wmdrmaccessecominterface.h
+*
+*/
+
+#ifndef _WMDRMACCESSECOMINTERFACE_H_
+#define _WMDRMACCESSECOMINTERFACE_H_
+
+#include <e32base.h>
+
+// Class declaration
+// CWmDrmAccessEcomInterface
+// ecom plugin interface for WM DRM access implementation
+// @see CWmDrmAccess
+NONSHARABLE_CLASS( CWmDrmAccessEcomInterface ) : public CBase
+    {
+public:
+    // Constructors
+    static CWmDrmAccessEcomInterface* NewL();
+    static CWmDrmAccessEcomInterface* NewLC();
+
+    // Destructor
+    virtual ~CWmDrmAccessEcomInterface();
+
+    // Initialises decryption context.
+    // @see CWmDrmAccess::Initialize
+    // @post class ready for decrypting WM DRM protected file,
+    //  header of which is given in aHeader.
+    virtual TInt Initialize( const TDesC8& aHeader ) = 0;
+
+    // Decrypts encrypted data in place.
+    // @see CWmDrmAccess::Decrypt
+    // @pre Succesful call of Initialize, data to be decrypted in aBuffer
+    // @post decrypted data in aBuffer
+    virtual TInt Decrypt( TDes8& aBuffer ) = 0;
+
+    // Closes decryption context.
+    // @see CWmDrmAccess::Close
+    virtual TInt Close() = 0;
+
+private:
+    // internal variable used on freeing ecom related resources
+    TUid iDtor_ID_Key;
+    };
+
+#include "wmdrmaccessecominterface.inl"
+#endif _WMDRMACCESSECOMINTERFACE_H_