17 #include <pia/transport/transport_definitions.h> 19 #include <pia/transport/transport_Singleton.h> 20 #include <pia/transport/transport_Station.h> 22 #include <pia/common/common_ObjList.h> 23 #include <pia/common/common_SimpleContainer.h> 62 typedef common::ObjList<Station> TStationList;
63 typedef common::SimpleContainer<Station*, static_cast<int>(
MAX_STATION_NUM)> TStationPtrArray;
71 Iterator(TStationPtrArray::Iterator it)
83 bool operator==(
const Iterator& rhs)
const 85 return m_Iterator == rhs.m_Iterator;
87 bool operator!=(
const Iterator& rhs)
const 89 return !(*
this == rhs);
98 TStationPtrArray::Iterator m_Iterator;
108 : m_ConstIterator(it)
113 return **m_ConstIterator;
115 const Station* operator->(
void)
117 return *m_ConstIterator;
121 return m_ConstIterator == rhs.m_ConstIterator;
125 return !(*
this == rhs);
134 TStationPtrArray::ConstIterator m_ConstIterator;
147 static nn::Result CreateInstance(
void);
154 static void DestroyInstance(
void);
222 return Iterator(m_ValidStationPtr.Begin());
235 return Iterator(m_ValidStationPtr.End());
273 Station* CreateLocalStation(
void);
297 void DestroyStation(
Station* pStation);
321 return m_pLocalStation;
334 return m_pLocalStation;
456 size_t GetValidStationNum(
void)
const;
468 u32 GetParticipatingStationBitmap(
bool bIncludeMyself)
const;
478 m_HostStationIndex = idx;
489 return m_HostStationIndex;
499 virtual void Trace(u64 flag)
const;
503 TStationList m_StationList;
506 TStationPtrArray m_ValidStationPtr;
507 TStationPtrArray m_InvalidStationPtr;
509 bool isInStationList(
const Station* pStation)
const;
510 bool isInPtrArray(
const TStationPtrArray& ptrArray,
const Station* pStation)
const;
Station * GetLocalStation(void)
Gets the local station (non-const version).
Definition: transport_StationManager.h:319
void Finalize(void)
Finalizes the common module.
StationIndex
Enumerates StationIndex values.
Definition: platformCtr.h:44
Definition of the StationId identifying the station within the session.
Definition: types.h:33
Represents a station. A station refers to a machine participating in a Pia session.
Definition: transport_Station.h:75
Iterator Begin(void)
Returns the iterator of the Station instance (non-const version).
Definition: transport_StationManager.h:220
const Station * GetLocalStation(void) const
Gets the local station ( const version).
Definition: transport_StationManager.h:332
const size_t MAX_STATION_NUM
The maximum value for the number of stations that can participate in a Pia session.
Definition: platformCtr.h:64
Represents an iterator for referring to the Stations participating in a session (non-const version)...
Definition: transport_StationManager.h:68
Represents an address used to uniquely identify stations. .
Definition: common_StationAddress.h:43
An interface (factory pattern) for generating the classes needed by the network.
Definition: transport_NetworkFactory.h:89
Iterator End(void)
Returns the iterator of the Station instance (non-const version).
Definition: transport_StationManager.h:233
nn::Result Initialize(void *pMem, u32 size)
Initializes the common module.
Represents an iterator for referring to the Stations participating in a session (const version)...
Definition: transport_StationManager.h:104
Represents a class for unifying multiple Station instances.
Definition: transport_StationManager.h:59
Class that represents an Internet address.
Definition: common_InetAddress.h:52
ConstIterator End(void) const
Returns the iterator of the Station instance ( const version).
Definition: transport_StationManager.h:259
ConstIterator Begin(void) const
Returns the iterator of the Station instance ( const version).
Definition: transport_StationManager.h:246
static StationManager * GetInstance(void)
Gets the StationManager class instance (singleton pattern). This function returns a NULL pointer if t...
Definition: transport_StationManager.h:166
This is the common base class used inside the Pia library.
Definition: common_RootObject.h:40