--- /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 <e32cmn.h>
+
+#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