Allowing printing of MOOSE Bridge State
authorRichard Whitehouse <github@richardwhiuk.com>
Sun, 8 May 2011 00:47:37 +0000 (01:47 +0100)
committerRichard Whitehouse <github@richardwhiuk.com>
Sun, 8 May 2011 00:47:37 +0000 (01:47 +0100)
src/devices/bridge/model/moose-bridge-state.cc
src/devices/bridge/model/moose-bridge-state.h

index 4bc77a5f382cd3f105765187bb97868569aa322b..28f28c1d232118c4be15907eb8d03e216ab5baa7 100644 (file)
@@ -209,5 +209,27 @@ unsigned long MooseBridgeState::GetSize(){
        return m_prefixState.size() + m_portState.size();
 }
 
+std::ostream& operator<<(std::ostream& file, MooseBridgeState& state){
+       file << state.m_prefixState.size() << std::endl;
+
+       for(std::map<MoosePrefixAddress, MooseBridgeState::Prefix>::iterator iter = state.m_prefixState.begin(); iter != state.m_prefixState.end(); ++iter){
+               file << iter->first.GetInt() << std::endl << iter->second.port << std::endl << iter->second.time << std::endl;
+       }
+
+       file << state.m_ethSuffixState.size() << std::endl;
+
+       for(std::map<Mac48Address, MooseBridgeState::Suffix>::iterator iter = state.m_ethSuffixState.begin(); iter != state.m_ethSuffixState.end(); ++iter){
+               file << iter->first << std::endl << iter->second.suffix.GetInt() << std::endl << iter->second.time << std::endl;
+       }
+       
+       file << state.m_portState.size();
+
+       for(std::map<MooseSuffixAddress, MooseBridgeState::Port>::iterator iter = state.m_portState.begin(); iter != state.m_portState.end(); ++iter){
+               file << std::endl << iter->first.GetInt() << std::endl << iter->second.port << std::endl << iter->second.time;
+       }
+
+
+}
+
 }
 
index d7cfb29fcdefc82f4210bf37161ed5ed87933bf3..7262808d4cf30704f6c17e11e537c7ff6596c453 100644 (file)
@@ -85,9 +85,12 @@ private:
        std::map<MooseSuffixAddress, Suffix*> m_sufSuffixState;
        std::map<MooseSuffixAddress, Port> m_portState;
 
+        friend std::ostream& operator<<(std::ostream&, MooseBridgeState&);
 
 };
 
+std::ostream& operator<<(std::ostream&, MooseBridgeState&);
+
 }
 
 #endif