亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? client.cpp

?? 給予QT的qps開源最新源碼
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
   case Stopped:
      // not connected: just refresh every 500 ms
      if (gpsdCounter == 5) {
         emit updated(STA);
         gpsdCounter = -1;
      }
      break;
   }

   gpsdCounter = gpsdCounter + 1;
}

/*void Client::update()
{
   bool dataChanged = FALSE;
 	
	if (!gpsData->gpsdConnected)
		// not connected
		return;

	if(gpsData->set & ONLINE_SET) {
		//clear flags
      gpsData->set &= ~ONLINE_SET;
      gpsData->gpsOnline = (gpsData->online != 0);
      // dataChanged = TRUE; // emit newData
	}
	// test for fix changed
	if(gpsData->set & (STATUS_SET | MODE_SET)) {
		//clear flags
		gpsData->set &= ~(STATUS_SET | MODE_SET);
		// dataChanged = TRUE; // emit newData
	}
	if (gpsData->gpsOnline && gpsData->fix.mode >= MODE_2D) {
		if (gpsData->set & LATLON_SET) {
         gpsData->set &= ~LATLON_SET;
			gpsData->latitudeGps = gpsData->fix.latitude;
            gpsData->longitudeGps = gpsData->fix.longitude;
			if (application->ManualPosit==FALSE) {
                gpsData->currPos.lat = gpsData->fix.latitude;
                gpsData->currPos.lon = gpsData->fix.longitude;;
                dataChanged = TRUE;
			} 
		}
		if (gpsData->fix.mode >= MODE_3D && gpsData->set & ALTITUDE_SET) {
			gpsData->set &= ~ALTITUDE_SET;

			gpsData->altitude.val = gpsData->fix.altitude;
            // dataChanged = TRUE; never updated without long or lat
		}
		if (gpsData->set & SPEED_SET) {
			gpsData->set &= ~SPEED_SET;
			gpsData->speed.val = gpsData->fix.speed;
            if(gpsData->speed.val > 0.5) // average speed for travel time calc.
                gpsData->avspeed.val = gpsData->avspeed.val * 0.99 + gpsData->speed.val * 0.01;

			// dataChanged = TRUE; // emit newData
      } 
		if (gpsData->set & TRACK_SET) {
			gpsData->set &= ~TRACK_SET;

         gpsData->heading.val = gpsData->fix.track; 

			// dataChanged = TRUE; // emit newData
		}
	}
	// test for status changed
	if(gpsData->set & (TIME_SET | SATELLITE_SET | USED_SET| DEVICE_SET | DEVICEID_SET)) {
		if (gpsData->set & TIME_SET && isnan(gpsData->fix.time)==0) {
         QDateTime ctime;
         ctime.setTime_t((int)rint(gpsData->fix.time)); 

         gpsData->date = ctime.date();
         gpsData->time = ctime.time();

         gpsData->ts.time = gpsData->time.toString();
         gpsData->ts.date = gpsData->date.toString();
		}
		// status changed
//		if (!dataChanged)
//			//  only if no emit newData
//			emit newStatus();
		//clear flags
		gpsData->set &= ~(TIME_SET | SATELLITE_SET | USED_SET| DEVICE_SET | DEVICEID_SET);
	}
   if(dataChanged){
      gpsData->adjustDatum();   
//      emit newData();
   }
}
*/

void Client::qcopResume(const QCString& msg, const QByteArray& )
{
   if ( msg == "resumed()" ) {
      qDebug("qCop resumed() received: resuming...");
      if (resumeEvent == -1)
         resumeEvent = 2;
      if (resumeEvent == 2)
         resumeFlag = 2;
   }
}

void Client::signalResume(int signal)
{
   if ( signal ) {
      qDebug("SIGCONT received: resuming...");
      if (resumeEvent == -1)
         resumeEvent = 1;
      if (resumeEvent == 1)
         resumeFlag = 1;
   }
}

// local constants
static const char MagicWord[] = "GPSD"; // gpsd signature

void Client::parseGps( const QString &gpsStr )
{
   QString dataStr;
   if ( gpsStr.upper().startsWith(MagicWord) ) {
      for ( int pos = gpsStr.find('=') - 1;
            pos > 0;
            pos = gpsStr.find(pos+2, '=') - 1 ) {
         QChar type = gpsStr[pos];
         dataStr = gpsStr.mid(pos + 2);
         switch ( type.latin1() ) {
            case 'I':
               // GPS identifier
               {
                  if ( dataStr.startsWith("?") ) {
                     // empty statement
                     gpsData.gpsName = "---"; // unknown GPS
                  }
                  else {
                     // remove new line from end of data string (unit name)
                     gpsData.gpsName = dataStr;
                     gpsData.gpsName.truncate(dataStr.length() - 1);
                  }
                  emit updated(STA);
               }
               break;
            case 'O':
               // Position information
               {
                  // reset counter
                  gpsdCounter = 0;

                  if ( dataStr.startsWith("?") ) {
                     // GPS does not have fix
                     if ( gpsData.status != GpsData::NoFix ) {
                        gpsData.status = GpsData::NoFix;
                        emit updated(STA);
                     }
                     continue;
                  }
                  // GPS has fix
/*                  if ( !hasFix ) {
                     hasFix = true;
                     emit fixEstablished(true);
                  }*/
//                  if ( parseData == true ) {
//                     GpsDat gpsData;
                  bool posChanged = false;
                  bool update = false;
                  QStringList sl = QStringList::split(" ", dataStr, false);
                  if ( sl[1] != "?" ) {
                     // timestamp
                     gpsData.timestamp.setTime_t( (int) 
                        rint(sl[1].toDouble()));
                  }
                  if ( sl[3] != "?" ) {
                     // latitude
                     double d = sl[3].toDouble();
                     if ( d != gpsData.fix.position.lat ) {
                        gpsData.fix.position.lat = d;
                        posChanged = true;
                        update = true;
                     }
                  }
                  if ( sl[4] != "?" ) {
                     // longitude
                     double d = sl[4].toDouble();
                     if ( d != gpsData.fix.position.lon ) {
                        gpsData.fix.position.lon = d;
                        posChanged = true;
                        update = true;
                     }
                  }
                  if ( sl[5] != "?" ) {
                     // altitude
                     double d = sl[5].toDouble();
                     if ( d != gpsData.fix.altitude.val ) {
                        gpsData.fix.altitude.val = d;
                        // NOTE: a change in altitude alone will not
                        //       trigger a position change notice, as
                        //       the altitude value tends to fluctuate
                        //        with some (all?) GPS receivers
                        update = true;
                     }
                  }
                  if ( sl[8] != "?" ) {
                     // heading (track)
                     double d = sl[8].toDouble();
                     if ( d != gpsData.fix.heading.val ) {
                        gpsData.fix.heading.val = d;
                        update = true;
                     }
                  }
                  if ( sl[9] != "?" ) {
                     // speed
                     double d = sl[9].toDouble();
                     if ( d != gpsData.fix.speed.val ) {
                        gpsData.fix.speed.val = d;
                        // average speed for travel time calc.
                        if(gpsData.fix.speed.val > 0.5)
                            gpsData.avspeed.val = 
                              gpsData.avspeed.val * 0.99 + 
                              gpsData.fix.speed.val * 0.01;
                        update = true;
                     }
                  }
                 if ( sl[14] != "?" ) {
                     // mode
                    sl[14].truncate(1);
                    int m = sl[14].toInt() - 1;
                     if ( m != gpsData.status ) {
                        gpsData.status = m;
                        if (!update)
                           emit updated(STA);
                     }
                  }

                  if ( update ) {
                     if ( posChanged )
                        application->adjustDatum(gpsData.fix.position, 
                           gpsData.fix.altitude);
                     emit updated(POS);
                  }
               }
               break;
            case 'X':
               // GPS unit detection
               {
                  if ( dataStr.startsWith("?") ) {
                     // no GPS unit available
                     // NOTE: will only get this if directly requesting 'X';
                     //       currently not doing so
                     continue;
                  }
                  double val;
                  QTextIStream(&dataStr) >> val;
                  if ( val == 0 ) {
                     // qDebug("no GPS unit available");
                     gpsData.online = false;
                  } else {
                     // qDebug("GPS detected: " + QString::number(val));
                     gpsData.online = true;
                  }
                     emit updated(STA);
               }
               break;
            case 'Y':
               // Satellite information
               {
                  // reset counter
                  gpsdCounter = 0;

                  QStringList sl =
                     QStringList::split(":", dataStr, false);
                  QStringList::Iterator it = sl.begin();
                  // get sentence type, timestamp, number of satellites
                  QStringList sub = QStringList::split(" ", *it, false);
                  if ( sub.count() == 3 ) {
                     gpsData.timestamp.setTime_t( (int) 
                        rint(sub[1].toDouble()));
                  }
                  gpsData.satellites.clear();
                  gpsData.satellites.resize(sl.count());
                  // get individual satellite info
                  QStringList::Iterator end = sl.end();
                  int i = 0;
                  gpsData.satellites_used = 0;
                  for ( ++it; it != end; ++it, ++i ) {
                     sub = QStringList::split(" ", *it, false);
                     if ( sub.count() == 5 ) {
                        Satellite *s = new Satellite(sub[0].toInt(), 
                              sub[1].toInt(), sub[2].toInt(), 
                              sub[3].toInt(), (bool)sub[4].toInt());
                        gpsData.satellites.insert(i, s);
                        if (s->used)
                           ++gpsData.satellites_used;
                     }
                  }
                  emit updated(SAT);
               }
               break;
         }
      }
   }
}
// end of file

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品少妇一区二区三区免费观看| 日本一区二区三级电影在线观看 | 国产毛片一区二区| 1区2区3区欧美| 精品国产亚洲在线| 欧美日韩1区2区| 成人午夜视频免费看| 日本不卡一二三区黄网| 亚洲欧洲成人精品av97| 日韩视频国产视频| 色婷婷亚洲精品| 成人国产亚洲欧美成人综合网| 日韩高清不卡一区二区三区| 亚洲精品老司机| 欧美高清在线一区二区| 精品国精品自拍自在线| 欧美日韩视频第一区| 91免费在线播放| fc2成人免费人成在线观看播放| 91浏览器在线视频| 九九视频精品免费| 丝袜诱惑制服诱惑色一区在线观看 | 日本道免费精品一区二区三区| 国产在线观看一区二区| 轻轻草成人在线| 日韩av网站免费在线| 亚洲永久免费视频| 亚洲欧美日韩精品久久久久| 国产精品人人做人人爽人人添| 久久久不卡网国产精品二区| 日韩女优电影在线观看| 欧美一区日本一区韩国一区| 欧美日韩精品久久久| 欧美视频你懂的| 欧美日韩亚洲不卡| 在线成人免费观看| 日韩一区二区三区视频在线观看| 欧美精品久久久久久久久老牛影院| 欧美三级三级三级爽爽爽| 欧美午夜免费电影| 欧美日韩精品一区二区天天拍小说| 欧美日韩高清影院| 欧美日韩不卡在线| 欧美一区二区免费观在线| 日韩欧美国产麻豆| 精品少妇一区二区三区日产乱码 | 成人看片黄a免费看在线| 成人黄动漫网站免费app| www.av亚洲| 91首页免费视频| 精品污污网站免费看| 欧美视频一区二区三区在线观看| 欧美人与性动xxxx| 日韩午夜激情视频| 久久众筹精品私拍模特| 国产精品午夜电影| 伊人开心综合网| 日日夜夜免费精品视频| 久草中文综合在线| 国产成人精品一区二| 99久久久国产精品免费蜜臀| 欧美系列日韩一区| 欧美电影免费观看高清完整版在线 | 91官网在线免费观看| 欧美乱熟臀69xxxxxx| 精品国产一区二区三区久久久蜜月 | 欧美成人高清电影在线| 久久久国际精品| 亚洲精品成人少妇| 麻豆极品一区二区三区| 成人免费视频视频| 欧美日韩视频在线观看一区二区三区 | 国产成人av福利| 91老师国产黑色丝袜在线| 欧美老肥妇做.爰bbww| 2021国产精品久久精品| 一区二区国产盗摄色噜噜| 蜜臂av日日欢夜夜爽一区| 成人精品视频一区二区三区 | 日韩精品一区在线观看| 中文一区二区在线观看| 亚洲成av人片一区二区三区| 国产精品123区| 欧美午夜影院一区| 欧美激情综合五月色丁香| 亚洲成av人片| 成人免费视频国产在线观看| 9191久久久久久久久久久| 国产精品色噜噜| 美国毛片一区二区三区| 97精品国产露脸对白| 日韩欧美的一区| 夜夜精品浪潮av一区二区三区| 国产精品影视在线观看| 欧美福利视频一区| 亚洲六月丁香色婷婷综合久久 | 成人国产视频在线观看| 日韩视频免费观看高清完整版 | 青青草91视频| 91美女片黄在线| 久久久.com| 日本va欧美va瓶| 欧洲av在线精品| 国产精品乱码一区二三区小蝌蚪| 美女视频黄久久| 欧美日韩另类一区| 亚洲精品免费在线| 福利一区福利二区| 精品国产麻豆免费人成网站| 水蜜桃久久夜色精品一区的特点| 97se亚洲国产综合自在线观| 久久免费午夜影院| 老司机免费视频一区二区 | 国产精品视频一二三| 久久97超碰国产精品超碰| 欧美日韩一卡二卡| 亚洲激情中文1区| 91在线观看成人| 国产精品二三区| 成人免费av在线| 国产夜色精品一区二区av| 老司机精品视频一区二区三区| 欧美色男人天堂| 亚洲成人中文在线| 欧美色偷偷大香| 亚洲高清三级视频| 欧美三级在线视频| 亚洲最大色网站| 欧美午夜不卡在线观看免费| 一区二区三区欧美在线观看| 色偷偷久久一区二区三区| 国产精品久久二区二区| 成人毛片视频在线观看| 国产精品久久久久久久蜜臀 | 另类综合日韩欧美亚洲| 日韩欧美国产午夜精品| 国产在线播放一区二区三区| 欧美一区二区在线视频| 蜜臀av性久久久久av蜜臀妖精| 91精品视频网| 日本伊人色综合网| 日韩欧美一区电影| 国内外成人在线视频| 国产亚洲综合色| 91一区在线观看| 亚洲精品欧美激情| 6080亚洲精品一区二区| 免费的成人av| 国产欧美日韩综合精品一区二区| 成人avav影音| 亚洲一区二区三区中文字幕| 欧美群妇大交群的观看方式| 免费成人在线视频观看| 久久久久97国产精华液好用吗| 懂色av一区二区夜夜嗨| 综合久久一区二区三区| 欧美精三区欧美精三区| 毛片一区二区三区| 亚洲国产高清不卡| 91视视频在线观看入口直接观看www | 欧美日韩国产综合视频在线观看| 首页综合国产亚洲丝袜| 久久综合色鬼综合色| 9i在线看片成人免费| 亚洲图片欧美一区| 2020国产精品久久精品美国| 成人高清在线视频| 亚洲一区二区在线播放相泽| 日韩一区二区三区视频在线| 成人在线视频一区二区| 亚洲一区二区三区四区不卡| 日韩欧美国产小视频| eeuss鲁片一区二区三区| 成人小视频免费在线观看| 亚洲永久精品国产| 久久久一区二区| 在线观看亚洲精品| 国产麻豆午夜三级精品| 亚洲激情一二三区| 久久只精品国产| 欧美三级资源在线| 成人午夜看片网址| 天天av天天翘天天综合网| 国产人成亚洲第一网站在线播放| 91福利国产成人精品照片| 玖玖九九国产精品| 亚洲精品写真福利| 久久综合狠狠综合久久综合88| 色欧美88888久久久久久影院| 蓝色福利精品导航| 亚洲精品菠萝久久久久久久| 久久综合狠狠综合| 欧美精品vⅰdeose4hd| 99在线热播精品免费| 国内精品久久久久影院薰衣草 | 国产福利一区在线观看| 亚洲成av人片在线观看无码| 国产精品久久久久久久午夜片 | 国产三级欧美三级日产三级99| 欧美综合色免费|