本文整理汇总了C++中CHeaderData::setRepeaters方法的典型用法代码示例。如果您正苦于以下问题:C++ CHeaderData::setRepeaters方法的具体用法?C++ CHeaderData::setRepeaters怎么用?C++ CHeaderData::setRepeaters使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CHeaderData
的用法示例。
在下文中一共展示了CHeaderData::setRepeaters方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: writeHeaderInt
void CDPlusHandler::writeHeaderInt(IReflectorCallback* handler, CHeaderData& header, DIRECTION direction)
{
wxASSERT(handler != NULL);
if (m_linkState != DPLUS_LINKED)
return;
if (direction != m_direction)
return;
// Already is use?
if (m_dPlusId != 0x00U)
return;
switch (m_direction) {
case DIR_OUTGOING:
if (m_destination == handler) {
header.setRepeaters(m_callsign, m_reflector);
header.setDestination(m_yourAddress, m_yourPort);
m_handler->writeHeader(header);
m_rptrId = header.getId();
}
break;
case DIR_INCOMING:
header.setDestination(m_yourAddress, m_yourPort);
m_handler->writeHeader(header);
break;
}
}
示例2: sendToRepeaters
void CStarNetHandler::sendToRepeaters(CHeaderData& header) const
{
for (CStarNetRepeatersHashMap::const_iterator it = m_repeaters.begin(); it != m_repeaters.end(); ++it) {
CStarNetRepeater* repeater = it->second;
if (repeater != NULL) {
header.setYourCall(repeater->m_destination);
header.setDestination(repeater->m_address, G2_DV_PORT);
header.setRepeaters(repeater->m_gateway, repeater->m_repeater);
if (repeater->m_local != NULL)
repeater->m_local->process(header, AS_G2);
else
m_g2Handler->writeHeader(header);
}
}
}
示例3: writeHeaderInt
void CXReflectorDPlusHandler::writeHeaderInt(CHeaderData& header)
{
if (!m_linked)
return;
// If there's an incoming data stream, don't send
if (m_dPlusId != 0x00U)
return;
wxString rpt2 = m_dplusCallsign;
wxChar band = header.getRptCall1().GetChar(LONG_CALLSIGN_LENGTH - 1U);
rpt2.SetChar(LONG_CALLSIGN_LENGTH - 1U, band);
wxString rpt1 = m_dplusCallsign;
band = header.getRptCall2().GetChar(LONG_CALLSIGN_LENGTH - 1U);
rpt1.SetChar(LONG_CALLSIGN_LENGTH - 1U, band);
header.setRepeaters(rpt1, rpt2);
header.setDestination(m_address, m_port);
m_handler->writeHeader(header);
}
示例4: process
//.........这里部分代码省略.........
tm->tm_year + 1900, tm->tm_mon + 1, tm->tm_mday, tm->tm_hour, tm->tm_min, tm->tm_sec,
user->getCallsign().c_str(), m_groupCallsign.c_str());
m_logFile->Write(text);
m_logFile->Flush();
}
// Remove the user from the user list
m_users.erase(my);
CStarNetId* tx = new CStarNetId(id, MESSAGE_DELAY, user);
tx->setLogoff();
m_ids[id] = tx;
return;
}
m_groupTimer.reset();
if (m_id != 0x00U) {
delete userData;
return;
}
m_id = id;
// Change the Your callsign to CQCQCQ
header.setCQCQCQ();
header.setFlag1(0x00);
header.setFlag2(0x00);
header.setFlag3(0x00);
#if defined(DEXTRA_LINK)
header.setRepeaters(m_linkGateway, m_linkReflector);
CDExtraHandler::writeHeader(this, header, DIR_OUTGOING);
#endif
#if defined(DCS_LINK)
header.setRepeaters(m_linkGateway, m_linkReflector);
CDCSHandler::writeHeader(this, header, DIR_OUTGOING);
#endif
// Get the home repeater of the user
wxString exclude;
if (userData != NULL) {
exclude = userData->getRepeater();
delete userData;
userData = NULL;
}
// Build new repeater list
for (CStarNetUsersHashMap::const_iterator it = m_users.begin(); it != m_users.end(); ++it) {
CStarNetUser* user = it->second;
if (user != NULL) {
// Find the user in the cache
CUserData* userData = m_cache->findUser(user->getCallsign());
if (userData != NULL) {
// Check for the excluded repeater
if (!userData->getRepeater().IsSameAs(exclude)) {
// Find the users repeater in the repeater list, add it otherwise
CStarNetRepeater* repeater = m_repeaters[userData->getRepeater()];
if (repeater == NULL) {
// Add a new repeater entry
repeater = new CStarNetRepeater;
repeater->m_destination = wxT("/") + userData->getRepeater().Left(6U) + userData->getRepeater().Right(1U);
repeater->m_repeater = userData->getRepeater();
repeater->m_gateway = userData->getGateway();
repeater->m_address = userData->getAddress();
repeater->m_local = CRepeaterHandler::findDVRepeater(userData->getRepeater());
m_repeaters[userData->getRepeater()] = repeater;
}
}
delete userData;
userData = NULL;
}
}
}
switch (m_callsignSwitch) {
case SCS_GROUP_CALLSIGN:
// Change the My Callsign 1 to be that of the StarNet group
header.setMyCall1(m_groupCallsign);
header.setMyCall2(wxT("SNET"));
break;
case SCS_USER_CALLSIGN:
// Change the My Callsign 2 to be that of the StarNet group
header.setMyCall1(my);
header.setMyCall2(m_shortCallsign);
break;
default:
break;
}
sendToRepeaters(header);
if (m_txMsgSwitch)
sendFromText(my);
}