McHandler.h
Go to the documentation of this file.
00001 /* 
00002  * File:   McHandler.h
00003  * Author: cwioro
00004  *
00005  * Created on May 21, 2014, 12:11 PM
00006  */
00007 
00008 #ifndef MCHANDLER_H
00009 #define MCHANDLER_H
00010 
00011 #include "McTree.h"
00012 #include "McTree.cpp"
00013 
00014 
00015 //#define MC_HANDLER_OUPUT
00016 
00017 class McHandler {
00018 public:
00019     McHandler(std::list<McTree*>* groups);
00020     McHandler(const McHandler& orig);
00021     virtual ~McHandler();
00022     
00023     McTree* getMcGroup(std::string* group_name);
00024     McTree* getMcGroup(std::string* hostname_source, uint32_t* route_id);
00025     std::vector<McTree*> lostConnectionDownlinks(unsigned char* mac);
00026         std::vector<McTree*> lostConnectionUplinks(unsigned char* mac);
00027     void createGroupAsRoot(std::string* group_name);
00028     void addGroup(std::string* group_name);
00029     bool addUplinkRoute(routing_entry* route);
00030     bool removeGroup(std::string* group_name);
00031 
00032 
00033     void addDownlinkRoute(routing_entry* route);
00034     void setMembership(std::string* group_name, bool membership);
00035 #ifdef DEBUG
00036     void printMcGroups();
00037 #endif    
00038 
00039 private:
00040     void createGroup(std::string* group_name, bool root, bool member, bool connected, bool activated, uint16_t root_distance);
00041     std::list<McTree*> *groups_;
00042 
00043 };
00044 
00045 #endif  /* MCHANDLER_H */
00046 


adhoc_communication
Author(s): Guenter Cwioro , Torsten Andre
autogenerated on Thu Aug 27 2015 11:56:40