void marshalSectionDict(StorageIntf *s,SectionDict *sections) { if (sections==0) { marshalUInt(s,NULL_LIST); // null pointer representation } else { marshalUInt(s,sections->count()); SDict<SectionInfo>::IteratorDict sli(*sections); SectionInfo *si; for (sli.toFirst();(si=sli.current());++sli) { marshalQCString(s,sli.currentKey()); marshalObjPointer(s,si); } } }
void LoadMonitor::addLoadReading() { /* FIXME load reading of server message queue is now gone, not sure what we * want to measure instead, or maybe augment server message queue to provide * different statistics. std::vector<QueueInfo> qInfo; mServerMsgQueue->getQueueInfo(qInfo); float currentLoad = 0; mCurrentLoadReading = 0; for (std::vector<QueueInfo>::iterator it = qInfo.begin(); it != qInfo.end(); it++) { QueueInfo q = *it; currentLoad += q.mTXUsed * q.mTXWeight; } mCurrentLoadReading = currentLoad; */ mAveragedLoadReading = ALPHA * mAveragedLoadReading + (1.0-ALPHA) * mCurrentLoadReading; printf("mAveragedLoadReading at %d=%f\n", mContext->id(), mAveragedLoadReading); if (mAveragedLoadReading > THRESHOLD) { std::vector<ServerLoadInfo> migrationHints; std::map<ServerID, float>::const_iterator map_iter; for (map_iter = mRemoteLoadReadings.begin(); map_iter != mRemoteLoadReadings.end(); map_iter++) { ServerLoadInfo sli(map_iter->first, map_iter->second, 0); migrationHints.push_back(sli); } sort(migrationHints.begin(), migrationHints.end(), loadInfoComparator); mCoordinateSegmentation->migrationHint(migrationHints); } sendLoadReadings(); }
void marshalSectionInfoList(StorageIntf *s, QList<SectionInfo> *anchors) { if (anchors==0) { marshalUInt(s,NULL_LIST); // null pointer representation } else { marshalUInt(s,anchors->count()); QListIterator<SectionInfo> sli(*anchors); SectionInfo *si; for (sli.toFirst(); (si=sli.current()); ++sli) { marshalQCString(s,si->label); marshalQCString(s,si->title); marshalQCString(s,si->ref); marshalInt(s,(int)si->type); marshalQCString(s,si->fileName); } } }
static void listSymbols() { QDictIterator<DefinitionIntf> sli(*Doxygen::symbolMap); DefinitionIntf *di; for (sli.toFirst();(di=sli.current());++sli) { if (di->definitionType()==DefinitionIntf::TypeSymbolList) // list of symbols // with same name { DefinitionListIterator dli(*(DefinitionList*)di); Definition *d; // for each symbol for (dli.toFirst();(d=dli.current());++dli) { listSymbol(d); } } else // single symbol { listSymbol((Definition*)di); } } }
ReturnCode AEA::decode(NetworkBuffer& tsdu) { ReturnCode rc = OK; rc = SPDU::control(tsdu); if (sli() == 0) return OK; while (tsdu.hasRemaining()) { tsdu.markit(); byte code = tsdu.get(); switch (code) { case PI::PI_SERIAL: { SERIAL pi(tsdu); aea_serial = pi.getValue(); addMask(SMASK_AEA_SERIAL); } break; case PI::PI_ENCLOSE: { ENCLOSE pi(tsdu); setEnclose(pi.getValue()); addMask(SMASK_ENCLOSE); } break; case PI::PI_UDATA: { UDATA pi(tsdu); int cc = 0; const byte* data = pi.getValue(cc); setData(cc, data); } break; default: tsdu.reset(); goto EXIT; } } EXIT: return rc; }
/*! Injects the info gathered by the XML parser into the Entry tree. * This tree contains the information extracted from the input in a * "unrelated" form. */ void TagFileParser::buildLists(Entry *root) { // build class list TagClassInfo *tci = m_tagFileClasses.first(); while (tci) { Entry *ce = new Entry; ce->section = Entry::CLASS_SEC; switch (tci->kind) { case TagClassInfo::Class: break; case TagClassInfo::Struct: ce->spec = Entry::Struct; break; case TagClassInfo::Union: ce->spec = Entry::Union; break; case TagClassInfo::Interface: ce->spec = Entry::Interface; break; case TagClassInfo::Exception: ce->spec = Entry::Exception; break; case TagClassInfo::Protocol: ce->spec = Entry::Protocol; break; case TagClassInfo::Category: ce->spec = Entry::Category; break; } ce->name = tci->name; if (tci->kind==TagClassInfo::Protocol) { ce->name+="-p"; } addDocAnchors(ce,tci->docAnchors); TagInfo *ti = new TagInfo; ti->tagName = m_tagName; ti->fileName = tci->filename; ce->tagInfo = ti; ce->lang = tci->isObjC ? SrcLangExt_ObjC : SrcLangExt_Unknown; // transfer base class list if (tci->bases) { delete ce->extends; ce->extends = tci->bases; tci->bases = 0; } if (tci->templateArguments) { if (ce->tArgLists==0) { ce->tArgLists = new QList<ArgumentList>; ce->tArgLists->setAutoDelete(TRUE); } ArgumentList *al = new ArgumentList; ce->tArgLists->append(al); QListIterator<QCString> sli(*tci->templateArguments); QCString *argName; for (;(argName=sli.current());++sli) { Argument *a = new Argument; a->type = "class"; a->name = *argName; al->append(a); } } buildMemberList(ce,tci->members); root->addSubEntry(ce); tci = m_tagFileClasses.next(); } // build file list TagFileInfo *tfi = m_tagFileFiles.first(); while (tfi) { Entry *fe = new Entry; fe->section = guessSection(tfi->name); fe->name = tfi->name; addDocAnchors(fe,tfi->docAnchors); TagInfo *ti = new TagInfo; ti->tagName = m_tagName; ti->fileName = tfi->filename; fe->tagInfo = ti; QCString fullName = m_tagName+":"+tfi->path+stripPath(tfi->name); fe->fileName = fullName; //printf("new FileDef() filename=%s\n",tfi->filename.data()); FileDef *fd = new FileDef(m_tagName+":"+tfi->path, tfi->name,m_tagName, tfi->filename ); FileName *mn; if ((mn=Doxygen::inputNameDict->find(tfi->name))) { mn->append(fd); } else { mn = new FileName(fullName,tfi->name); mn->append(fd); Doxygen::inputNameList->inSort(mn); Doxygen::inputNameDict->insert(tfi->name,mn); } buildMemberList(fe,tfi->members); root->addSubEntry(fe); tfi = m_tagFileFiles.next(); } // build namespace list TagNamespaceInfo *tni = m_tagFileNamespaces.first(); while (tni) { Entry *ne = new Entry; ne->section = Entry::NAMESPACE_SEC; ne->name = tni->name; addDocAnchors(ne,tni->docAnchors); TagInfo *ti = new TagInfo; ti->tagName = m_tagName; ti->fileName = tni->filename; ne->tagInfo = ti; buildMemberList(ne,tni->members); root->addSubEntry(ne); tni = m_tagFileNamespaces.next(); } // build package list TagPackageInfo *tpgi = m_tagFilePackages.first(); while (tpgi) { Entry *pe = new Entry; pe->section = Entry::PACKAGE_SEC; pe->name = tpgi->name; addDocAnchors(pe,tpgi->docAnchors); TagInfo *ti = new TagInfo; ti->tagName = m_tagName; ti->fileName = tpgi->filename; pe->tagInfo = ti; buildMemberList(pe,tpgi->members); root->addSubEntry(pe); tpgi = m_tagFilePackages.next(); } // build group list, but only if config file says to include it //if (Config_getBool("EXTERNAL_GROUPS")) //{ TagGroupInfo *tgi = m_tagFileGroups.first(); while (tgi) { Entry *ge = new Entry; ge->section = Entry::GROUPDOC_SEC; ge->name = tgi->name; ge->type = tgi->title; addDocAnchors(ge,tgi->docAnchors); TagInfo *ti = new TagInfo; ti->tagName = m_tagName; ti->fileName = tgi->filename; ge->tagInfo = ti; buildMemberList(ge,tgi->members); root->addSubEntry(ge); tgi = m_tagFileGroups.next(); } //} // build page list TagPageInfo *tpi = m_tagFilePages.first(); while (tpi) { Entry *pe = new Entry; pe->section = Entry::PAGEDOC_SEC; pe->name = tpi->name; pe->args = tpi->title; addDocAnchors(pe,tpi->docAnchors); TagInfo *ti = new TagInfo; ti->tagName = m_tagName; ti->fileName = tpi->filename; pe->tagInfo = ti; root->addSubEntry(pe); tpi = m_tagFilePages.next(); } }
ReturnCode CN_AC::decode(NetworkBuffer& tsdu) { SPDU::control(tsdu); if (sli() == 0) return OK; ReturnCode rc = OK; while (tsdu.hasRemaining()) { /* switch (code) { case PI_UDATA: if (!bool(pmask & PMASK_UDATA) || li() > 512) spkt.spdu_errno = SC_PROTOCOL; break; case PI_XDATA: if (!bool(pmask & PMASK_XDATA) || li() <= 512) spkt.spdu_errno = SC_PROTOCOL; break; default: if (bool(code < pi_table.length) && bool(pi_table[code]) && !bool(pmask & pi_table[code])) spkt.spdu_errno = SC_PROTOCOL; break; } if (code < pi_table.length && bool(pi_table[code])&& !bool(pi_table[code] & PMASK_PGI)) { if (li() > 0) { if (bool(pi_table[code] & PMASK_VARLEN)) { if (li() > pi_length[code]) { spkt.spdu_errno = SC_PROTOCOL; // break; } } else if (li() != pi_length[code]) { spkt.spdu_errno = SC_PROTOCOL; // break; } } } */ tsdu.markit(); byte code = tsdu.get() & 0xFF; switch (code) { case PGI::PGI_CN_ID: { CN_ID pi(*this, tsdu); addMask(SMASK_CN_REF); } break; case PGI::PGI_CN_ITEMS: { CN_ITEMS pgi(*this, tsdu); addMask(SMASK_CN_REF); } break; case PI::PI_CALLED_SS: { CALLED_SS pi(tsdu); int length = 0; const byte* data = pi.getValue(length); cn_reference.udata(length, data); addMask(SMASK_CN_REF); } break; case PI::PI_CALLING_SS: { // case PI_AR_CALLED: // case PI_AR_CALLING: CALLING_SS pi(tsdu); int length = 0; const byte* data = pi.getValue(length); cn_reference.udata(length, data); addMask(SMASK_CN_REF); } break; case PI::PI_COMMON_REF: { // case PI_AR_COMMON: COMMON_REF pi(tsdu); int length = 0; const byte* data = pi.getValue(length); cn_reference.cdata(length, data); addMask(SMASK_CN_REF); } break; case PI::PI_ADD_INFO: { // case PI_AR_ADDT: ADD_INFO pi(tsdu); int length = 0; const byte* data = pi.getValue(length); cn_reference.adata(length, data); addMask(SMASK_CN_REF); } break; case PI::PI_VERSION: { VERSION pi(tsdu); cn_version = pi.getValue(); addMask(SMASK_CN_VRSN); } break; case PI::PI_USER_REQ: { USER_REQ pi(tsdu); cn_require = pi.getValue(); addMask(SMASK_CN_REQ); } break; case PI::PI_ISN: { ISN pi(tsdu); cn_isn = pi.getValue(); addMask(SMASK_CN_ISN); } break; case PI::PI_TOKEN: { if (si() != SPDU_AC) { //FIXME throw exception } TOKEN pi(tsdu); ac_token = pi.getValue(); addMask(SMASK_AC_TOKEN); } break; case PI::PI_TOISN: {/* not supported yet */ } break; case PI::PI_SSAP_CALLING: { SSAP_CALLING pi(tsdu); int length = 0; const byte* data = pi.getValue(length); cn_callinglen = pi.pli(); //FIXME check cn_callinglen == length memcpy(cn_calling, data, min(cn_callinglen, sizeof(cn_calling))); addMask(SMASK_CN_CALLING); } break; case PI::PI_SSAP_CALLED: { SSAP_CALLED pi(tsdu); int length = 0; const byte* data = pi.getValue(length); cn_calledlen = pi.pli(); //FIXME check cn_callinglen == length memcpy(cn_called, data, min(cn_calledlen, sizeof(cn_calling))); addMask(SMASK_CN_CALLED); } break; case PI::PI_UDATA: { UDATA pi(tsdu); addMask(SMASK_UDATA_PGI); if (pi.pli() > 0) { // if (si() == SPDU_AB && !spkt.hasMask(SMASK_SPDU_AB)) { // throw SSAPException(SC_PROTOCOL); // } else if (pi.pli() > MAX_CONNECT_DATA_SIZE) { throw Exception(AbortCode::SC_PROTOCOL); } int length = 0; const byte* data = pi.getValue(length); setData(length, data); } } break; case PI::PI_XDATA: { XDATA pi(tsdu); addMask(SMASK_UDATA_PGI); if (pi.pli() > 0) { // if (si() == SPDU_AB && !spkt.hasMask(SMASK_SPDU_AB)) { // throw SSAPException(SC_PROTOCOL); // } else if (pi.pli() > MAX_CONNECT_DATA_SIZE) { throw Exception(AbortCode::SC_PROTOCOL); } int length = 0; const byte* data = pi.getValue(length); setData(length, data); } } break; default: tsdu.reset(); goto EXIT; } } EXIT: return rc; }
bool TjSummaryReport::generateReport() { QString text; text = i18n("<p><h1>Summary for Project %1 (Version %2)</h1></p><hr/>") .arg(project->getName()) .arg(project->getVersion()); int disabledScenarios = 0; for (ScenarioListIterator sli(project->getScenarioIterator()); *sli; ++sli) if (!(*sli)->getEnabled()) disabledScenarios++; text += "<table>"; text += i18n("<tr><td><b>Scenarios:</b></td><td>%1 (%2 disabled)</td></tr>") .arg(project->getMaxScenarios()) .arg(disabledScenarios); int groups= 0; int workers = 0; int other = 0; for (ResourceListIterator rli(project->getResourceListIterator()); *rli; ++rli) if ((*rli)->hasSubs()) groups++; else if ((*rli)->getEfficiency() > 0.0) workers++; else other++; text += i18n("<tr><td><b>Resources:</b></td>" "<td>%1 (%2 Groups, %3 Workers, %4 Other)</td></tr>") .arg(project->resourceCount()) .arg(groups).arg(workers).arg(other); int summaryAccounts = 0; int cost = 0; int revenue = 0; for (AccountListIterator ali(project->getAccountListIterator()); *ali; ++ali) if ((*ali)->hasSubs()) summaryAccounts++; else if ((*ali)->getAcctType() == Cost) cost++; else revenue++; text += i18n("<tr><td><b>Accounts:</b></td>" "<td>%1 (%2 Summary Accounts, %3 Cost Accounts, " "%4 Revenue Accounts)</td></tr>") .arg(project->accountCount()) .arg(summaryAccounts).arg(cost).arg(revenue); int containers = 0; int leafs = 0; int milestones = 0; for (TaskListIterator tli(project->getTaskListIterator()); *tli; ++tli) if ((*tli)->hasSubs()) containers++; else if ((*tli)->isMilestone()) milestones++; else leafs++; text += i18n("<tr><td><b>Tasks:</b></td><td>%1 " "(%2 Containers, %3 Milestones, %4 Leaves)</td></tr>" "</table><hr/>") .arg(project->taskCount()) .arg(containers).arg(milestones).arg(leafs); textBrowser->setText(text); return true; }
/*! * Clears the model. */ void ServerModel::resetModel() { clear(); QStandardItem *root = invisibleRootItem(); QStandardItem *i = new QStandardItem(); QStringList l; l << tr("Name") << tr("Host"); setColumnCount(2); setHorizontalHeaderItem(0, i); setHorizontalHeaderLabels(l); QStringList netlist = smgr.networkList(); if (netlist.contains("NONE")) { // "None" network is a section with servers not assigned to a network. QHash<QString,QString> sl = smgr.serverList("NONE"); QHashIterator<QString,QString> i(sl); while (i.hasNext()) { i.next(); // Key: Server name // Value: host:port|pass QString name = i.key(); QString detail = i.value(); QString host; // hostname with port, e.g. irc.network.org:6667 host = detail.split('|')[0]; QStandardItem *itemname = new QStandardItem(QIcon(":/options/gfx/server.png"), name); QStandardItem *itemhost = new QStandardItem(host); QList<QStandardItem*> list; list << itemname << itemhost; root->appendRow(list); hostmap.insert(host, indexFromItem(itemname)); nonemap.insert(name, indexFromItem(itemname)); } } for (int i = 0; i <= netlist.count()-1; ++i) { if (netlist[i] == "NONE") continue; // The "None" network already taken care of - ignore. QString data = smgr.defaultServer(netlist[i]); QString host = data.split('|')[0]; QStandardItem *pname = new QStandardItem(QIcon(":/options/gfx/network.png"), netlist[i]); // parent name QStandardItem *phost = new QStandardItem(host); // parent host QList<QStandardItem*> list; list << pname << phost; root->appendRow(list); hostmap.insert(host, pname->index()); netmap.insert(netlist[i], pname->index()); QHash<QString,QString> sl = smgr.serverList(netlist[i]); QHashIterator<QString,QString> sli(sl); while (sli.hasNext()) { sli.next(); // Key: Server name // Value: host:port|pass QString name = sli.key(); if (name == "DEFAULT") continue; // The default value already taken care of, it's the address of parent item. QString detail = sli.value(); QString host; // hostname with port, e.g. irc.network.org:6667 host = detail.split('|')[0]; QStandardItem *itemname = new QStandardItem(QIcon(":/options/gfx/server.png"), name); // parent name QStandardItem *itemhost = new QStandardItem(host); // parent host QList<QStandardItem*> list; list << itemname << itemhost; pname->appendRow(list); hostmap.insert(host, indexFromItem(itemname)); } } }