int main (int argc, char **argv) { GetNameList (argc, argv); PrintNameList (stdout); SetParams (); SetupJob (); moreCycles = 1; while (moreCycles) { SingleStep (); if (stepCount >= stepLimit) moreCycles = 0; } }
// gFamilyHeadAndNameListMutex must already be acquired static SkTypeface* find_typeface(const char name[], SkTypeface::Style style) { NameFamilyPairList& namelist = GetNameList(); NameFamilyPair* list = namelist.begin(); int count = namelist.count(); int index = SkStrLCSearch(&list[0].fName, count, name, sizeof(list[0])); if (index >= 0) { return find_best_face(list[index].fFamily, style); } return NULL; }
//加载IO参数 void implementsetting::LoadActionList(const string§ion,actionCellc&ac) { ac.namelist = GetNameList( GetRowFromIMFile(section,"namelist","")); for(int i=0; i<(int)ac.namelist.size(); i++) { //mingw编译不通过,改为拷贝赋值 string funcStr = GetRowFromIMFile(section,ac.namelist[i],""); rowRun rr; GetRowRunFunc(funcStr,rr); ac.actionMap[ac.namelist[i]] = rr; } }
int main (int argc, char **argv) { GetNameList (argc, argv); //PrintNameList (stdout); SetParams (); SetupJob (); moreCycles = 1; eventCount = 0; while (moreCycles) { SingleEvent (); ++ eventCount; if (eventCount >= limitEventCount) moreCycles = 0; } }
// gFamilyHeadAndNameListMutex must already be acquired static void add_name(const char name[], FamilyRec* family) { SkAutoAsciiToLC tolc(name); name = tolc.lc(); NameFamilyPairList& namelist = GetNameList(); NameFamilyPair* list = namelist.begin(); int count = namelist.count(); int index = SkStrLCSearch(&list[0].fName, count, name, sizeof(list[0])); if (index < 0) { list = namelist.insert(~index); list->construct(name, family); } }
// gFamilyHeadAndNameListMutex must already be acquired static void remove_from_names(FamilyRec* emptyFamily) { #ifdef SK_DEBUG for (int i = 0; i < 4; i++) { SkASSERT(emptyFamily->fFaces[i] == NULL); } #endif SkTDArray<NameFamilyPair>& list = GetNameList(); // must go backwards when removing for (int i = list.count() - 1; i >= 0; --i) { NameFamilyPair* pair = &list[i]; if (pair->fFamily == emptyFamily) { pair->destruct(); list.remove(i); } } }
// gFamilyHeadAndNameListMutex must already be acquired static const char* find_family_name(const SkTypeface* member) { FamilyRec* family = find_family(member); if (NULL == family) { return NULL; } NameFamilyPairList& namelist = GetNameList(); NameFamilyPair* list = namelist.begin(); int count = namelist.count(); for (int i = 0; i < count; i++) { NameFamilyPair* pair = &list[i]; if (pair->fFamily == family) { return pair->fName; } } return NULL; }
//加载IM参数 bool implementsetting::LoadParaIM(void) { string strValue; //ip __ipNameList = GetNameList( GetRowFromIMFile("ip","namelist","")); for(int i=0; i<(int)__ipNameList.size(); i++) { __ipmap[__ipNameList[i]] = GetRowFromIMFile("ip",__ipNameList[i],""); strValue = GetRowFromCfgFile("ip", __ipNameList[i], ""); if (strValue != "") { __ipmap[__ipNameList[i]] = strValue; } else { return false; } __ipGpioBak[ __ipmap[__ipNameList[i]]] = __ipGpioBakArray[i]; } //switch __switchNameList = GetNameList( GetRowFromIMFile("switch","namelist","")); for(int i=0; i<(int)__switchNameList.size(); i++) { iniSwitch is; is.name = __switchNameList[i]; vector<string>&temp = GetNameList( GetRowFromIMFile("switch",__switchNameList[i],"")); for(int j=0; j<(int)temp.size(); j++) { //mingw编译不通过,改为拷贝赋值 string index = GetRowFromIMFile("switch",temp[j],"0"); is.io[temp[j]] = atol(index.c_str()); } __switchMap[__switchNameList[i]] = is; } //ACTION LoadActionList("actiontx1",*__ac_tx1); LoadActionList("actiontx2",*__ac_tx2); LoadActionList("actionpim",*__ac_pim); LoadActionList("actiondet",*__ac_det); const regex pattern("\\d{1,4}"); smatch mat; stHostControl stHC; for(map<string,string>::iterator itr = __ipmap.begin(); itr != __ipmap.end(); itr++) { stHC.state = true; stHC.enable = true; stHC.name = itr->first; stHC.ip = itr->second; regex_search(itr->first, mat, pattern); //__hostCtrl.push_back(stHC); if (mat[0].str() != "") __hostCtrl[mat[0].str()] = stHC; else __hostCtrl[stHC.name] = stHC; } for( map<string,unsigned short*> ::iterator it = __ipGpioBak.begin(); it != __ipGpioBak.end(); it++ ) { memset((void*)it->second,0,10); } return true; }