16 #include <nn/pia/clone/clone_Definitions.h>
17 #include <nn/pia/clone/clone_CloneBase.h>
73 uint32_t GetParticipantBmp()
const
75 return m_ParticipantBmp;
83 uint32_t GetRequestBmp()
const
85 return m_RequestCommandToken.GetDestStationBitmap();
89 virtual void Trace(uint64_t flag)
const;
94 virtual void OnStartup();
95 virtual void OnCleanup();
97 virtual void OnSendFinished();
98 virtual bool IsEndProcessFinished();
101 virtual void OnDisconnect(
StationIndex stationIndex,
bool isValid);
102 virtual void OnRegister();
104 virtual void OnAddParticipant(
StationIndex stationIndex)
106 NN_PIA_UNUSED(stationIndex);
112 RequestResponse_Accept,
113 RequestResponse_Reject,
114 RequestResponse_Ignore
123 virtual uint32_t GetDestBitmap()
const;
124 virtual bool IsInRequest()
const
126 return m_RequestCommandToken.IsInList();
129 virtual uint8_t GetLocalRegisterCount()
const
131 return m_LocalRegisterCount;
133 virtual uint64_t GetRegisterCountAll()
const
135 return m_RegisterCountAll;
137 virtual bool IsMatchLocalRegisterCount(uint64_t registerCountAll)
const;
138 void IncrementLocalRegisterCount();
139 void SetRegisterCountAll(
StationIndex stationIndex, uint8_t count);
145 class RequestCommandToken :
public ClockCommandToken
149 : ClockCommandToken(pClone), m_DestBitmap(0), m_Clock(
InvalidClock)
152 virtual CommandType GetType()
const
154 return CommandType_Request;
156 virtual uint32_t GetDestStationBitmap()
const
160 void SetDestBitmap(uint32_t destBitmap)
162 m_DestBitmap = destBitmap;
166 m_DestBitmap &= ~(0x1 << stationIndex);
178 uint32_t m_DestBitmap;
182 class EndCommandToken :
public CommandToken
186 : CommandToken(pClone)
189 virtual CommandType GetType()
const
191 return CommandType_End;
193 virtual uint32_t GetDestStationBitmap()
const
195 return static_cast<const SharingClone*
>(GetClone())->m_ParticipantBmp;
200 uint32_t m_ParticipantBmp;
202 RequestCommandToken m_RequestCommandToken;
203 EndCommandToken m_EndCommandToken;
205 uint8_t m_LocalRegisterCount;
206 uint64_t m_RegisterCountAll;
209 template <
int TEST_ID,
typename Arg>
210 static void Test(
const SharingClone& obj, Arg* pArg = NULL);