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

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

?? interface.cxx

?? ecos實時嵌入式操作系統
?? CXX
?? 第 1 頁 / 共 2 頁
字號:
        result = TCL_ERROR;    } catch(...) {        interp->set_result(CdlParse::construct_diagnostic(interp, "internal error", "", "Unexpected C++ exception"));        result = TCL_ERROR;    }    // Restore the interpreter to its prior state.    interp->pop_node(old_node);    if (0 != old_commands) {        interp->pop_commands(old_commands);    }        CYG_REPORT_RETVAL(result);    return result;}//}}}//{{{  Persistence support              // ----------------------------------------------------------------------------voidCdlInterfaceBody::initialize_savefile_support(CdlToplevel toplevel){    CYG_REPORT_FUNCNAME("CdlInterface::initialize_savefile_support");    toplevel->add_savefile_command("cdl_interface", 0, &savefile_interface_command);    CdlValuableBody::initialize_savefile_support(toplevel, "cdl_interface");    CYG_REPORT_RETURN();}voidCdlInterfaceBody::save(CdlInterpreter interp, Tcl_Channel chan, int indentation, bool minimal){    CYG_REPORT_FUNCNAME("CdlInterface::save");    CYG_REPORT_FUNCARG5XV(this, interp, chan, indentation, minimal);    CYG_PRECONDITION_THISC();    CYG_PRECONDITION_CLASSC(interp);    // Interfaces contain only calculated data, so for a minimal save    // there is no point in storing any of the data.    if (!minimal || this->has_additional_savefile_information()) {        // Start with the UserVisible data, which will result in a suitable set        // of comments before the package definition itself.        this->CdlUserVisibleBody::save(interp, chan, indentation, minimal);        // Now output the line "cdl_interface <name> {"        // The name is guaranteed to be a valid C preprocessor symbol, so it        // is not going to need any quoting.        std::string data = std::string(indentation, ' ') + "cdl_interface " + get_name() + " {\n";        // Start with details of everything that implements this interface.        if (!minimal) {            const std::vector<CdlReferrer>& referrers = this->get_referrers();            std::vector<CdlReferrer>::const_iterator ref_i;            int real_referrers = 0;            for (ref_i = referrers.begin(); ref_i != referrers.end(); ref_i++) {                CdlNode     node = ref_i->get_source();                CdlProperty prop = ref_i->get_source_property();                CdlValuable valuable = dynamic_cast<CdlValuable>(node);                if ((0 != valuable) && (CdlPropertyId_Implements == prop->get_property_name())) {                    real_referrers++;                    data += std::string(indentation, ' ') + "    # Implemented by " + valuable->get_name() + ", " +                        (valuable->is_active()  ? "active"  : "inactive") + ", " +                        (valuable->is_enabled() ? "enabled" : "disabled") + '\n';                }            }            if (0 == real_referrers) {                data += std::string(indentation, ' ') + "    # No options implement this inferface\n";            }        }        interp->write_data(chan, data);        // Deal with the value        this->CdlValuableBody::save(interp, chan, indentation + 4, false, minimal);        // Close the cdl_interface body. A blank line is added here.        data = "};\n\n";        interp->write_data(chan, data);    }        CYG_REPORT_RETURN();}intCdlInterfaceBody::savefile_interface_command(CdlInterpreter interp, int argc, const char* argv[]){    CYG_REPORT_FUNCNAMETYPE("CdlInterface::savefile_interface_command", "result %d");    CYG_PRECONDITION_CLASSC(interp);    int result = TCL_OK;    CdlToplevel toplevel = interp->get_toplevel();    CYG_ASSERT_CLASSC(toplevel);    std::vector<CdlInterpreterCommandEntry> subcommands;    std::vector<CdlInterpreterCommandEntry>* toplevel_commands = 0;    CdlNode old_node = 0;        try {                if (3 != argc) {            CdlParse::report_error(interp, "", "Invalid cdl_interface command in savefile, expecting two arguments.");        } else {            CdlNode current_node = toplevel->lookup(argv[1]);            if (0 == current_node) {                // FIXME: save value in limbo                CdlParse::report_error(interp, "",                                       std::string("The savefile contains a cdl_interface command for an unknown interface `")                                       + argv[1] + "'.");            } else {                toplevel->get_savefile_subcommands("cdl_interface", subcommands);                toplevel_commands = interp->push_commands(subcommands);                old_node = interp->push_node(current_node);                                std::string tcl_result;                result = interp->eval(argv[2], tcl_result);                            interp->pop_commands(toplevel_commands);                toplevel_commands = 0;                interp->pop_node(old_node);                old_node = 0;            }        }    } catch(...) {        if (0 != old_node) {            interp->pop_node(old_node);        }        if (0 != toplevel_commands) {            interp->pop_commands(toplevel_commands);        }        throw;    }    CYG_REPORT_RETVAL(result);    return result;}//}}}//{{{  check_this()                     // ----------------------------------------------------------------------------boolCdlInterfaceBody::check_this(cyg_assert_class_zeal zeal) const{    if (CdlInterfaceBody_Magic != cdlinterfacebody_cookie) {        return false;    }    CYGDBG_MEMLEAK_CHECKTHIS();    return CdlNodeBody::check_this(zeal)        &&           CdlUserVisibleBody::check_this(zeal) &&           CdlValuableBody::check_this(zeal)    &&           CdlParentableBody::check_this(zeal)  &&           CdlBuildableBody::check_this(zeal)   &&           CdlDefinableBody::check_this(zeal);}//}}}//{{{  recalculate()                    // ----------------------------------------------------------------------------// There has been a change in the configuration which may affect the value// of an interface. This can happen for a variety of reasons. For simplicity// the entire value is just recalculated, with no attempt at optimisation.// This may have to change in future.voidCdlInterfaceBody::recalculate(CdlTransaction transaction){    CYG_REPORT_FUNCNAME("CdlInterface::recalculate");    const CdlValue& old_value = transaction->get_whole_value(this);    cdl_int count = 0;    std::vector<CdlValuable> implementers;    std::vector<CdlValuable>::const_iterator valuable_i;    this->get_implementers(implementers);    for (valuable_i = implementers.begin(); valuable_i != implementers.end(); valuable_i++) {        if (transaction->is_active(*valuable_i)) {            const CdlValue& implementer_value = transaction->get_whole_value(*valuable_i);            if (implementer_value.is_enabled()) {                count++;            }        }    }    // What to do with the count depends on the flavor.    switch(this->get_flavor()) {      case CdlValueFlavor_Bool :        {            bool new_bool = (count > 0);            if (new_bool != old_value.is_enabled()) {                CdlValue new_value = old_value;                new_value.set_enabled(new_bool, CdlValueSource_Default);                transaction->set_whole_value(this, old_value, new_value);            }            break;        }      case CdlValueFlavor_BoolData:        {            // The only thing that actually needs checking is the count value.            // Iff that has changed then the boolean part may need changing as well.            if (count != old_value.get_integer_value()) {                CdlValue new_value = old_value;                new_value.set_enabled_and_value(count > 0, count, CdlValueSource_Default);                transaction->set_whole_value(this, old_value, new_value);            }            break;        }      case CdlValueFlavor_Data:        {            if (count != old_value.get_integer_value()) {                CdlValue new_value = old_value;                new_value.set_integer_value(count, CdlValueSource_Default);                transaction->set_whole_value(this, old_value, new_value);            }            break;        }                default:        break;    }        CYG_REPORT_RETURN();}//}}}//{{{  misc                             // ----------------------------------------------------------------------------boolCdlInterfaceBody::is_modifiable() const{    CYG_REPORT_FUNCNAME("CdlInterface::is_modifiable (false)");    CYG_PRECONDITION_THISC();    CYG_REPORT_RETURN();    return false;}std::stringCdlInterfaceBody::get_class_name() const{    CYG_REPORT_FUNCNAME("CdlInterface::get_class_name");    CYG_PRECONDITION_THISC();    CYG_REPORT_RETURN();    return "interface";}voidCdlInterfaceBody::get_implementers(std::vector<CdlValuable>& implementers) const{    CYG_REPORT_FUNCNAME("CdlInterface::get_implementers");    CYG_PRECONDITION_THISC();    const std::vector<CdlReferrer>& referrers = this->get_referrers();    std::vector<CdlReferrer>::const_iterator ref_i;    for (ref_i = referrers.begin(); ref_i != referrers.end(); ref_i++) {        CdlNode     node = ref_i->get_source();        CdlProperty prop = ref_i->get_source_property();        CdlValuable valuable = dynamic_cast<CdlValuable>(node);        if ((0 != valuable) && (CdlPropertyId_Implements == prop->get_property_name())) {            implementers.push_back(valuable);        }    }        CYG_REPORT_RETURN();}// Interfaces are somewhat peculiar, in that they can be defined implicitly// simply by occurring in an "implements" property, or explicitly inside// a CDL script. Worse, they can switch between these two states when// loadables are added or removed.boolCdlInterfaceBody::was_generated() const{    CYG_REPORT_FUNCNAMETYPE("CdlInterface::was_generated", "result %d");    CYG_REPORT_FUNCARG1XV(this);    CYG_PRECONDITION_THISC();    bool result = this->generated;    CYG_REPORT_RETVAL(result);    return result;}//}}}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲男人的天堂在线aⅴ视频| 尤物在线观看一区| 国产精品国产馆在线真实露脸| 亚洲精品成人天堂一二三| 美女在线一区二区| 色婷婷一区二区三区四区| 久久丝袜美腿综合| 日日嗨av一区二区三区四区| 97精品国产97久久久久久久久久久久| 91精品国产福利在线观看| 综合久久久久综合| 成人在线综合网| 精品卡一卡二卡三卡四在线| 亚洲www啪成人一区二区麻豆| av中文字幕在线不卡| 久久精品人人做人人爽97| 日本欧美久久久久免费播放网| 色综合久久综合网欧美综合网 | 激情综合亚洲精品| 91国偷自产一区二区开放时间 | 成人av资源网站| 精品国一区二区三区| 亚洲成国产人片在线观看| 暴力调教一区二区三区| 久久久久久久综合色一本| 日本不卡一区二区三区高清视频| 91久久精品国产91性色tv| 亚洲人成影院在线观看| www.在线欧美| 综合欧美一区二区三区| aaa亚洲精品| 国产精品毛片高清在线完整版| 激情欧美一区二区三区在线观看| 日韩午夜av一区| 日韩av中文在线观看| 欧美日韩二区三区| 天天综合网 天天综合色| 欧美精品一卡两卡| 日韩二区三区四区| 欧美xxx久久| 国产尤物一区二区在线| 久久亚洲综合色一区二区三区| 国产一区 二区| 欧美一卡二卡三卡四卡| 国产伦精品一区二区三区免费迷 | 在线观看视频一区二区| 亚洲免费av高清| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 日本亚洲欧美天堂免费| 欧美最猛性xxxxx直播| 亚洲国产视频一区二区| 欧美精选一区二区| 精品一区二区三区免费播放| 久久久国产精品不卡| av色综合久久天堂av综合| 亚洲一区二三区| 欧美一区二区三区成人| 国产麻豆午夜三级精品| 国产精品欧美一级免费| 91香蕉视频mp4| 午夜精品久久久久影视| 精品伦理精品一区| www.久久久久久久久| 丝袜亚洲另类欧美综合| 久久精品男人天堂av| 在线观看日韩电影| 精品一区二区免费视频| 亚洲四区在线观看| 91精品国产综合久久香蕉的特点| 国产乱人伦精品一区二区在线观看| 国产精品免费观看视频| 欧美日韩1234| 国产99久久精品| 国模一区二区三区白浆| 亚洲欧洲日产国产综合网| 欧美日韩激情在线| 岛国一区二区在线观看| 香港成人在线视频| 国产视频在线观看一区二区三区| 欧美午夜电影在线播放| 豆国产96在线|亚洲| 日韩av电影免费观看高清完整版| 国产精品水嫩水嫩| 91精品国产高清一区二区三区| av不卡免费在线观看| 极品销魂美女一区二区三区| 亚洲午夜日本在线观看| 国产精品午夜春色av| 欧美va亚洲va| 欧美日韩精品欧美日韩精品一| 成人免费高清视频| 韩国视频一区二区| 五月天欧美精品| 亚洲精品久久久蜜桃| 中文字幕免费观看一区| 欧美tickling网站挠脚心| 欧美亚洲国产一区二区三区va| 懂色av一区二区三区蜜臀| 九色综合狠狠综合久久| 视频一区视频二区中文| 亚洲精品视频一区二区| 中文乱码免费一区二区| 久久精品一区二区三区不卡| 日韩精品一区二| 欧美一区二区三区电影| 欧美一区二区三区啪啪| 欧美日韩一区二区三区四区| 在线亚洲人成电影网站色www| 成人av影院在线| 国产高清视频一区| 国产一区二区三区四| 久久成人羞羞网站| 日本午夜一区二区| 婷婷成人激情在线网| 婷婷中文字幕综合| 亚洲国产一二三| 调教+趴+乳夹+国产+精品| 丝袜亚洲精品中文字幕一区| 日韩精品亚洲专区| 亚洲国产日韩a在线播放| 亚洲午夜影视影院在线观看| 一区二区三区视频在线看| 夜夜操天天操亚洲| 亚洲成人777| 乱中年女人伦av一区二区| 激情六月婷婷综合| 成人永久看片免费视频天堂| 99久久夜色精品国产网站| av成人动漫在线观看| 亚洲精品一区二区在线观看| 欧美精品一区二区久久婷婷| 久久久久97国产精华液好用吗| 久久久久国产精品人| 国产精品美女一区二区| 亚洲欧洲www| 亚洲自拍偷拍欧美| 蜜桃传媒麻豆第一区在线观看| 久久99精品国产| 成人网男人的天堂| 在线观看91视频| 欧美一区二区三区免费观看视频| 精品av久久707| 亚洲婷婷综合久久一本伊一区| 亚洲午夜免费电影| 精品在线亚洲视频| 99re热这里只有精品视频| 精品视频一区二区三区免费| 日韩免费福利电影在线观看| 国产亚洲欧美色| 亚洲美女精品一区| 久久精品国产一区二区三| 成人久久18免费网站麻豆| 91国产成人在线| 精品精品国产高清a毛片牛牛| 最新国产の精品合集bt伙计| 日本三级韩国三级欧美三级| 国产精品 欧美精品| 在线视频亚洲一区| 精品处破学生在线二十三| 亚洲一区二区三区三| 国产一区二区三区四区五区入口 | 91久久线看在观草草青青| 日韩欧美国产精品一区| 国产精品国产自产拍高清av| 日本美女一区二区| 99久久精品久久久久久清纯| 欧美一区二区三区在线电影| 中文字幕一区在线观看视频| 亚洲一卡二卡三卡四卡无卡久久| 福利电影一区二区三区| 国产精品久久一级| 欧美顶级少妇做爰| 国产乱码一区二区三区| 亚洲国产成人午夜在线一区| proumb性欧美在线观看| 久久av资源网| 91久久人澡人人添人人爽欧美 | 精品一区二区三区在线视频| 欧美国产欧美亚州国产日韩mv天天看完整 | 成人app在线| 欧美一区二视频| 亚洲综合丝袜美腿| 99re成人精品视频| 国产三级精品视频| 日韩电影网1区2区| 国产欧美一区二区精品忘忧草| 轻轻草成人在线| 亚洲少妇30p| 亚洲一区二区三区四区五区黄 | 亚洲欧美激情在线| 欧美大片一区二区三区| 国产乱子伦一区二区三区国色天香 | 亚洲欧洲日韩av| 欧美最猛黑人xxxxx猛交| 亚洲3atv精品一区二区三区| 日韩午夜在线观看| 麻豆成人在线观看| 国产精品国产三级国产a | 美女网站色91| 久久精品在这里|