01-con-discon-success.cpp 819 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. //#include <stdbool.h>
  2. //#include <cstdio>
  3. //#include <stdlib.h>
  4. #include <mosquittopp.h>
  5. static int run = -1;
  6. class mosquittopp_test : public mosqpp::mosquittopp
  7. {
  8. public:
  9. mosquittopp_test(const char *id);
  10. void on_connect(int rc);
  11. void on_disconnect(int rc);
  12. };
  13. mosquittopp_test::mosquittopp_test(const char *id) : mosqpp::mosquittopp(id)
  14. {
  15. }
  16. void mosquittopp_test::on_connect(int rc)
  17. {
  18. if(rc){
  19. exit(1);
  20. }else{
  21. disconnect();
  22. }
  23. }
  24. void mosquittopp_test::on_disconnect(int rc)
  25. {
  26. run = rc;
  27. }
  28. int main(int argc, char *argv[])
  29. {
  30. struct mosquittopp_test *mosq;
  31. int port = atoi(argv[1]);
  32. mosqpp::lib_init();
  33. mosq = new mosquittopp_test("01-con-discon-success");
  34. mosq->connect("localhost", port, 60);
  35. while(run == -1){
  36. mosq->loop();
  37. }
  38. delete mosq;
  39. mosqpp::lib_cleanup();
  40. return run;
  41. }