123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174 |
- #include "adcintelligentshow.h"
- #include <QApplication>
- #include <QDebug>
- #include <QStringList>
- #ifdef Android
- #include <QAndroidJniEnvironment>
- #include <QtAndroid>
- //#include <QAndr
- #include <QAndroidJniObject>
- #endif
- #include <iostream>
- #include "xmlparam.h"
- #include "grpcclientthread.h"
- #ifdef Android
- grpcclientthread * ggt;
- #endif
- std::string gstrmode = "false";
- std::string gstrserverip = "192.168.1.102";
- std::string gstrserverport = "30051";
- std::string gstrqueryinterval = "10";
- #include "pos_def.h"
- std::vector<iv::pos_def> gvectorpos;
- void LoadPos(std::string strfilepath)
- {
- QFile xFile;
- #ifdef Android
- QString strpath = "/storage/emulated/0/pos.txt";
- xFile.setFileName(strpath);
- #else
- xFile.setFileName(strfilepath.data());
- #endif
- if(xFile.open(QIODevice::ReadOnly))
- {
- QByteArray ba = xFile.readAll();
- QList<QByteArray> baline =ba.split('\n');//x.split(QRegExp("\n ")) ;//ba.split('\n');
- int nline = baline.size();
- int i;
- for(i=0;i<nline;i++)
- {
- QString x(baline[i]);
- // QList<QByteArray> badata = baline[i].split('\t');
- QStringList badata = x.split(QRegExp("[\t ,;]"));
- if(badata.size()>=3)
- {
- iv::pos_def xposdef;
- xposdef.mstrstationname = badata[0].toStdString();
- xposdef.mflon = badata[1].toDouble();
- xposdef.mflat = badata[2].toDouble();
- gvectorpos.push_back(xposdef);
- }
- }
- }
- xFile.close();
- }
- int main(int argc, char *argv[])
- {
- QApplication a(argc, argv);
- #ifdef Android
- QAndroidJniEnvironment env;
- QAndroidJniObject activity = QtAndroid::androidActivity();
- QAndroidJniObject name = QAndroidJniObject::getStaticObjectField(
- "android/content/Context",
- "POWER_SERVICE",
- "Ljava/lang/String;"
- );
- // CHECK_EXCEPTION();
- QAndroidJniObject powerService = activity.callObjectMethod(
- "getSystemService",
- "(Ljava/lang/String;)Ljava/lang/Object;",
- name.object<jstring>());
- // CHECK_EXCEPTION();
- QAndroidJniObject tag = QAndroidJniObject::fromString("QtJniWakeLock");
- QAndroidJniObject k = powerService.callObjectMethod(
- "newWakeLock",
- "(ILjava/lang/String;)Landroid/os/PowerManager$WakeLock;",
- 10, //SCREEN_BRIGHT_WAKE_LOCK
- tag.object<jstring>()
- );
- if(k.isValid())
- {
- k.callMethod<void>("acquire");
- }
- // CHECK_EXCEPTION();
- #endif
- QString strpath = QCoreApplication::applicationDirPath();
- if(argc < 2)
- strpath = strpath + "/ADCIntelligentShow_grpc.xml";
- else
- strpath = argv[1];
- // std::cout<<strpath.toStdString()<<std::endl;
- #ifdef Android
- strpath = "/storage/emulated/0/ADCIntelligentShow_grpc.xml";
- #endif
- iv::xmlparam::Xmlparam xp(strpath.toStdString());
- gstrmode = xp.GetParam("useoutgrpc","false");
- gstrserverip = xp.GetParam("serverip","192.168.1.102");
- gstrserverport = xp.GetParam("serverport","30051");
- gstrqueryinterval = xp.GetParam("queryinterval","10");
- grpcclientthread xrpcthread;
- #ifdef Android
- ggt = &xrpcthread;
- #endif
- if(strncmp(gstrmode.data(),"false",255) == 0)
- {
- xrpcthread.setserverip(gstrserverip);
- xrpcthread.setserverport(gstrserverport);
- xrpcthread.setqueryinterval(gstrqueryinterval);
- xrpcthread.addquerymsgunit("hcp2_gpsimu",100000,1);
- xrpcthread.addquerymsgunit("tracemap",10000000,1);
- xrpcthread.addquerymsgunit("lidar_obs",20000000,1);
- xrpcthread.addquerymsgunit("brainstate",10000,1);
- xrpcthread.addquerymsgunit("deciton",10000,1);
- xrpcthread.addquerymsgunit("radar",100000,1);
- xrpcthread.addctrlmsgunit("pad",1000,1);
- xrpcthread.addctrlmsgunit("xodrreq",1000,1);
- #ifndef Android
- xrpcthread.startlisten();
- #endif
- xrpcthread.start();
- }
- #ifndef Android
- LoadPos("pos.txt");
- #else
- // LoadPos("/storage/emulated/0/pos.txt");
- LoadPos("/storage/emulated/0/pos.txt");
- #endif
- ADCIntelligentShow w;
- #ifdef Android
- w.showFullScreen();
- // w.showMaximized();
- #else
- w.show();
- #endif
- return a.exec();
- }
|