17 #include <pia/clone/clone_definitions.h> 18 #include <pia/clone/clone_CloneBase.h> 76 u32 GetParticipantBmp()
const 78 return m_ParticipantBmp;
86 u32 GetRequestBmp()
const 88 return m_RequestCommandToken.GetDestStationBitmap();
96 bool IsRequest()
const 98 return m_RequestCommandToken.IsInList();
102 virtual void Trace(u64 flag)
const;
107 virtual void OnStartup();
108 virtual void OnCleanup();
109 virtual void OnEnd();
110 virtual bool OnCheckEnd();
113 virtual void OnDisconnect(
StationIndex stationId,
bool isValid);
114 virtual void OnRegister();
116 virtual void OnAddParticipant(
StationIndex stationIndex)
118 NN_PIA_DUMMY_PARAM(stationIndex);
124 REQUEST_RESPONSE_ACCEPT,
125 REQUEST_RESPONSE_REJECT,
126 REQUEST_RESPONSE_IGNORE
134 virtual u32 GetDestBitmap()
const;
135 virtual bool IsInRequest()
const 137 return m_RequestCommandToken.IsInList();
140 virtual u8 GetLocalRegisterCount()
const 142 return m_LocalRegisterCount;
144 virtual u64 GetRegisterCountAll()
const 146 return m_RegisterCountAll;
148 virtual bool IsMatchLocalRegisterCount(u64 registerCountAll)
const;
149 void IncrementLocalRegisterCount();
150 void SetRegisterCountAll(
StationIndex stationIndex, u8 count);
156 class RequestCommandToken :
public ClockCommandToken
160 : ClockCommandToken(pClone), m_DestBitmap(0), m_Clock(
INVALID_CLOCK)
163 virtual CommandType GetType()
const 165 return COMMAND_REQUEST;
167 virtual u32 GetDestStationBitmap()
const 171 void SetDestBitmap(u32 destBitmap)
173 m_DestBitmap = destBitmap;
177 m_DestBitmap &= ~(0x1 << stationId);
194 u32 m_ParticipantBmp;
196 RequestCommandToken m_RequestCommandToken;
198 u8 m_LocalRegisterCount;
199 u64 m_RegisterCountAll;
202 template <
int TEST_ID,
typename Arg>
203 static void Test(
const SharingClone& obj, Arg* pArg = NULL);
bool IsConnectedWithAll() const
Determines whether all stations have a SharingClone that exchanges data with this SharingClone...
u32 ClockValue
Defines a type that holds a clock value.
Definition: clone_definitions.h:44
This class is a derivative of CloneBase and provides functionality for bidirectional sending and rece...
Definition: clone_SharingClone.h:34
StationIndex
Enumerates StationIndex values.
Definition: platformCtr.h:44
Definition of the StationId identifying the station within the session.
Definition: types.h:33
bool IsConnected(StationId stationId) const
Determines whether another station's SharingClone exchanges data with this SharingClone.
This is the base class for managing sending and receiving. .
Definition: clone_CloneBase.h:38
static const ClockValue INVALID_CLOCK
Specifies an invalid clock value.
Definition: clone_definitions.h:50
virtual ~SharingClone()
Destructor.