ncdengine/provider/protocol/inc/ncd_pp_entityref.h
changeset 0 ba25891c3a9e
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ncdengine/provider/protocol/inc/ncd_pp_entityref.h	Thu Dec 17 08:51:10 2009 +0200
@@ -0,0 +1,126 @@
+/*
+* Copyright (c) 2006 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:   MNcdPreminetProtocolEntityRef declaration
+*
+*/
+
+
+#ifndef NcdPREMINETPROTOCOLENTITYREF_H
+#define NcdPREMINETPROTOCOLENTITYREF_H
+
+#include <e32base.h>
+
+class MNcdPreminetProtocolEntityRef
+    {
+public:
+
+    enum TType
+        {
+        EFolderRef,
+        EItemRef,
+        EActionRef,
+        EPromoRef
+        };
+
+    enum TDescription
+        {
+        ENormal,
+        ESearchResults,
+        EServices,
+        ERecommendations
+        };
+
+    /**
+     * Destructor
+     */
+    virtual ~MNcdPreminetProtocolEntityRef() {}
+
+    /**
+     * Returns the type of this reference entity.
+     * @return TType
+     */
+    virtual TType Type() const = 0;
+
+    /**
+     * Returns the description of this reference entity.
+     * @return TDescription
+     */
+    virtual TDescription Description() const = 0;
+
+    /**
+     * Returns the ID of the parent entity.
+     * This entity should be added to the parent's child list,
+     * @return Parent id or KNullDesC if parentless.
+     */
+    virtual const TDesC& ParentId() const = 0;
+    
+    /**
+     * Returns the ID of this entity.
+     * @return Id
+     */
+    virtual const TDesC& Id() const = 0;
+    /**
+     * Returns the last modified date for this entity.
+     * @return Last modified time, or 0 if never modified.
+     */
+    virtual const TDesC& Timestamp() const = 0;
+
+    /**
+     * If this is a remote reference, the target uri is 
+     * retrieved with this method. If the reference is local,
+     * KNullDesC is returned.
+     * @return Remote uri or KNullDesC.
+     */
+    virtual const TDesC& RemoteUri() const = 0;
+
+    /**
+     * Returns the namespace for this entity
+     * @return namespace or KNullDesC if not available 
+     */
+    virtual const TDesC& Namespace() const = 0;
+
+    /**
+     * Returns the query ids related to this entity.
+     * The array may be empty.
+     * @return Query id array
+     */
+    virtual const RArray<TInt>& Queries() const = 0;
+
+    /**
+     * Retrieves the server uri from which this reference was received
+     * @return Server URI
+     */
+    virtual const TDesC& ServerUri() const = 0;
+
+    /**
+     * Returns the namespace of the parent of this entity.
+     * @return namespace or KNullDesC if not available
+     */
+    virtual const TDesC& ParentNamespace() const = 0;
+
+    /**
+     * Returns the validity time in minutes.
+     * @return Validity time, 0 if not set.
+     */
+    virtual TInt ValidUntilDelta() const = 0;
+
+    /**
+     * Returns true if the client may update the entity automatically
+     * @return true or false (default false)
+     */
+    virtual TBool ValidUntilAutoUpdate() const = 0;
+
+    };
+
+#endif