当前位置: 首页>>代码示例>>C++>>正文


C++ CModInfo::SetPath方法代码示例

本文整理汇总了C++中CModInfo::SetPath方法的典型用法代码示例。如果您正苦于以下问题:C++ CModInfo::SetPath方法的具体用法?C++ CModInfo::SetPath怎么用?C++ CModInfo::SetPath使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在CModInfo的用法示例。


在下文中一共展示了CModInfo::SetPath方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: OnGetAvailableMods

    virtual void OnGetAvailableMods(set<CModInfo>& ssMods, bool bGlobal) {
        if (bGlobal) {
            return;
        }

        unsigned int a = 0;
        CDir Dir;

        CModules::ModDirList dirs = CModules::GetModDirs();

        while (!dirs.empty()) {
            Dir.FillByWildcard(dirs.front().first, "*.pm");
            dirs.pop();

            for (a = 0; a < Dir.size(); a++) {
                CFile& File = *Dir[a];
                CString sName = File.GetShortName();
                CString sPath = File.GetLongName();
                CModInfo ModInfo;
                sName.RightChomp(3);
                PSTART;
                PUSH_STR(sPath);
                PUSH_STR(sName);
                PCALL("ZNC::Core::ModInfoByPath");
                if (!SvTRUE(ERRSV) && ret == 1) {
                    ModInfo.SetGlobal(false);
                    ModInfo.SetDescription(PString(ST(0)));
                    ModInfo.SetName(sName);
                    ModInfo.SetPath(sPath);
                    ssMods.insert(ModInfo);
                }
                PEND;
            }
        }
    }
开发者ID:stevestreza,项目名称:ZNC-Node,代码行数:35,代码来源:modperl.cpp

示例2: OnGetModInfo

    virtual EModRet OnGetModInfo(CModInfo& ModInfo, const CString& sModule,
            bool& bSuccess, CString& sRetMsg) {
        PSTART;
        PUSH_STR(sModule);
        PCALL("ZNC::Core::GetModInfo");
        EModRet result = CONTINUE;
        if (SvTRUE(ERRSV)) {
            bSuccess = false;
            sRetMsg = PString(ERRSV);
        } else if (0 < ret) {
            switch(static_cast<ELoadPerlMod>(SvUV(ST(0)))) {
                case Perl_NotFound:
                    result = CONTINUE;
                    break;
                case Perl_Loaded:
                    result = HALT;
                    if (3 == ret) {
                        ModInfo.SetGlobal(false);
                        ModInfo.SetDescription(PString(ST(2)));
                        ModInfo.SetName(sModule);
                        ModInfo.SetPath(PString(ST(1)));
                        bSuccess = true;
                    } else {
                        bSuccess = false;
                        sRetMsg = "Something weird happened";
                    }
                    break;
                case Perl_LoadError:
                    result = HALT;
                    bSuccess = false;
                    if (2 == ret) {
                        sRetMsg = PString(ST(1));
                    } else {
                        sRetMsg = "Something weird happened";
                    }
            }
        } else {
            result = HALT;
            bSuccess = false;
            sRetMsg = "Something weird happened";
        }
        PEND;
        DEBUG(__PRETTY_FUNCTION__ << " " << sRetMsg);
        return result;
    }
开发者ID:stevestreza,项目名称:ZNC-Node,代码行数:45,代码来源:modperl.cpp

示例3: GetModPathInfo

bool CModules::GetModPathInfo(CModInfo& ModInfo, const CString& sModule, const CString& sModPath, CString& sRetMsg) {
    bool bVersionMismatch;

    ModHandle p = OpenModule(sModule, sModPath, bVersionMismatch, ModInfo, sRetMsg);

    if (!p)
        return false;

    ModInfo.SetName(sModule);
    ModInfo.SetPath(sModPath);

    if (bVersionMismatch) {
        ModInfo.SetDescription("--- Version mismatch, recompile this module. ---");
    }

    dlclose(p);

    return true;
}
开发者ID:BGCX261,项目名称:znc-msvc-svn-to-git,代码行数:19,代码来源:Modules.cpp


注:本文中的CModInfo::SetPath方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。