diff -r 000000000000 -r 95b198f216e5 drm_plat/wmdrm_access_api/inc/wmdrmaccessecominterface.h --- /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 + +// 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_