plugin/poi/landmarks/provider/inc/Provider.h
changeset 0 c316ab048e9d
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugin/poi/landmarks/provider/inc/Provider.h	Fri Jun 25 12:50:05 2010 +0200
@@ -0,0 +1,51 @@
+/*
+ * Name        : Provider.h
+ * Description : 
+ * Project     : This file is part of OpenMAR, an Open Mobile Augmented Reality browser
+ * Website     : http://OpenMAR.org
+ *
+ * Copyright (c) 2010 David Caabeiro
+ *
+ * All rights reserved. This program and the accompanying materials are made available 
+ * under the terms of the Eclipse Public License v1.0 which accompanies this 
+ * distribution, and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ */
+
+#ifndef PROVIDER_H_
+#define PROVIDER_H_
+
+#include "POIProvider.h"
+#include "POIObject.h"
+
+#include "Loader.h"
+#include "Local.h"
+#include "Remote.h"
+
+/**
+ * @brief Provider implementation for local and remote landmarks (lmx)
+ */
+class CProvider : public OpenMAR::CPOIProvider, public MLandmarkLoaderObserver
+{
+public:
+    static CProvider* NewL(const TDesC8& aProviderUri);
+    ~CProvider();
+
+protected:
+    CProvider();
+    void ConstructL(const TDesC8& aProviderUri);
+
+    // From MLandmarkLoaderObserver
+    void LandmarkLoaderOpenedL(TInt aError);
+    void LandmarkLoaderItemCreatedL(const CPosLandmark& aLandmark);
+    void LandmarkLoaderItemUpdatedL(const CPosLandmark& aLandmark);
+    void LandmarkLoaderItemDeletedL(const CPosLandmark& aLandmark);
+
+public:
+    void RetrieveL(const TCoordinate& aCoordinate, TReal32 aRadius);
+
+private:
+    MLandmarkLoader* iLoader;
+};
+
+#endif  // PROVIDER_H_