16 #include <nn/pia/transport/transport_Definitions.h>
18 #include <nn/pia/transport/transport_Singleton.h>
19 #include <nn/pia/transport/transport_Station.h>
21 #include <nn/pia/common/common_ObjList.h>
22 #include <nn/pia/common/common_SimpleContainer.h>
57 typedef common::ObjList<Station> TStationList;
58 typedef common::SimpleContainer<Station*, static_cast<int>(
MaxStationNum)> TStationPtrArray;
66 Iterator(TStationPtrArray::Iterator it)
78 bool operator==(
const Iterator& rhs)
const
80 return m_Iterator == rhs.m_Iterator;
82 bool operator!=(
const Iterator& rhs)
const
84 return !(*
this == rhs);
93 TStationPtrArray::Iterator m_Iterator;
103 : m_ConstIterator(it)
108 return **m_ConstIterator;
110 const Station* operator->(
void)
112 return *m_ConstIterator;
116 return m_ConstIterator == rhs.m_ConstIterator;
120 return !(*
this == rhs);
129 TStationPtrArray::ConstIterator m_ConstIterator;
143 static Result CreateInstance(
void);
152 static void DestroyInstance(
void);
223 return Iterator(m_ValidStationPtr.Begin());
236 return Iterator(m_ValidStationPtr.End());
274 Station* CreateLocalStation(
void);
298 void DestroyStation(
Station* pStation);
322 return m_pLocalStation;
335 return m_pLocalStation;
457 uint16_t GetValidStationNum(
void)
const;
469 uint32_t GetParticipatingStationBitmap(
bool bIncludeMyself)
const;
479 m_HostStationIndex = idx;
490 return m_HostStationIndex;
500 virtual void Trace(uint64_t flag)
const;
504 TStationList m_StationList;
507 TStationPtrArray m_ValidStationPtr;
508 TStationPtrArray m_InvalidStationPtr;
510 bool isInStationList(
const Station* pStation)
const;
511 bool isInPtrArray(
const TStationPtrArray& ptrArray,
const Station* pStation)
const;
513 Station* m_pLocalStation;
517 static StationManager* s_pInstance;
519 StationManager(
const StationManager&);
520 StationManager& operator=(
const StationManager&);