亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ecostestplatform.cpp

?? ecos實時嵌入式操作系統
?? CPP
字號:
//####COPYRIGHTBEGIN####//                                                                          // ----------------------------------------------------------------------------// Copyright (C) 1998, 1999, 2000 Red Hat, Inc.// Copyright (C) 2003 John Dallaway//// This program is part of the eCos host tools.//// This program is free software; you can redistribute it and/or modify it // under the terms of the GNU General Public License as published by the Free // Software Foundation; either version 2 of the License, or (at your option) // any later version.// // This program is distributed in the hope that it will be useful, but WITHOUT // ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or // FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for // more details.// // You should have received a copy of the GNU General Public License along with// this program; if not, write to the Free Software Foundation, Inc., // 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.//// ----------------------------------------------------------------------------//                                                                          //####COPYRIGHTEND####//=================================================================////        eCosTestPlatform.cpp////        platform information implementation////=================================================================#include "eCosTestPlatform.h"#include "eCosTestUtils.h"#include "eCosTrace.h"std::vector<CeCosTestPlatform> CeCosTestPlatform::arPlatforms;const CeCosTestPlatform *CeCosTestPlatform::Get(LPCTSTR psz) {   for(int i=0;i<(signed)arPlatforms.size();i++){    const CeCosTestPlatform &t=arPlatforms[i];    if(0==_tcsicmp(t.Name(),psz)){      return &t;    }  }  return NULL;}CeCosTestPlatform::CeCosTestPlatformProperties::CeCosTestPlatformProperties(CeCosTestPlatform *pti){  Add(_T("platform"),pti->m_strName);  Add(_T("prefix"),  pti->m_strPrefix);  Add(_T("commands"),pti->m_strCommands);  Add(_T("inferior"),pti->m_strInferior);  Add(_T("prompt"),  pti->m_strPrompt);  Add(_T("ServerSideGdb"),pti->m_nServerSideGdb);}bool CeCosTestPlatform::LoadFromDir(LPCTSTR pszDir){  bool rc=true;  TRACE(_T("CeCosTestPlatform::LoadFromDir %s\n"),pszDir);  // Find all the files in directory pszDir and load from each of them  TCHAR szOrigDir[256];  _tgetcwd(szOrigDir,sizeof szOrigDir-1);  if(0==_tchdir(pszDir)){    String strFile;    void *pHandle;    for(bool b=CeCosTestUtils::StartSearch(pHandle,strFile);b;b=CeCosTestUtils::NextFile(pHandle,strFile)){      if(CeCosTestUtils::IsFile(strFile)){        CeCosTestPlatform t;        t.m_strName=strFile;        CeCosTestPlatformProperties prop(&t);        if(prop.LoadFromFile(strFile)){          Add(t);        } else {          ERROR(_T("Illegal platform specification in %s%c%s\n"),pszDir,cPathsep,(LPCTSTR)strFile);          rc=false;        }      }    }    CeCosTestUtils::EndSearch(pHandle);  } else {    ERROR(_T("Failed to change to %s from %s\n"),pszDir,szOrigDir);  }  _tchdir(szOrigDir);  return rc;}#ifdef _WIN32bool CeCosTestPlatform::SaveToRegistry(HKEY hTopKey,LPCTSTR pszKey){  // save target info to the registry  CProperties::CreateKey(pszKey,hTopKey);  HKEY hKey;  bool rc=ERROR_SUCCESS==RegOpenKeyEx (hTopKey, pszKey, 0L, KEY_ALL_ACCESS, &hKey);  if(rc){    for(int i=0;i<(signed)arPlatforms.size();i++){      HKEY hKey2;      DWORD dwDisp;      const CeCosTestPlatform &ti=arPlatforms[i];      rc&=(ERROR_SUCCESS==RegCreateKeyEx(hKey,ti.Name(), 0, NULL, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &hKey2, &dwDisp));      if(rc){        LPCTSTR pszPrefix=ti.Prefix();        LPCTSTR pszGdb   =ti.GdbCmds();        LPCTSTR pszInferior=ti.Inferior();        LPCTSTR pszPrompt=ti.Prompt();        DWORD dwServerSideGdb=ti.ServerSideGdb()?1l:0l;        rc&=(ERROR_SUCCESS==RegSetValueEx(hKey2,_T("Prefix"),0,REG_SZ,   (CONST BYTE *)pszPrefix,(1+_tcslen(pszPrefix))*sizeof (TCHAR))) &&            (ERROR_SUCCESS==RegSetValueEx(hKey2,_T("Commands"),0,REG_SZ,   (CONST BYTE *)pszGdb,(1+_tcslen(pszGdb))*sizeof (TCHAR))) &&            (ERROR_SUCCESS==RegSetValueEx(hKey2,_T("Inferior"),0,REG_SZ,   (CONST BYTE *)pszInferior,(1+_tcslen(pszInferior))*sizeof (TCHAR))) &&            (ERROR_SUCCESS==RegSetValueEx(hKey2,_T("Prompt"),0,REG_SZ,   (CONST BYTE *)pszPrompt,(1+_tcslen(pszPrompt))*sizeof (TCHAR))) &&            (ERROR_SUCCESS==RegSetValueEx(hKey2,_T("ServerSideGdb"),0,REG_DWORD,   (CONST BYTE *)&dwServerSideGdb,sizeof (DWORD)));      }      RegCloseKey(hKey2);    }    RegCloseKey(hKey);  }  return rc;}const String CeCosTestPlatform::GetGreatestSubkey (LPCTSTR pszKey){  String strSubkey;  HKEY hKey;    if (ERROR_SUCCESS == RegOpenKeyEx (HKEY_LOCAL_MACHINE, pszKey, 0L, KEY_READ, &hKey)) {    DWORD dwIndex = 0;    TCHAR pszBuffer [MAX_PATH + 1];        while (ERROR_SUCCESS == RegEnumKey (hKey, dwIndex++, (LPTSTR) pszBuffer, sizeof (pszBuffer))) {      if (strSubkey.compare (pszBuffer) < 0) {        strSubkey = pszBuffer;      }    }        RegCloseKey (hKey);  }    TRACE (_T("CeCosTestPlatform::GetGreatestSubkey(\"%s\"): %s\n"), pszKey, (LPCTSTR)strSubkey);  return strSubkey;}#endifbool CeCosTestPlatform::Load(){  TRACE(_T("CeCosTestPlatform::Load\n"));  srand( (unsigned)time( NULL ) );  #ifdef _WIN32  // get target info from the registry  String strPlatformsKey = _T("Software\\eCos Configuration Tool\\Platforms");//  strPlatformsKey += GetGreatestSubkey (_T("Software\\eCos"));//  strPlatformsKey += _T("\\Platforms");  HKEY hKey;  bool rc=ERROR_SUCCESS==RegOpenKeyEx (HKEY_CURRENT_USER, strPlatformsKey, 0L, KEY_READ, &hKey);  DWORD dwSubKeys=0;  if(rc){    // Found the given key.    // Subkeys' names are the target image names:    // Subkeys's values are:    //      Prefix  String    //      Type    String     //      GdbCmd  String [optional]    FILETIME ftLastWriteTime;    DWORD dwMaxSubKeyLen;    if(ERROR_SUCCESS==RegQueryInfoKey(hKey,NULL,NULL,NULL,&dwSubKeys,&dwMaxSubKeyLen,NULL,NULL,NULL,NULL,NULL,NULL)){      TCHAR *szName=new TCHAR[1+dwMaxSubKeyLen];      DWORD dwSizeName=sizeof(TCHAR)*(1+dwMaxSubKeyLen);      for(DWORD dwIndex=0;ERROR_SUCCESS==RegEnumKeyEx(hKey, dwIndex, szName, &dwSizeName, NULL, NULL, NULL, &ftLastWriteTime); dwIndex++){        CeCosTestPlatform t;        if(t.LoadFromRegistry(hKey,szName)){          t.m_strName=szName;          CeCosTestPlatform::Add(t);        }        dwSizeName=sizeof(TCHAR)*(1+dwMaxSubKeyLen);      }      delete [] szName;    }    RegCloseKey(hKey);  }#endif  const String strDir(CeCosTestUtils::HomeFile(_T(".eCosPlatforms")));#ifdef _WIN32  if(!CeCosTestUtils::Exists(strDir)){    return true;  }#endif  LoadFromDir(strDir);  if(0==Count()){    ERROR(_T("Failed to initialize any targets\n"));  }  return true;}int CeCosTestPlatform::Add(const CeCosTestPlatform &t){  for(std::vector<CeCosTestPlatform>::iterator it=arPlatforms.begin();it!=arPlatforms.end();){    if(0==_tcsicmp(it->Name(),t.Name())){      // Careful - there's already something here with this name:      ERROR(_T("Warning: duplicate target info %s\n"),it->Name());      it=arPlatforms.erase(it);    } else {      it++;    }  }  arPlatforms.push_back(t);  return arPlatforms.size()-1;}void CeCosTestPlatform::RemoveAllPlatforms(){  arPlatforms.clear();}bool CeCosTestPlatform::LoadFromCommandString(LPCTSTR psz){  CeCosTestPlatformProperties prop(this);  return prop.LoadFromCommandString(psz);}#ifdef _WIN32bool CeCosTestPlatform::LoadFromRegistry(HKEY hKey,LPCTSTR pszKey){  CeCosTestPlatformProperties prop(this);  return prop.LoadFromRegistry(hKey,pszKey);}#endifbool CeCosTestPlatform::Save(){  const String strDir(CeCosTestUtils::HomeFile(_T(".eCosPlatforms")));#ifdef _WIN32  if(!CeCosTestUtils::Exists(strDir)){    String strPlatformsKey = _T("Software\\eCos Configuration Tool\\Platforms");//    strPlatformsKey += GetGreatestSubkey (_T("Software\\eCos"));//    strPlatformsKey += _T("\\Platforms");    return SaveToRegistry(HKEY_CURRENT_USER,strPlatformsKey);  }#endif  return SaveToDir(strDir);}bool CeCosTestPlatform::SaveToDir (LPCTSTR pszDir){  bool rc=false;  void *pHandle;  TCHAR szOrigDir[256];  _tgetcwd(szOrigDir,sizeof szOrigDir-1);  if(0==_tchdir(pszDir)){    // Delete all the files under directory "pszDir"    String strFile;    for(bool b=CeCosTestUtils::StartSearch(pHandle,strFile);b;b=CeCosTestUtils::NextFile(pHandle,strFile)){      if(CeCosTestUtils::IsFile(strFile)){        _tunlink(strFile);      }    }    CeCosTestUtils::EndSearch(pHandle);    rc=true;    // Rewrite the files    for(int i=0;i<(signed)arPlatforms.size();i++){      CeCosTestPlatform &t=arPlatforms[i];      CeCosTestPlatformProperties prop(&t);      rc&=prop.SaveToFile(t.Name());    }  } else {    ERROR(_T("Failed to change to %s from %s\n"),pszDir,szOrigDir);  }    return rc;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区二区三区四区五区美女 | 国产午夜精品一区二区三区四区| 中文幕一区二区三区久久蜜桃| 一区二区三区高清不卡| 狠狠色丁香婷婷综合久久片| 在线免费观看视频一区| 国产日韩精品一区二区三区在线| 亚洲gay无套男同| 91在线免费看| 久久久亚洲精品石原莉奈| 性做久久久久久免费观看欧美| 国产成人午夜99999| 日韩免费福利电影在线观看| 亚洲国产裸拍裸体视频在线观看乱了| 粉嫩蜜臀av国产精品网站| 精品久久人人做人人爽| 性久久久久久久久久久久| 99re热这里只有精品视频| 国产三级欧美三级日产三级99| 日精品一区二区三区| 欧美午夜在线一二页| 最新高清无码专区| 成人国产精品免费网站| 国产亚洲一区二区三区四区| 激情综合色播激情啊| 欧美成人精精品一区二区频| 日韩国产欧美在线播放| 欧美精品久久久久久久久老牛影院| 亚洲另类一区二区| 色拍拍在线精品视频8848| 国产精品久久久久久久久搜平片 | 欧美精品一区二区三| 日本不卡一区二区| 日韩一区二区在线观看视频| 日韩av电影一区| 欧美一区二区三区性视频| 日韩电影免费一区| 欧美岛国在线观看| 激情综合五月婷婷| 国产日韩欧美精品电影三级在线| 国产精品一区二区免费不卡| 国产欧美日韩视频在线观看| 成人h精品动漫一区二区三区| 国产精品麻豆久久久| 一本一道久久a久久精品| 亚洲一区二区三区不卡国产欧美| 欧美影片第一页| 日韩中文字幕区一区有砖一区| 7777精品伊人久久久大香线蕉的| 麻豆精品在线播放| 久久久国产精品不卡| zzijzzij亚洲日本少妇熟睡| 亚洲一区二区视频在线观看| 宅男噜噜噜66一区二区66| 精品亚洲国内自在自线福利| 欧美激情在线观看视频免费| 日本韩国一区二区三区视频| 天天做天天摸天天爽国产一区| 欧美tk—视频vk| eeuss鲁片一区二区三区| 午夜久久久久久久久| 精品成人私密视频| 色悠悠久久综合| 蜜桃视频免费观看一区| 中文字幕国产一区二区| 欧美在线不卡视频| 国产一区二区三区在线观看免费视频| 国产精品麻豆欧美日韩ww| 欧美久久久久久蜜桃| 国产福利一区在线| 亚洲一区二区三区免费视频| 日韩免费视频一区二区| 色婷婷综合久久久久中文| 日韩av一区二区三区| 亚洲天堂免费看| 精品sm捆绑视频| 欧洲生活片亚洲生活在线观看| 精品一区二区久久| 亚洲一区在线观看视频| 久久精品人人做人人爽人人| 欧美日韩国产一二三| 成人免费视频播放| 免费一级欧美片在线观看| 成人欧美一区二区三区视频网页| 日韩一区二区三区免费看| 91在线一区二区| 国产成人鲁色资源国产91色综| 亚洲h精品动漫在线观看| 亚洲欧美一区二区在线观看| 亚洲精品一区二区三区蜜桃下载 | 日韩国产在线一| 亚洲区小说区图片区qvod| 久久久综合网站| 91麻豆精品国产| 欧美亚洲动漫另类| 99国内精品久久| 国产91精品一区二区麻豆网站| 日韩av成人高清| 日韩成人av影视| 五月天丁香久久| 亚洲一二三四区| 亚洲美女视频在线| 最新国产成人在线观看| 国产视频一区二区三区在线观看| 日韩欧美不卡在线观看视频| 欧美撒尿777hd撒尿| 91日韩在线专区| 91视频在线看| 91亚洲精品久久久蜜桃| 成人高清av在线| a级精品国产片在线观看| voyeur盗摄精品| 不卡免费追剧大全电视剧网站| 国产91精品免费| 国产99久久久国产精品潘金网站| 精久久久久久久久久久| 久久99精品一区二区三区| 久久成人羞羞网站| 久久99精品国产麻豆婷婷洗澡| 久久草av在线| 国产河南妇女毛片精品久久久| 国产乱码精品一品二品| 风间由美一区二区av101| 国产91在线观看| 色综合网色综合| 欧美午夜精品久久久久久超碰 | 粉嫩aⅴ一区二区三区四区| 国产福利精品一区二区| 成人丝袜视频网| 色欧美片视频在线观看在线视频| 色综合色综合色综合| 欧美亚洲国产一区二区三区va| 欧美图片一区二区三区| www.欧美亚洲| 欧美日韩亚州综合| 精品久久99ma| 国产精品免费视频一区| 一区二区三区在线视频免费| 亚洲风情在线资源站| 另类综合日韩欧美亚洲| 成人听书哪个软件好| 欧美在线影院一区二区| 日韩午夜在线观看| 欧美激情中文不卡| 亚洲电影视频在线| 国内精品久久久久影院薰衣草| 狠狠色综合色综合网络| 白白色亚洲国产精品| 欧美剧情片在线观看| 久久久精品日韩欧美| 一区二区三区四区乱视频| 日韩不卡一区二区| 不卡av电影在线播放| 欧美日韩精品一区视频| 久久久久久久性| 一区二区三区久久| 国产精品18久久久久久久久久久久| 91蝌蚪porny| 亚洲精品一区二区三区在线观看 | 中文字幕一区二区三区四区不卡| 亚洲国产裸拍裸体视频在线观看乱了| 美女视频第一区二区三区免费观看网站 | 久久蜜桃一区二区| 亚洲一区二区在线播放相泽| 国产馆精品极品| 日韩片之四级片| 樱花影视一区二区| 国产精品18久久久久| 91精品国产欧美一区二区成人| 国产精品三级电影| 美日韩一区二区三区| 在线观看国产日韩| 中文字幕va一区二区三区| 日韩精品每日更新| 91视频.com| 国产精品美日韩| 国产精品影音先锋| 日韩欧美一二三四区| 亚洲成人av资源| 色综合久久久久网| 日韩美女久久久| 成人v精品蜜桃久久一区| 久久亚洲综合色一区二区三区| 亚洲高清视频中文字幕| 97精品久久久久中文字幕| 国产午夜精品一区二区三区嫩草| 美国毛片一区二区三区| 欧美日韩精品福利| 一区二区三区在线观看欧美| av成人动漫在线观看| 国产精品久久久久婷婷二区次| 国产一区二区三区香蕉| 精品国产1区二区| 韩国av一区二区| 欧美精品一区二区三区在线| 激情综合色丁香一区二区| 精品国产露脸精彩对白| 精品午夜久久福利影院 | 国产欧美日韩精品在线| 极品少妇xxxx精品少妇|