upnpmediaserver/contentdirectoryservice/inc/upnpcontentdirectorydatafinder.h
changeset 0 7f85d04be362
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/upnpmediaserver/contentdirectoryservice/inc/upnpcontentdirectorydatafinder.h	Thu Dec 17 08:52:00 2009 +0200
@@ -0,0 +1,99 @@
+/** @file
+* Copyright (c) 2005-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:  This is a interface, which allows to comunicate with 
+*				 ContentDirectory service to obtain informations related to 
+*				 reqested Uri such as path on physical drive to requested Uri 
+*				 or DLNA specyfic informations and flag for this Uri.
+*
+*/
+
+
+
+#ifndef C_MUPNPCONTENTDIRECTORYDATAFINDER_H
+#define C_MUPNPCONTENTDIRECTORYDATAFINDER_H
+
+//  INCLUDES
+#include <e32std.h>
+#include "upnpprotocolinfo.h"
+#include "upnpdlnaprotocolinfo.h"
+
+// FORWARD DECLARATIONS
+class CUpnpContentDirectory;
+
+/**
+* This is a interface, which allows to comunicate with ContentDirectory service
+* to obtain informations related to reqested Uri such as path on physical drive
+* to requested Uri or DLNA specyfic informations and flag for this Uri.
+* @lib DLNAwebserver.lib
+* @since Series 60 2.6
+**/
+class MUpnpContentDirectoryDataFinder 
+    {
+public: 
+
+    /**
+    * Checks if specified importUri is in database still active.
+    * @since Series60 2.6
+    * @param aImportUri uri to be searched in databse. 
+    * @return objId if successful or KErrnone if object wasn't found.
+    **/
+    virtual TInt CheckImportUriL( const TDesC8& aImportUri ) = 0;
+  
+    /**
+    * Gets title of the object with given id from ContentDirectory service. 
+    * @since Series60 2.6
+    * @param aObjectId id of the object.
+    * @param aValue pointer to buffer in which the tilte of the object will be returned.
+    *       Buffer for aValue has to allocated first.
+    **/
+    virtual void GetTitleForUriL( TInt aObjectId, TPtr& aValue ) = 0;
+    
+    /**
+    * Finds protocolInfo by contentUri (Not by importUri).
+    * @since Series60 2.6
+    * @param aContentUri uri to be searched in database (Value of resource).
+    * @param aProtocolInfo ProtocolInfo related to resorce which has been founded. 
+    *       Ownership is transfered to the caller.
+    * @return KErrNone if successful, otherwise another of the system error codes 
+    **/
+    virtual TInt GetProtocolInfoL( const TDesC8& aContentUri, 
+                                   CUpnpDlnaProtocolInfo*& aProtocolInfo ) = 0;
+   
+    /**
+    * Find shared folder for urlpath
+    * @since Series60 2.6
+    * @param aUrlPath Name of URL path connected to shared folder.
+    * @param aFileName Name of file.Can be empty.
+    * @param aFolderPath Name of shared folder.
+    * @return KErrNone or another of the system error codes.
+    **/ 
+    virtual TInt FindSharedFolderL( const TDesC& aUrlPath, 
+                                    const TDesC& aFileName, 
+                                    HBufC*& aFolderPath ) = 0;
+                                    
+    /**
+    * Find protocolInfo by importUri.
+    * @param aImportUritUri uri to be searched in database (Value of resource).
+    * @return ProtocolInfo related to resorce which has been founded. Ownership 
+    *       is transfered to the caller.
+    */
+    virtual CUpnpDlnaProtocolInfo* GetProtocolInfoByImportUriL( 
+                                  const TDesC8& aImportUri) = 0;
+
+
+    };
+
+#endif      // C_MUPNPCONTENTDIRECTORYDATAFINDER_H
+     
+// End of File
\ No newline at end of file