#ifndef GRPCCLIENTTHREAD_H #define GRPCCLIENTTHREAD_H #include #include #include #include #include #include #include #include #include "modulecomm.h" #include "cloud.pb.h" #include #include #include #include #include "ivgrpc.grpc.pb.h" #include "rpcmsgunit.h" using grpc::Channel; using grpc::ClientContext; using grpc::Status; class grpcclientthread : public QThread { public: grpcclientthread(); ~grpcclientthread(); private: std::string mstrserverip = "192.168.1.102";//"123.57.212.138"; std::string mstrserverport = "30051";//"9000"; std::string mstrqueryinterval = "10"; std::string mstrdevname = "PAD"; bool mbRuning = true; void * mpa; QMutex mMutexMsg; std::thread * guploadthread; std::vector mvectorquerymsgunit; std::vector mvectorctrlmsgunit; public: void UpdateData(const char * strdata,const unsigned int nSize,const char * strmemname); void startlisten(); void dec_yaml(const char * stryamlpath); void addquerymsgunit(std::string strquerymsg,int nbuffsize,int nbuffcount); void addctrlmsgunit(std::string strquerymsg,int nbuffsize,int nbuffcount); void setserverip(std::string strip); void setserverport(std::string strport); void setqueryinterval(std::string strinterval); void setdevname(std::string strdevname); private: void run(); void sharequerymsg(const iv::ModuleMsg * pxmsg); }; #endif // GRPCCLIENTTHREAD_H