16 #include <nn/pia/clone/clone_Definitions.h>
17 #include <nn/pia/clone/clone_CloneBase.h>
72 virtual void Trace(uint64_t flag)
const;
80 uint32_t GetReceiverBmp()
const
90 bool IsInAnnounce()
const
92 return m_AnnounceCommandToken.IsInList();
100 uint32_t GetAnnounceBmp()
const
102 return m_AnnounceCommandToken.GetDestStationBitmap();
110 bool IsEnding()
const
112 return m_EndCommandToken.IsInList();
119 static Type GetTypeStatic()
123 static Key ToKey(
Id id)
127 virtual Type GetTypeVirtual()
const
129 return GetTypeStatic();
134 virtual void OnStartup();
135 virtual void OnCleanup();
136 virtual void OnEnd();
137 virtual void OnSendFinished();
138 virtual bool IsEndProcessFinished();
142 virtual void OnDisconnect(
StationIndex stationIndex,
bool isValid);
150 virtual bool IsReadyToSetValue()
const;
151 virtual uint32_t GetDestBitmap()
const;
153 virtual uint64_t GetRegisterCountAll()
const
155 return m_RegisterCountAll;
157 void SetRegisterCountAll(
StationIndex stationIndex, uint8_t count);
160 class AnnounceCommandToken :
public CommandToken
163 explicit AnnounceCommandToken(
SendClone* pClone)
164 : CommandToken(pClone), m_DestBitmap(0)
167 virtual CommandType GetType()
const
169 return CommandType_Announce;
171 virtual uint32_t GetDestStationBitmap()
const
175 void SetDestBitmap(uint32_t destBitmap)
177 m_DestBitmap = destBitmap;
181 m_DestBitmap &= ~(0x1 << stationIndex);
185 uint32_t m_DestBitmap;
189 class EndCommandToken :
public CommandToken
192 explicit EndCommandToken(
SendClone* pClone)
193 : CommandToken(pClone)
196 virtual CommandType GetType()
const
198 return CommandType_End;
200 virtual uint32_t GetDestStationBitmap()
const
202 return static_cast<const SendClone*
>(GetClone())->m_ReceiverBmp;
208 uint32_t m_ReceiverBmp;
210 AnnounceCommandToken m_AnnounceCommandToken;
211 EndCommandToken m_EndCommandToken;
213 uint64_t m_RegisterCountAll;
216 template <
int TEST_ID,
typename Arg>
217 static void Test(
const SendClone& obj, Arg* pArg = NULL);