locationsystemui/locationsysui/possettings/posmethodsplugin/inc/pospsysettingsplugin.h
branchRCL_3
changeset 44 2b4ea9893b66
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationsystemui/locationsysui/possettings/posmethodsplugin/inc/pospsysettingsplugin.h	Tue Aug 31 15:37:04 2010 +0300
@@ -0,0 +1,107 @@
+/*
+ * Copyright (c) 2010 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: Declaration of the Positioning Methods plugin to the 
+ *							Avanced settings view
+ *
+ */
+
+#ifndef POSPSYSETTINGSPLUGIN_H
+#define POSPSYSETTINGSPLUGIN_H
+
+
+#include "possettingsadvinterface.h"
+#include "pospsysettingscommon.h"
+#include "possettingssignalmapper.h"
+
+#include <QObject>
+#include <QSignalMapper>
+#include <hbdataformmodelitem.h>
+
+// Forward Declaration
+class PosPsySettingsEngine;
+class PosSettingsAdvOp;
+class PosSettingsSignalMapper;
+
+class PosPsySettingsPlugin : public QObject, public PosSettingsAdvInterface
+{
+Q_OBJECT
+    Q_INTERFACES( PosSettingsAdvInterface )
+public: 
+   /**
+   * Constructor
+   */
+    PosPsySettingsPlugin();
+  /**
+   * Destructor
+   */
+   ~PosPsySettingsPlugin();
+public:
+    /**
+     * Derived from PosSettingsAdvInterface   
+     */ 
+    int initialise( PosSettingsAdvOp* operation );
+    
+private slots:
+		/**
+		* This will be called when any of the positioning methods checkbox is clicked.
+		* @param[in] state - indicates the state of the checkbox,whether enabled/disabled
+		* @param[in] psyUid - indicates the Uid of the Psy that has been clciked.
+		*/
+		void onPsyPressed(int index);
+		/**
+		 * This method will be called on a change in any of the psy info.
+		 * It willbe used to update the positioning methods group to reflect
+		 * the latest available info of psys.
+		 */
+		void updateGroup();
+		
+private:
+		/**
+		 * adds items to the group & make connections
+		 */
+		void addItems();
+		
+		
+private:
+		/**
+		* Pointer to the PosPsySettingsEngine
+		* Owns
+		*/
+		PosPsySettingsEngine* mEngine;
+		/**
+		* List of available Positioning methods
+		*/
+		QList<PosPsyInfo> mPsyList;
+		/**
+		 * pointer to the HbDataFormModelItem
+		 * Does not own
+		 */
+		HbDataFormModelItem* mGroup;
+		/**
+		 * Signal mapper used to map the signal emitted from
+		 * each of the psy check box to the slot
+		 * Owns
+		 */
+		QSignalMapper *mSignalMapper;
+		/**
+		 * List of psy signal mapper class
+		 */
+		QList<PosSettingsSignalMapper*> mPsySignalMapperList;
+		/**
+		 * reference to PosSettingsAdvOp
+		 */
+		PosSettingsAdvOp* mOperation;
+   
+};
+#endif // POSPSYSETTINGSPLUGIN_H