From 7c473159e5495bb01a0b9c1b1acca227ec21f083 Mon Sep 17 00:00:00 2001 From: Richard Whitehouse Date: Sun, 8 May 2011 01:47:37 +0100 Subject: [PATCH] Allowing printing of MOOSE Bridge State --- .../bridge/model/moose-bridge-state.cc | 22 +++++++++++++++++++ src/devices/bridge/model/moose-bridge-state.h | 3 +++ 2 files changed, 25 insertions(+) diff --git a/src/devices/bridge/model/moose-bridge-state.cc b/src/devices/bridge/model/moose-bridge-state.cc index 4bc77a5..28f28c1 100644 --- a/src/devices/bridge/model/moose-bridge-state.cc +++ b/src/devices/bridge/model/moose-bridge-state.cc @@ -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::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::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::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; + } + + +} + } diff --git a/src/devices/bridge/model/moose-bridge-state.h b/src/devices/bridge/model/moose-bridge-state.h index d7cfb29..7262808 100644 --- a/src/devices/bridge/model/moose-bridge-state.h +++ b/src/devices/bridge/model/moose-bridge-state.h @@ -85,9 +85,12 @@ private: std::map m_sufSuffixState; std::map m_portState; + friend std::ostream& operator<<(std::ostream&, MooseBridgeState&); }; +std::ostream& operator<<(std::ostream&, MooseBridgeState&); + } #endif -- 2.34.1