--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/drm_plat/camese_utility_api/inc/CameseUtility.h Thu Dec 17 08:52:27 2009 +0200
@@ -0,0 +1,163 @@
+/*
+* Copyright (c) 2006-2007 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 the entry point for the CameseUtility library.
+*
+*/
+
+
+#ifndef CAMESEUTILITY_H
+#define CAMESEUTILITY_H
+
+// INCLUDES
+#include <e32base.h>
+
+// FORWARD DECLARATIONS
+class CCameseEngine;
+class RConnection;
+class RFile;
+class MCameseObserver;
+
+/**
+* CCameseUtility
+* Interface published by the Camese Utility library.
+*
+* @lib CameseUtility.dll
+* @since 5.0
+*/
+NONSHARABLE_CLASS( CCameseUtility ) : public CBase
+ {
+ public:
+ /**
+ * Creates an new instance for license acquisition.
+ * @param aObserver Observer interface to be notified on license
+ * acquisition states. If NULL then no notifications will be supplied
+ * (when handling the download result for example)
+ * @return address of an instance of this class
+ */
+ IMPORT_C static CCameseUtility* NewL( MCameseObserver* aObserver = NULL );
+
+
+ /**
+ * Creates an new instance for license acquisition.
+ * @param aIapNumber a IAP connection to use for communications.
+ * @param aObserver Observer interface to be notified on license
+ * acquisition states. If NULL then no notifications will be supplied
+ * (when handling the download result for example)
+ * @return address of an instance of this class
+ */
+ IMPORT_C static CCameseUtility* NewL( TInt aIapNumber,
+ MCameseObserver* aObserver = NULL );
+
+
+ /**
+ * Creates an new instance for license acquisition.
+ * @param aSockServHandle a socket server handle. If 0 a new socket
+ * server connection is created
+ * @param aConnPtr a connection to use for communications. If NULL
+ * a new connection is created
+ * @param aObserver Observer interface to be notified on license
+ * acquisition states. If NULL then no notifications will be supplied
+ * (when handling the download result for example)
+ * @return address of an instance of this class
+ */
+ IMPORT_C static CCameseUtility* NewL( TInt aSockServHandle,
+ RConnection* aConnPtr, MCameseObserver* aObserver = NULL );
+
+
+ /**
+ * Destructor
+ */
+ IMPORT_C virtual ~CCameseUtility();
+
+
+ /**
+ * Starts the license acquisition based on a specified DRM header.
+ * @param aDrmHeader DRM header to use for license acquisition
+ * @param aUrl Heap descriptor to populate with the content URL.
+ * Can be NULL.
+ * @param aStatus Request status. On completion contains the error code
+ */
+ IMPORT_C void AcquireLicense( const TDesC8& aDrmHeader, HBufC8*& aUrl,
+ TRequestStatus& aStatus );
+
+
+ /**
+ * Starts the license acquisition based on a specified file handle.
+ * @param aFileHandle a handle to the file for which the license is
+ * acquired.
+ * @param aUrl Heap descriptor to populate with the Music Shop URL for
+ * non-silent acquisition or an error page. Can be NULL.
+ * @param aStatus Request status. On completion contains the error code.
+ */
+ IMPORT_C void AcquireLicense( const RFile& aFileHandle, HBufC8*& aUrl,
+ TRequestStatus& aStatus );
+
+
+ /**
+ * Starts the license acquisition based on a specified file path.
+ * @param aFileHandle a file handle to use for non-silent license
+ * acquisition
+ * @param aLicenseResponse The license response sent by the license
+ * server in a non-silent post-delivery scenerio
+ * @param aStatus Request status. On completion contains the error code.
+ */
+ IMPORT_C void AcquireLicense( const RFile& aFileHandle,
+ const TDesC8& aLicenseResponse, TRequestStatus& aStatus );
+
+
+ /**
+ * Sending the download result.
+ * @param aContentUrl The URL to the Content Server where status
+ * should be reported.
+ * @param aResult Symbian error code indicating the result of the
+ * content download operation
+ * This will be converted to an HRESULT value before being sent to the
+ * Content Server.
+ * @param aStatus Request status. On completion contains the error code.
+ */
+ IMPORT_C void SendDownloadResult(const TDesC8& aContentUrl, TInt aResult,
+ TRequestStatus& aStatus);
+
+
+ /**
+ * Cancels an existing asynchronous call.
+ */
+ IMPORT_C void Cancel();
+
+
+ /**
+ * Sets the IAP connection to use for communications.
+ * @param aIapId The IAP connection that will be used
+ */
+ IMPORT_C void SetIapId( TInt aIapId );
+
+ private:
+ /**
+ * Constructor
+ */
+ CCameseUtility();
+
+
+ /**
+ * Symbian OS 2nd phase constructor.
+ */
+ void ConstructL( TInt aIapNumber, MCameseObserver* aObserver );
+
+ private:
+ CCameseEngine* iEngine;
+ };
+
+#endif // CAMESEUTILITY_H
+
+// End of File