diff -r 6369bfd1b60d -r 08b5eae9f9ff upnpavcontrolpoint/upnpaccessplugin/inc/upnpaccess.h --- a/upnpavcontrolpoint/upnpaccessplugin/inc/upnpaccess.h Mon Nov 01 13:44:24 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,327 +0,0 @@ -/** @file -* Copyright (c) 2002-2004 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: UPnP plugin interface for RSFW -* -*/ - - -#ifndef C_CUPNPACCESS_H -#define C_CUPNPACCESS_H - -// INCLUDES -#include -#include "upnpavcpenginerfsclient.h" - -// CLASS DECLARATION - -/** - * UPnP plugin for Rsfw. - * It enables mounting MS as new filesystem. - * - * @lib upnpaccess.lib - * @since Series 60 3.1 - */ -class CUpnpAccess: public CRsfwRemoteAccess - { - public: // Constructors and destructor - /** - * Two-phased constructor. - */ - static CUpnpAccess* NewL(); - - /** - * Destructor. - */ - virtual ~CUpnpAccess(); - /** - * Set up parameters for operation. - * @param aRsfwRemoteAccessObserver MRsfwRemoteAccessObserver for receiving - * asynchronous events from the accessor plugin, - * e.g. changes in connectivity. - * This parameter may be NULL - * NOTICE: this function is not supported by UPnP access plugin - */ - void SetupL(MRsfwRemoteAccessObserver* /* aRsfwRemoteAccessObserver */); - - /** - * Opens a connection to the server given by aServerName parameter. - * For UPnPAccess only serve has to be defined and - * value should be equal to UDN of MS - * So format URI for mounting has to be: - * upnp://UDN - * - * @param aUri URI of the remote repository. - * The URI must not contain authority part (user name/password) - * @param aFriendlyName server friendly name for access control dialog - * (can be empty) - * @param aUserName user name for access control (can be empty) - * @param aPassword password for access control (can be empty) - * @param aAuxData auxiliary parameters for connection setup (eg IAP info) - * @param aResponseHandler response handler - * @return identifier of the created transaction - */ - TUint OpenL(const TUriC& aUri, - const TDesC& aFriendlyName, - const TDesC& aUserName, - const TDesC& aPassword, - const TDesC& aAuxData, - MRsfwRemoteAccessResponseHandler* aResponseHandler) ; - - /** - * Gets contents of the directory given by aPathName parameter. - * - * @param aPathName path name of the directory - * @param aDirentsp an array of directory entries to be filled. - * @param aResponseHandler response handler - * @return identifier of the created transaction - */ - TUint GetDirectoryL(const TDesC& aPathName, - RPointerArray& aDirEnts, - MRsfwRemoteAccessResponseHandler* aResponseHandler); - - /** - * Gets attributes of the directory given by aPathName parameter. - * This function may also be called if the type of the object is - * not yet known (e.g., the object could be a file). - * - * @param aPathName path name of the directory - * @param aAttr attribute structure to be filled - * @param aResponseHandler response handler - * @return identifier of the created transaction - */ - TUint GetDirectoryAttributesL( - const TDesC& aPathName, - CRsfwDirEntAttr*& aAttr, - MRsfwRemoteAccessResponseHandler* aResponseHandler); - /** - * Gets attributes of the file given by aPathName parameter. - * - * @param aPathName path name of the file - * @param aAttr attribute structure to be filled - * @param aResponseHandler response handler - * @return identifier of the created transaction - */ - TUint GetFileAttributesL(const TDesC& aPathName, CRsfwDirEntAttr*& aAttr, - MRsfwRemoteAccessResponseHandler* aResponseHandler); - /** - * Sets attributes of the file or directory given by aPathName parameter. - * This function is typically only used for files and even then - * the implementation may do nothing since standard file attributes - * are implied by the contents of the file or set in conjunction with - * other operations on the file system object. - * NOTICE: this function is not supported by UPnP access plugin - * - * @param aPathName path name of the file or directory - * @param aAttr attribute structure - * @param aResponseHandler response handler - * @return identifier of the created transaction - */ - TUint SetAttributesL(const TDesC& aPathName, - CRsfwDirEntAttr& aAttr, - MRsfwRemoteAccessResponseHandler* aResponseHandler); - /** - * Gets a remote file and copies it to a local file. - * Note that byte ranges are not be implemented by all - * file access protocols. - * - * @param aRemotePathName path name of the remote file - * @param aLocalPathName path name of the local file - * @param aOffset offset of the first byte to be accessed - * @param aLength length of data to be accessed/was accessed (NULL/0=all) - * @param aFlags operation qualifier. - * The following flags have been defined: - * KRemoteAccessOptionGetToStartOfFile: even if an offset is specified - * the fetched data is still put at the beginning of the local file. - * @param aResponseHandler response handler - * @return identifier of the created transaction - */ - TUint GetFileL(const TDesC& aRemotePathName, - const TDesC& aLocalPathName, - TInt aOffset, - TInt* aLength, - TUint aFlags, - MRsfwRemoteAccessResponseHandler* aResponseHandler); - /** - * Puts a file to the server. - * NOTICE: this function is not supported by UPnP access plugin - * - * @param aLocalPathName path name of the local file - * @param aRemotePathName path name of the remote file - * @param aMimeType MIME-type of the file - * (will be put to Content-Type, e.g. text/plain or - * application/octet-stream) - * @param aOffset offset of the first byte to be accessed - * @param aLength length of data to be accessed (NULL/0=all) - * @param aTotalLength total length of the file - * @param aResponseHandler response handler - * @return identifier of the created transaction - */ - TUint PutFileL(const TDesC& aLocalPathName, - const TDesC& aRemotePathName, - const TDesC8& aMimeType, - TInt aOffset, - TInt aLength, - TInt aTotalLength, - MRsfwRemoteAccessResponseHandler* aResponseHandler); - /** - * Puts a file to the server. - * - * @param aLocalPathName path name of the local file - * @param aRemotePathName path name of the remote file - * @param aMimeType MIME-type of the file (will be put to Content-Type, - * e.g. text/plain or application/octet-stream) - * @param aResponseHandler response handler - * @return identifier of the created transaction - */ - TUint PutFileL(const TDesC& aLocalPathName, - const TDesC& aRemotePathName, - const TDesC8& aMimeType, - MRsfwRemoteAccessResponseHandler* aResponseHandler); - /** - * Creates an empty file on the remote server - * - * @param aPathName path name of the new file - * @param aOverWriting whether we are overwriting an existing file - * @param aResponseHandler response handler - * @return identifier of the created transaction - */ - TUint CreateFileL(const TDesC& aPathName, TBool aOverWriting, - MRsfwRemoteAccessResponseHandler* aResponseHandler); - /** - * Makes a directory. - * - * @param aPathName path name of the new directory - * @param aResponseHandler response handler - * @return identifier of the created transaction - */ - TUint MakeDirectoryL(const TDesC& aPathName, - MRsfwRemoteAccessResponseHandler* aResponseHandler); - /** - * Deletes a directory. - * - * @param aPathName path name of the directory to be deleted - * @param aResponseHandler response handler - * @return identifier of the created transaction - */ - TUint DeleteDirectoryL(const TDesC& aPathName, - MRsfwRemoteAccessResponseHandler* aResponseHandler); - /** - * Deletes a file. - * - * @param aPathName path name of the file to be deleted - * @param aResponseHandler response handler - * @return identifier of the created transaction - */ - TUint DeleteFileL(const TDesC& aPathName, - MRsfwRemoteAccessResponseHandler* aResponseHandler); - /** - * Renames a file or a directory. - * (may involve movement to another directory). - * NOTICE: this function is not supported by UPnP access plugin - * - * @param aSrcPathName path name of the object to be renamed - * @param aDstPathName new path name of the object - * @param aOverwrite allow overwriting an existing object - * @param aResponseHandler response handler - * @return identifier of the created transaction - */ - TUint RenameL(const TDesC& aSrcPathName, - const TDesC& aDstPathName, - TBool aOverwrite, - MRsfwRemoteAccessResponseHandler* aResponseHandler); - - /** - * Obtains a lock for the given file system object - * NOTICE: this function is not supported by UPnP access plugin - * - * @param aPathName path name of the object to be locked - * @param aLockFlags indicates whether a write or read lock is requested - * @param aTimeout the timeout that is requested and granted - * @param aLockToken lock token - * @param aResponseHandler response handler - * @return identifier of the created transaction - */ - TUint ObtainLockL(const TDesC& aPathName, - TUint aLockFlags, - TUint& aTimeout, - TDesC8*& aLockToken, - MRsfwRemoteAccessResponseHandler* aResponseHandler); - /** - * Releases the lock of the given file system object - * NOTICE: this function is not supported by UPnP access plugin - * - * @param aPathName path name of the object to be locked - * @param aResponseHandler response handler - */ - TUint ReleaseLockL(const TDesC& aPathName, - MRsfwRemoteAccessResponseHandler* aResponseHandler); - /** - * Refreshes the lock of the given file system object - * NOTICE: this function is not supported by UPnP access plugin - * - * @param aPathName path name of the object to be locked - * @param aTimeout the timeout that is requested and granted - * @param aResponseHandler response handler - * @return identifier of the created transaction - */ - TUint RefreshLockL(const TDesC& aPathName, - TUint& aTimeout, - MRsfwRemoteAccessResponseHandler* aResponseHandler); - - /** - * Sets lock token for the a given resource - * This lock token value replaces any previously cached token value - * - * @param aPathName path name - * @param aLockToken lock token - * @return error code - */ - TInt SetLockToken(const TDesC& aPathName, const TDesC8& aLockToken); - - /** - * Cancels a transaction - * Eventually the transaction will/should call HandleRemoteAccessResponseL - * with status KErrCancel - * NOTICE: this function is not supported by UPnP access plugin - * - * @param aId the identifier of the transaction to be canceled - */ - void Cancel(TUint aId); - - /** - * Cancels a transaction - * Eventually the transaction will/should call HandleRemoteAccessResponseL - * with status KErrCancel - * NOTICE: this function is not supported by UPnP access plugin - * - * @param aTargetPath the identifier of the transaction to be canceled - */ - void Cancel(TDesC& aTargetPath); - - private: - /** - * Symbian 2nd phase constructor. - */ - void ConstructL(); - - private: - // UDN of MS - HBufC8* iUUID; - // client to target server - RUpnpAVCPEngineRFSClient iAVCPEngineClient; - }; - -#endif // C_CUPNPACCESS_H - -// End of File