sensor-query.h
上传用户:rrhhcc
上传日期:2015-12-11
资源大小:54129k
文件大小:1k
源码类别:

通讯编程

开发平台:

Visual C++

  1. #ifndef sensor_query_h_
  2. #define sensor_query_h_
  3. #include <agent.h>
  4. #include <ip.h>
  5. #include <delay.h>
  6. #include <scheduler.h>
  7. #include <queue.h>
  8. #include <trace.h>
  9. #include <arp.h>
  10. #include <ll.h>
  11. #include <mac.h>
  12. #include <priqueue.h>
  13. #include <mobilenode.h>
  14. #include <address.h>
  15. #include "tags.h"
  16. class SensorQueryHandler;
  17. class SensorQueryAgent : public Agent {
  18. public:
  19.   SensorQueryAgent();
  20.   virtual int command(int argc, const char * const * argv);
  21.   // Tracing stuff
  22.   Trace *tracetarget_;
  23.   void trace(char* fmt,...); 
  24.   
  25.   // Address of node the agent is attached to
  26.   nsaddr_t myaddr_;
  27.   void startUp();
  28.   void stop();
  29.   double query_interval_;
  30.   void generate_query(int p1, int p2, int p3);
  31.   // Used to schedule query generation
  32.   Event *gen_query_event_;
  33.   SensorQueryHandler *query_handler_;
  34.   //  void handle(Event *);
  35.   void recv(Packet *p, Handler *);
  36.   // Pointer to global tag database
  37.   tags_database *tag_dbase_;
  38.   // set to 1 if node is dead, defaults to 0 
  39.   int node_dead_;
  40. };
  41. class SensorQueryHandler : public Handler {
  42. public:
  43.   SensorQueryHandler(SensorQueryAgent *a) { a_ = a; }
  44.   virtual void handle(Event *e) { a_->generate_query(-1,-1,-1); }
  45. private:
  46.   SensorQueryAgent *a_;
  47. };
  48. #endif