diff -r 000000000000 -r 7f85d04be362 upnpavcontroller/upnpavcontrollerhelper/inc/upnpfileutility.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/upnpavcontroller/upnpavcontrollerhelper/inc/upnpfileutility.h Thu Dec 17 08:52:00 2009 +0200 @@ -0,0 +1,97 @@ +/* +* Copyright (c) 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: Utility for working with files in upnp context +* +*/ + + + + + + +#ifndef UPNPFILEUTILITY_H +#define UPNPFILEUTILITY_H + +// INCLUDES +#include + +// FORWARD DECLARATIONS +class CUpnpElement; + +// CLASS DECLARATION + +/** +* Utility for working with local files in upnp context. The class +* contains static methods that can be used to check various things +* related to downloading files to local filesystem, or when playing +* local files via upnp. +* +* @lib upnpavcontrollerhelper.lib +* @since S60 3.2 +*/ +class UPnPFileUtility + { + +public: // Business logic methods + + /** + * Checks if given file content is protected. + * Note that if a file is protected, it can not be copied to + * a remote upnp mediaserver, nor it can be played via a remote + * renderer. A client should use this interface before attempting + * any of these operations for usability sake. + * Currently supports checks for OEM-DRM and WM-DRM. + * The method will leave if the file is not found, or if the + * protection status can not be checked for some reason. + * + * @since S60 3.2 + * @param aFilePath full path to file + * @return ETrue if file is protected + */ + IMPORT_C static TBool IsFileProtectedL( + const TDesC& aFilePath ); + + /** + * Checks if the given remote object (and the given particular + * resource) can fit in memory when downloaded using current + * default copy target setting + * @since S60 3.2 + * + * @param aResource the resource to download + * @return EFalse if the target drive does not have enough space + */ + IMPORT_C static TBool FitsInMemory( + const CUpnpElement& aResource ); + +private: + + /** + * Checks if the given remote object (and the given particular + * resource) can fit in memory when downloaded using current + * default copy target setting + * @since S60 3.2 + * + * @param aResource the resource to download + * @return EFalse if the target drive does not have enough space + */ + static TBool FitsInMemoryL( + const CUpnpElement& aResource ); + + }; + + + +#endif // UPNPFILEUTILITY_H + +// End of File