00001 // Satish Kumar, kkumar@isi.edu 00002 00003 #ifndef agent_list_h_ 00004 #define agent_list_h_ 00005 00006 #include <cstdlib> 00007 #include <stdlib.h> 00008 #include <stdio.h> 00009 #include <iostream> 00010 #include <iomanip.h> 00011 #include <assert.h> 00012 #include <tclcl.h> 00013 #include <trace.h> 00014 #include <rng.h> 00015 #include <agent.h> 00016 00017 class AgentList : public TclObject { 00018 public: 00019 AgentList() { 00020 agents_ = NULL; 00021 num_agents_ = 0; 00022 } 00023 00024 virtual int command(int argc, const char * const * argv); 00025 static AgentList* instance() {assert(instance_); return instance_; } 00026 void AddAgent(nsaddr_t node_addr, void *a); 00027 void* GetAgent(nsaddr_t node_addr) { 00028 assert(num_agents_ > node_addr); 00029 return(agents_[node_addr]); 00030 } 00031 00032 private: 00033 void **agents_; 00034 int num_agents_; 00035 static AgentList* instance_; 00036 }; 00037 00038 00039 #endif
1.4.6