⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 client.h

📁 给予QT的qps开源最新源码
💻 H
字号:
/*
   qpegps is a program for displaying a map centered at the current longitude/
   latitude as read from a gps receiver.

   Copyright (C) 2002 Ralf Haselmeier <Ralf.Haselmeier@gmx.de>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2 of the License, or
   (at your option) any later version.

   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.

   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

 */

#ifndef CLIENT_H
#define CLIENT_H

#include <qsocket.h>
#include <qsocketnotifier.h>
#include <qvbox.h>
#include <qhbox.h>
#include <qtextview.h>
#include <qlineedit.h>
#include <qlabel.h>
#include <qpushbutton.h>
#include <qtextstream.h>
#include <qtimer.h>
#include <qpixmap.h>
#include <qpainter.h>
#include <qfileinfo.h>
#include <qdir.h>
#include <qarray.h>
#include <qstring.h>
#ifndef DESKTOP
#include <qpe/qpeapplication.h>
#include <qpe/qcopenvelope_qws.h>
#endif

#include "gpsdata.h"
#include <math.h>
#include <time.h>
#include <stdlib.h>


class Client : public QObject
{
   Q_OBJECT

   // ----- METHODS -----
   public:
      //Client( GpsData*);
      Client(Qpegps * appl);
      ~Client();

      enum Update { POS, STA, SAT };

      void startGpsd();
      void startConnection();

   private:
      QString gpsdError();
      void queryGpsd();
      void parseGps( const QString & gpsStr);
//      void update();
//      static void gpsCallback(struct gps_data_t *sentence, char *buf, size_t len, int level);
      static void signalResume(int signal);

   private slots:
      void socketConnected();
      void socketClosed();
      void socketError(int e);
      void socketReadyRead();
      
      void gpsTimeout();
      void qcopResume(const QCString &msg, const QByteArray &);

   public slots:
      void closeConnection();
      void restartGpsd();

   // ----- MEMBERS -----
   public:
      GpsData gpsData;
      GpsOptions gpsOptions;
      QTimer *timer;
      Qpegps * application;

   private:
//      QSocketNotifier *gpsdNotifier;
      QSocket *gpsSocket;

//      QString oldTS;
      enum Status { Starting, 
         StartingConnect, 
         WaitingConnection,
         Connecting, 
         Running, 
         Stopped };
      Status status;
//		pthread_t gpsdHandler;
      static int gpsdCounter;

      QCopChannel *qcopChannel;
      static int resumeFlag;
      static int resumeEvent; // 0 no resume
                              // 1 resumed by signal, 
                              // 2 resumed by qcop

   signals:
      void updated(int);
};

#endif // CLIENT_H

// end of file

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -