summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichal Klocek <michal.klocek@theqtcompany.com>2015-11-19 17:47:47 +0100
committerMichal Klocek <michal.klocek@theqtcompany.com>2015-11-23 11:51:06 +0000
commit384991d3dca08725b6805c5cae1d206238f131c7 (patch)
tree4de2a2bac25a7a6ee3e68319692dac011b8b1a30
parent59a61324d66263bb219ba8fc4ccdd8c244cddf72 (diff)
downloadqtlocation-384991d3dca08725b6805c5cae1d206238f131c7.tar.gz
Share common data between b2qt emulator and simulator plugin
Share position information structs between client and server implementations for simulator plugin. Required structs exported as private export. Change-Id: I7c8fb4b93d8cacd6217096e28f770409c8939c29 Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com>
-rw-r--r--src/plugins/position/simulator/simulator.pro3
-rw-r--r--src/positioning/positioning.pro7
-rw-r--r--src/positioning/qlocationdata_simulator.cpp (renamed from src/plugins/position/simulator/qlocationdata_simulator.cpp)0
-rw-r--r--src/positioning/qlocationdata_simulator_p.h (renamed from src/plugins/position/simulator/qlocationdata_simulator_p.h)21
-rw-r--r--src/positioning/qpositioningglobal_p.h45
5 files changed, 69 insertions, 7 deletions
diff --git a/src/plugins/position/simulator/simulator.pro b/src/plugins/position/simulator/simulator.pro
index f9e2bdb5..dc00ae1a 100644
--- a/src/plugins/position/simulator/simulator.pro
+++ b/src/plugins/position/simulator/simulator.pro
@@ -4,16 +4,15 @@ QT = core network positioning
PLUGIN_TYPE = position
PLUGIN_CLASS_NAME = QGeoPositionInfoSourceFactorySimulator
load(qt_plugin)
+INCLUDEPATH += ../../../positioning
QT += simulator
DEFINES += QT_SIMULATOR
SOURCES += qgeopositioninfosource_simulator.cpp \
- qlocationdata_simulator.cpp \
qgeosatelliteinfosource_simulator.cpp \
qlocationconnection_simulator.cpp \
qgeopositioninfosourcefactory_simulator.cpp
HEADERS += qgeopositioninfosource_simulator_p.h \
- qlocationdata_simulator_p.h \
qgeosatelliteinfosource_simulator_p.h \
qlocationconnection_simulator_p.h \
qgeopositioninfosourcefactory_simulator.h
diff --git a/src/positioning/positioning.pro b/src/positioning/positioning.pro
index 2e751bfb..0dd91272 100644
--- a/src/positioning/positioning.pro
+++ b/src/positioning/positioning.pro
@@ -46,7 +46,9 @@ PRIVATE_HEADERS += \
qdeclarativegeolocation_p.h \
qdoublevector2d_p.h \
qdoublevector3d_p.h \
- qgeoprojection_p.h
+ qgeoprojection_p.h \
+ qpositioningglobal_p.h \
+ qlocationdata_simulator_p.h
SOURCES += \
qgeoaddress.cpp \
@@ -68,7 +70,8 @@ SOURCES += \
qdeclarativegeolocation.cpp \
qdoublevector2d.cpp \
qdoublevector3d.cpp \
- qgeoprojection.cpp
+ qgeoprojection.cpp \
+ qlocationdata_simulator.cpp
HEADERS += $$PUBLIC_HEADERS $$PRIVATE_HEADERS
diff --git a/src/plugins/position/simulator/qlocationdata_simulator.cpp b/src/positioning/qlocationdata_simulator.cpp
index b1ab808c..b1ab808c 100644
--- a/src/plugins/position/simulator/qlocationdata_simulator.cpp
+++ b/src/positioning/qlocationdata_simulator.cpp
diff --git a/src/plugins/position/simulator/qlocationdata_simulator_p.h b/src/positioning/qlocationdata_simulator_p.h
index a847a80f..8848123d 100644
--- a/src/plugins/position/simulator/qlocationdata_simulator_p.h
+++ b/src/positioning/qlocationdata_simulator_p.h
@@ -45,13 +45,22 @@
// We mean it.
//
+//
+// DO NOT REMOVE
+// -------------
+//
+// This header file contains structures used to serialize communication between
+// simulator's client and server implementations, it is included by simulator
+// positioning plugin.
+
+#include "qpositioningglobal_p.h"
#include <QtCore/QMetaType>
#include <QtCore/QDateTime>
#include <QtCore/QList>
QT_BEGIN_NAMESPACE
-struct QGeoPositionInfoData
+struct Q_POSITIONING_PRIVATE_EXPORT QGeoPositionInfoData
{
QGeoPositionInfoData();
@@ -76,7 +85,7 @@ struct QGeoPositionInfoData
bool enabled;
};
-struct QGeoSatelliteInfoData
+struct Q_POSITIONING_PRIVATE_EXPORT QGeoSatelliteInfoData
{
struct SatelliteInfo
{
@@ -102,7 +111,13 @@ struct QGeoSatelliteInfoData
QList<SatelliteInfo> satellites;
};
-void qt_registerLocationTypes();
+Q_POSITIONING_PRIVATE_EXPORT void qt_registerLocationTypes();
+Q_POSITIONING_PRIVATE_EXPORT QDataStream &operator<<(QDataStream &out, const QGeoPositionInfoData &s);
+Q_POSITIONING_PRIVATE_EXPORT QDataStream &operator>>(QDataStream &in, QGeoPositionInfoData &s);
+Q_POSITIONING_PRIVATE_EXPORT QDataStream &operator<<(QDataStream &out, const QGeoSatelliteInfoData &s);
+Q_POSITIONING_PRIVATE_EXPORT QDataStream &operator>>(QDataStream &in, QGeoSatelliteInfoData &s);
+Q_POSITIONING_PRIVATE_EXPORT QDataStream &operator<<(QDataStream &out, const QGeoSatelliteInfoData::SatelliteInfo &s);
+Q_POSITIONING_PRIVATE_EXPORT QDataStream &operator>>(QDataStream &in, QGeoSatelliteInfoData::SatelliteInfo &s);
QT_END_NAMESPACE
diff --git a/src/positioning/qpositioningglobal_p.h b/src/positioning/qpositioningglobal_p.h
new file mode 100644
index 00000000..d3a10dae
--- /dev/null
+++ b/src/positioning/qpositioningglobal_p.h
@@ -0,0 +1,45 @@
+/****************************************************************************
+**
+** Copyright (C) 2015 The Qt Company Ltd.
+** Contact: http://www.qt.io/licensing/
+**
+** This file is part of the QtPositioning module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL21$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see http://www.qt.io/terms-conditions. For further
+** information use the contact form at http://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 or version 3 as published by the Free
+** Software Foundation and appearing in the file LICENSE.LGPLv21 and
+** LICENSE.LGPLv3 included in the packaging of this file. Please review the
+** following information to ensure the GNU Lesser General Public License
+** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
+** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** As a special exception, The Qt Company gives you certain additional
+** rights. These rights are described in The Qt Company LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+#ifndef QPOSITIONINGGLOBAL_P_H
+#define QPOSITIONINGGLOBAL_P_H
+
+#include "qpositioningglobal.h"
+
+QT_BEGIN_NAMESPACE
+
+#define Q_POSITIONING_PRIVATE_EXPORT Q_POSITIONING_EXPORT
+
+QT_END_NAMESPACE
+
+#endif // QPOSITIONINGGLOBAL_P_H
+