locationpickerservice/src/locationpickerservice.cpp
branchRCL_3
changeset 17 1fc85118c3ae
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/locationpickerservice/src/locationpickerservice.cpp	Tue Aug 31 15:09:25 2010 +0300
@@ -0,0 +1,76 @@
+/*
+* 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: LocationPickerService implementation
+*
+*/
+
+#include <hbapplication.h>
+#include "locationpickerservice.h"
+#include "locationpickerappwindow.h"
+
+// ----------------------------------------------------------------------------
+// LocationPickerService::LocationPickerService()
+// ----------------------------------------------------------------------------
+//
+LocationPickerService::LocationPickerService(LocationPickerAppWindow* parent)
+: XQServiceProvider(QLatin1String("com.nokia.symbian.ILocationPick"),parent),mServiceApp(parent)
+{
+    mAsyncReqId = 0;
+    publishAll();
+}
+
+// ----------------------------------------------------------------------------
+// LocationPickerService::~LocationPickerService()
+// ----------------------------------------------------------------------------
+//
+LocationPickerService::~LocationPickerService()
+{
+}
+
+
+// ----------------------------------------------------------------------------
+// LocationPickerService::complete()
+// ----------------------------------------------------------------------------
+void LocationPickerService::complete( QLocationPickerItem aLm )
+{
+    if ( isActive() )
+    {
+        mReturn=aLm;
+        connect( this, SIGNAL( returnValueDelivered() ), qApp, SLOT( quit() ) );
+        bool ok = completeRequest(mAsyncReqId,mReturn);
+		mAsyncReqId = 0;
+    }
+}
+// ----------------------------------------------------------------------------
+// isActive()
+// ----------------------------------------------------------------------------
+//
+bool LocationPickerService::isActive()
+{
+    return mAsyncReqId>0;
+}
+
+
+// ----------------------------------------------------------------------------
+// LocationPickerService::pick()
+// ----------------------------------------------------------------------------
+//
+void LocationPickerService::pick()
+{
+    connect( this, SIGNAL( clientDisconnected() ), qApp, SLOT( quit() ) );
+    mAsyncReqId = setCurrentRequestAsync();
+}
+
+
+