williamr@2: /* williamr@2: * Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). williamr@2: * All rights reserved. williamr@2: * This component and the accompanying materials are made available williamr@4: * under the terms of "Eclipse Public License v1.0" williamr@2: * which accompanies this distribution, and is available williamr@4: * at the URL "http://www.eclipse.org/legal/epl-v10.html". williamr@2: * williamr@2: * Initial Contributors: williamr@2: * Nokia Corporation - initial contribution. williamr@2: * williamr@2: * Contributors: williamr@2: * williamr@2: * Description: the client side class for DRMHelperServer williamr@2: * williamr@2: */ williamr@2: williamr@2: williamr@2: #ifndef RDRMHELPER_H williamr@2: #define RDRMHELPER_H williamr@2: williamr@2: // INCLUDES williamr@2: #include <e32base.h> williamr@2: williamr@2: // DATA TYPES williamr@2: williamr@2: // FORWARD DECLARATIONS williamr@2: williamr@2: // CLASS DECLARATION williamr@2: williamr@2: williamr@2: williamr@2: williamr@2: /** williamr@2: * This class provides the client-side interface to the server session williamr@2: * williamr@2: * @since Series 60 2.6 williamr@2: */ williamr@2: williamr@2: class RDRMHelper : public RSessionBase williamr@2: { williamr@2: public: // Constructors and destructor williamr@2: williamr@2: /** williamr@2: * C++ default constructor. williamr@2: */ williamr@2: RDRMHelper(); williamr@2: williamr@2: public: // New functions williamr@2: williamr@2: /** williamr@2: * Connects to server. williamr@2: * @return System-wide error code williamr@2: */ williamr@2: TInt Connect(); williamr@2: williamr@2: /** williamr@2: * Gets the version number williamr@2: * @return version number williamr@2: */ williamr@2: TVersion Version() const; williamr@2: williamr@2: /** williamr@2: * Register the given content uri as an automated content. williamr@2: * @param aUri: content URI williamr@2: * @param aActive: active or passive registration williamr@2: * @param aAutomatedType: type of automated content williamr@2: * @param aIntent: intent how content is used williamr@2: * @return System-wide error code williamr@2: */ williamr@2: TInt SetAutomated( williamr@2: const TDesC8& aUri, williamr@2: TBool aActive, williamr@2: TInt aAutomatedType, williamr@2: TInt aIntent ) const; williamr@2: williamr@2: /** williamr@2: * Unregister the given content. williamr@2: * @param aUri: content URI williamr@2: * @param aActive: active or passive registration williamr@2: * @param aAutomatedType: type of automated content williamr@2: * @param aIntent: intent how content is used williamr@2: * @return System-wide error code williamr@2: */ williamr@2: TInt RemoveAutomated( williamr@2: const TDesC8& aUri, williamr@2: TBool aActive, williamr@2: TInt aAutomatedType, williamr@2: TInt aIntent ) const; williamr@2: williamr@2: /** williamr@2: * Unregister all instances of the given content. williamr@2: * @param aUri: content URI williamr@2: * @param aActive: active or passive registration williamr@2: * @param aAutomatedType: type of automated content williamr@2: * @param aIntent: intent how content is used williamr@2: * @return System-wide error code williamr@2: */ williamr@2: TInt RemoveAutomatedAll( williamr@2: const TDesC8& aUri, williamr@2: TBool aActive, williamr@2: TInt aAutomatedType, williamr@2: TInt aIntent ) const; williamr@2: williamr@2: /** williamr@2: * Indicate that idle-screen has been activated. williamr@2: * @return System-wide error code williamr@2: */ williamr@2: TInt IndicateIdle() const; williamr@2: williamr@2: /** williamr@2: * Has given content been registered as automated content. williamr@2: * @param aUri content URI of the content williamr@2: * @param aAutomated (out) ETrue if registered as automated. williamr@2: * @param aType (out) Tells whether content has been registered as active or passive. williamr@2: * @return System-wide error code williamr@2: */ williamr@2: TInt IsAutomated( williamr@2: const TDesC8& aUri, williamr@2: TInt aAutomatedType, williamr@2: TInt aIntent, williamr@2: TBool& aAutomated, williamr@2: TInt& aType ) const; williamr@2: williamr@2: private: williamr@2: williamr@2: TInt StartServer(); williamr@2: TInt CreateServerProcess(); williamr@2: }; williamr@2: williamr@2: williamr@2: williamr@2: #endif // DRMHELPERCLIENT_H williamr@2: williamr@2: // End of File