Ejemplo n.º 1
0
Archivo: pr_08_1.c Proyecto: qnu/mdoch
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;
}
Ejemplo n.º 3
0
//加载IO参数
void implementsetting::LoadActionList(const string&section,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;
    }
}
Ejemplo n.º 4
0
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;
}
Ejemplo n.º 8
0
//加载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;
}