File indexing completed on 2024-05-05 03:50:35

0001 // SPDX-License-Identifier: LGPL-2.1-or-later
0002 //
0003 // SPDX-FileCopyrightText: 2009 Eckhart Wörner <ewoerner@kde.org>
0004 //
0005 
0006 #ifndef GEOCUTE_MASTERCLIENT_H
0007 #define GEOCUTE_MASTERCLIENT_H
0008 
0009 #include <QObject>
0010 
0011 #include "AccuracyLevel.h"
0012 
0013 
0014 
0015 namespace GeoCute
0016 {
0017     
0018 enum ResourceFlags {
0019     ResourceNone = 0,
0020     ResourceNetwork = 1 << 0,
0021     ResourceCell = 1 << 1,
0022     ResourceGPS = 1 << 2,
0023     ResourceAll = (1 << 10) - 1
0024 };
0025 
0026 enum SignallingFlags {
0027     SignallingNotRequired,
0028     SignallingRequired
0029 };
0030 
0031 class PositionProvider;
0032 
0033 class MasterClient : public QObject
0034 {
0035     Q_OBJECT
0036     
0037     public:
0038         explicit MasterClient(QObject* parent = 0);
0039         ~MasterClient();
0040         PositionProvider* positionProvider();
0041         void setRequirements(AccuracyLevel, int min_time, SignallingFlags,
0042             ResourceFlags);
0043             
0044     private:
0045         class Private;
0046         Private* const d;
0047 };
0048 
0049 }
0050 
0051 
0052 
0053 #endif