• Main Page
  • Classes
  • Files
  • File List

/Users/yzchen/ns/ns-allinone-2.33/ns-2.33/sensor-nets/sensor-query.h

00001 
00002 
00003 #ifndef sensor_query_h_
00004 #define sensor_query_h_
00005 
00006 #include <agent.h>
00007 #include <ip.h>
00008 #include <delay.h>
00009 #include <scheduler.h>
00010 #include <queue.h>
00011 #include <trace.h>
00012 #include <arp.h>
00013 #include <ll.h>
00014 #include <mac.h>
00015 #include <priqueue.h>
00016 #include <mobilenode.h>
00017 #include <address.h>
00018 #include "tags.h"
00019 
00020 class SensorQueryHandler;
00021 
00022 
00023 class SensorQueryAgent : public Agent {
00024 public:
00025   SensorQueryAgent();
00026   virtual int command(int argc, const char * const * argv);
00027 
00028   // Tracing stuff
00029   Trace *tracetarget_;
00030   void trace(char* fmt,...); 
00031   
00032   // Address of node the agent is attached to
00033   nsaddr_t myaddr_;
00034 
00035   void startUp();
00036   void stop();
00037 
00038   double query_interval_;
00039   void generate_query(int p1, int p2, int p3);
00040 
00041   // Used to schedule query generation
00042   Event *gen_query_event_;
00043   SensorQueryHandler *query_handler_;
00044   //  void handle(Event *);
00045 
00046   void recv(Packet *p, Handler *);
00047 
00048   // Pointer to global tag database
00049   tags_database *tag_dbase_;
00050 
00051   // set to 1 if node is dead, defaults to 0 
00052   int node_dead_;
00053 };
00054 
00055 
00056 
00057 
00058 class SensorQueryHandler : public Handler {
00059 public:
00060   SensorQueryHandler(SensorQueryAgent *a) { a_ = a; }
00061   virtual void handle(Event *e) { a_->generate_query(-1,-1,-1); }
00062 private:
00063   SensorQueryAgent *a_;
00064 };
00065 
00066 
00067 #endif
00068 

Generated on Tue Aug 10 2010 16:16:08 for ns-2.33 by  doxygen 1.7.1