diff -r 000000000000 -r ba25891c3a9e ncdengine/inc/ncdnodedependencyinfo.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ncdengine/inc/ncdnodedependencyinfo.h Thu Dec 17 08:51:10 2009 +0200 @@ -0,0 +1,103 @@ +/* +* Copyright (c) 2006-2008 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: MNcdDependencyInfo +* +*/ + + +#ifndef NCD_NODE_DEPENDENCY_INFO +#define NCD_NODE_DEPENDENCY_INFO + +#include + +#include "ncdnodedependency.h" + +class MNcdNode; + +/** + * This interface provides functions to get information about dependency + * nodes or dependency content. + * + * This interface is also present when the node depends on some free + * downloadable content. In that case, DependencyNodeL() will return + * a NULL pointer. + * + * @see MNcdNodeDependency + * @see MNcdNode + * + * + */ +class MNcdNodeDependencyInfo +{ +public: + + /** + * @return const TDesC& Name of the dependency content. + * If the protocol has not defined any value, + * an empty string is returned. + */ + virtual const TDesC& Name() const = 0; + + /** + * @return const TDesC& Version of the dependency content. + * If the protocol has not defined any value, + * an empty string is returned. + */ + virtual const TDesC& Version() const = 0; + + /** + * This function is the indicative Symbian application UID for the + * contents that are applications. This can be used e.g. for checking + * if the application has already been installed to the phone. + * + * @return TUid Uid of the dependency content. + */ + virtual TUid Uid() const = 0; + + + /** + * @return MNcdNode* Node that contains the dependency content. + * If the dependency content has been given as a + * downloadable content, then NULL is returned. + * Counted, Release() must be called after use. + * @exception Leave System wide error code. + */ + virtual MNcdNode* DependencyNodeL() const = 0; + + + /** + * Returns the state of the dependency + * + * @return Dependency's state + */ + virtual TNcdDependencyState State() const = 0; + + +protected: + + /** + * The destructor of an interface is set virtual to make sure that + * the destructors of derived classes are called appropriately when the + * object is destroyed. + * + * Destructor is defined as protected to prevent direct use of + * delete on interface. + * + * + */ + virtual ~MNcdNodeDependencyInfo() { }; + +}; + +#endif // NCD_NODE_DEPENDENCY_INFO