--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ncdengine/inc/ncdinstalledcontent.h Thu Dec 17 08:51:10 2009 +0200
@@ -0,0 +1,123 @@
+/*
+* 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: Contains MNcdInstalledContent interface
+*
+*/
+
+
+#ifndef M_NCD_INSTALLED_CONTENT_H
+#define M_NCD_INSTALLED_CONTENT_H
+
+#include "catalogsbase.h"
+#include "ncdinterfaceids.h"
+
+
+/**
+ * Interface for accessing installed content.
+ *
+ * This interface provides methods for checking the status of the installed content.
+ * The actual content interfaces are queried by using QueryInterfaceL(). These interfaces
+ * include MNcdInstalledApplication, MNcdInstalledTheme and MNcdInstalledFile.
+ *
+ * @see MNcdNodeInstall
+ * @see MNcdInstalledApplication
+ * @see MNcdInstalledTheme
+ * @see MNcdInstalledFile
+ *
+ *
+ */
+class MNcdInstalledContent : public virtual MCatalogsBase
+ {
+public:
+
+ /**
+ * Unique identifier for the interface, required for all MCatalogsBase interfaces.
+ *
+ *
+ */
+ enum { KInterfaceUid = ENcdInstalledContentUid };
+
+
+ /**
+ * Types of installed content
+ *
+ *
+ */
+ enum TInstalledContentType
+ {
+ /**
+ * Normal content
+ */
+ EInstalledContent,
+
+ /**
+ * Required dependency
+ */
+ EInstalledDependency,
+
+ /**
+ * Application that should be launched
+ */
+ EInstalledLauncher
+ };
+
+ /**
+ * Checks if the item content has already been installed and is currently present in the
+ * device.
+ *
+ *
+ * @return ETrue if the item content has been installed and is present, EFalse otherwise.
+ * @exception Leave System wide error code.
+ * @note This is always ETrue for content that is of EInstalledLauncher type
+ */
+ virtual TBool IsInstalledL() const = 0;
+
+
+ /**
+ * Checks if the content is allowed to be launched.
+ *
+ * If this returns EFalse, the content should not be launched even if it has been
+ * successfully installed.
+ *
+ *
+ * @return ETrue if the content can be launched.
+ * @note This method does not check if the content has been installed or if it's
+ * currently present.
+ * @note For EInstalledLauncher content this is both launchable
+ * and installed status
+ */
+ virtual TBool IsLaunchable() const = 0;
+
+
+ /**
+ * Content type getter
+ *
+ *
+ * @return Type of the content
+ */
+ virtual TInstalledContentType ContentType() const = 0;
+
+protected:
+
+ /**
+ * Destructor.
+ *
+ * @see MCatalogsBase::~MCatalogsBase()
+ */
+ virtual ~MNcdInstalledContent() {}
+
+ };
+
+
+#endif // M_NCD_INSTALLED_CONTENT_H