landmarksui/engine/inc/CLmkLandmark.h
branchRCL_3
changeset 18 870918037e16
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/landmarksui/engine/inc/CLmkLandmark.h	Wed Sep 01 12:31:27 2010 +0100
@@ -0,0 +1,118 @@
+/*
+* Copyright (c) 2005 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:    LandmarksUi Content File -
+*     See class description below
+*
+*/
+
+
+
+
+
+
+
+#ifndef CLMKLANDMARK_H
+#define CLMKLANDMARK_H
+
+//  INCLUDES
+#include <e32base.h>
+#include <badesca.h>
+#include <EPos_CPosLandmark.h>
+#include <EPos_CPosLandmarkCategory.h>
+
+// CLASS DECLARATION
+
+/**
+*  This is a container class for a landmark.
+*
+*  A landmark is principally a location with a name.
+*
+*  The landmark object can either be created by a client or retrieved from
+*  @ref CPosLandmarkDatabase.
+*
+*  A landmark consists of a number of landmark attributes, e.g. landmark name,
+*  landmark position, coverage area, etc.
+*
+*  A landmark may also contain generic position fields. These position fields
+*  are defined in LbsFields.h. Only text fields are supported.
+*
+*  CLmkLandmark contains functions for setting and getting landmark attributes
+*  and position fields.
+*
+*  Note that CLmkLandmark is only a local representation of the landmark. To
+*  update the database, call @ref CPosLandmarkDatabase::UpdateLandmarkL (or
+*  @ref CPosLandmarkDatabase::AddLandmarkL for a new landmark).
+*
+*  @lib eposlandmarks.lib
+*  @since S60 3.0
+*  @version $Revision: 1.15 $, $Date: 2005/07/07 13:40:48 $
+*/
+class CLmkLandmark : public CBase
+    {
+
+    public:  // Constructors and destructor
+
+        /**
+        * Two-phased copy constructor.
+        *
+        * @param aLandmark The landmark to copy.
+        * @returns A copy of the specified landmark object.
+        */
+        IMPORT_C static CLmkLandmark* NewL(
+        const CPosLandmark*  aLandmark,
+        const RPointerArray<CPosLandmarkCategory>& aCategories
+       );
+
+       IMPORT_C static CLmkLandmark* NewL(
+       const CLmkLandmark&  aLandmark);
+
+
+        /**
+        * Destructor.
+        */
+        virtual ~CLmkLandmark();
+
+    public://New Functions
+
+        IMPORT_C CPosLandmark* PosLandmark();
+        IMPORT_C RPointerArray<CPosLandmarkCategory>& Categories();
+
+    private:
+
+        /**
+        * C++ default constructor.
+        */
+        CLmkLandmark();
+
+        CLmkLandmark(const CPosLandmark* aLandmark,
+                     const RPointerArray<CPosLandmarkCategory>& aCategories);
+
+        // Prohibit copy constructor
+        CLmkLandmark(const CLmkLandmark&);
+
+        // Prohibit assigment operator
+        CLmkLandmark& operator= (const CLmkLandmark&);
+
+        void ConstructL(const CPosLandmark* aLandmark,
+                     const RPointerArray<CPosLandmarkCategory>& aCategories);
+
+    private:    // Data
+
+    CPosLandmark*  iLandmark;
+    RPointerArray<CPosLandmarkCategory> iCategories;
+    };
+
+#endif      // CLMKLANDMARK_H
+
+// End of File