diff -r 000000000000 -r 95b198f216e5 drm_plat/drm_rights_api/inc/DRMIndividualConstraintExtension.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/drm_plat/drm_rights_api/inc/DRMIndividualConstraintExtension.h Thu Dec 17 08:52:27 2009 +0200 @@ -0,0 +1,77 @@ +/* +* Copyright (c) 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: Defines an interface to extend DRM to support and validate non +* standard DRM individual constraints (i.e. constraints other than +* "IMSI:" or "WIM:") +* +*/ + + +#ifndef __DRMINDIVIDUALCONSTRAINTEXTENSION_H__ +#define __DRMINDIVIDUALCONSTRAINTEXTENSION_H__ + +// INCLUDES +#include + +// CONSTANTS +_LIT(KDRMIndividualConstraintExtensionDll,"z:\\sys\\bin\\DRMIndividualConstraintExtension.dll"); + +// FORWARD DECLARATIONS +class RMobilePhone; + +// CLASS DECLARATION + +/** +* Defines an interface to extend DRM to support and validate non standard DRM +* individual constraints (i.e. constraints other than "IMSI:" or "WIM:") +* +* Must be implemented within a DLL named KDRMIndividualConstraintExtensionDll +* which exports a non leaving factory method at ordinal 1 returning +* MDRMIndividualConstraintExtension* or NULL +* +* The DRM engine will only load and use this DLL if it exists. +* +* @since Series60_3.1 +*/ +class MDRMIndividualConstraintExtension + { + public: // New functions + + /** + * The method should be coded to append additional valid individual + * constraint strings to the supplied array. + * + * Constraints must be of the format ":" + * + * @since Series60_3.1 + * @param aConstraint array of individual constraint strings + * @param aMobilePhone optional connected session to RMobilePhone, if + * not supplied then a new session will be created + * @return void + */ + virtual void AppendConstraintsL(RPointerArray& aConstraint, + RMobilePhone* aMobilePhone = NULL) =0; + + /** + * This method should be coded to Release any resources. CBase derived classes + * should call delete this. + * @since Series60_3.1 + * @return void + */ + virtual void Release() =0; + }; + +#endif //__DRMINDIVIDUALCONSTRAINTEXTENSION_H__ + +// End of File