querymsg.cpp 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. #include "querymsg.h"
  2. #include <QCoreApplication>
  3. #include <iostream>
  4. static int gnquery = 1;
  5. querymsg::querymsg(QObject *parent) : QObject(parent)
  6. {
  7. mmsg = QDBusMessage::createSignal("/catarc/adc", "adciv.interface", "modulemsgquery");
  8. mmsg<<1;
  9. bool bconnect = QDBusConnection::sessionBus().connect(QString(),"/catarc/adc", "adciv.interface", "modulemsgres",this,SLOT(onQuery(QByteArray)));
  10. QTimer * timer = new QTimer();
  11. connect(timer,SIGNAL(timeout()),this,SLOT(onTimer()));
  12. timer->start(5000);
  13. std::cout<<gnquery<<".query:"<<std::endl;
  14. QDBusConnection::sessionBus().send(mmsg);
  15. }
  16. void querymsg::onTimer()
  17. {
  18. gnquery++;
  19. std::cout<<gnquery<<".query:"<<std::endl;
  20. QDBusConnection::sessionBus().send(mmsg);
  21. // QCoreApplication::exit();
  22. }
  23. void querymsg::onQuery(QByteArray ba)
  24. {
  25. if(ba.size() < sizeof(iv::modulemsg_type))
  26. {
  27. std::cout<<" querymsg::onQuery size error."<<std::endl;
  28. return;
  29. }
  30. iv::modulemsg_type xmodulemsg;
  31. memcpy((char *)&xmodulemsg,ba.data(),sizeof(iv::modulemsg_type));
  32. std::cout<<xmodulemsg.mstrmsgname<<"\t"<<xmodulemsg.mnBufSize<<"\t"<<xmodulemsg.mnMsgBufCount<<std::endl;
  33. }