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


C++ Procedure::GetReturnType方法代码示例

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


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

示例1: generateProcCall

void CPPClientStubGenerator::generateProcCall(Procedure &proc)
{
    string call;
    if (proc.GetProcedureType() == RPC_METHOD)
    {
        call = TEMPLATE_METHODCALL;
        cg.writeLine(replaceAll(call, "<name>", proc.GetProcedureName()));
        call = TEMPLATE_RETURNCHECK;
        replaceAll2(call,"<cast>", CPPHelper::isCppConversion(proc.GetReturnType()));
        cg.writeLine(call);
        cg.increaseIndentation();
        call = TEMPLATE_RETURN;
        replaceAll2(call,"<cast>", CPPHelper::toCppConversion(proc.GetReturnType()));
        cg.writeLine(call);
        cg.decreaseIndentation();
        cg.writeLine("else");
        cg.increaseIndentation();
        cg.writeLine("throw jsonrpc::JsonRpcException(jsonrpc::Errors::ERROR_CLIENT_INVALID_RESPONSE, result.toStyledString());");
        cg.decreaseIndentation();
    }
    else
    {
        call = TEMPLATE_NOTIFICATIONCALL;
        replaceAll2(call, "<name>", proc.GetProcedureName());
        cg.writeLine(call);
    }

}
开发者ID:uglychen,项目名称:libjson-rpc-cpp,代码行数:28,代码来源:cppclientstubgenerator.cpp

示例2: generateMethod

void CPPClientStubGenerator::generateMethod(Procedure &proc)
{
    string procsignature = TEMPLATE_CPPCLIENT_SIGMETHOD;
    string returntype = CPPHelper::toCppType(proc.GetReturnType());
    if (proc.GetProcedureType() == RPC_NOTIFICATION)
        returntype = "void";

    replaceAll2(procsignature, "<returntype>", returntype);
    replaceAll2(procsignature, "<methodname>", CPPHelper::normalizeString(proc.GetProcedureName()));
    replaceAll2(procsignature, "<parameters>", CPPHelper::generateParameterDeclarationList(proc));

    cg.writeLine(procsignature);
    cg.writeLine("{");
    cg.increaseIndentation();

    cg.writeLine("Json::Value p;");

    generateAssignments(proc);
    generateProcCall(proc);

    cg.decreaseIndentation();
    cg.writeLine("}");


}
开发者ID:uglychen,项目名称:libjson-rpc-cpp,代码行数:25,代码来源:cppclientstubgenerator.cpp

示例3: toJsonLiteral

void        SpecificationWriter::procedureToJsonValue   (const Procedure &procedure, Json::Value &target)
{
    target[KEY_SPEC_PROCEDURE_NAME] = procedure.GetProcedureName();
    if(procedure.GetProcedureType() == RPC_METHOD)
    {
        target[KEY_SPEC_RETURN_TYPE] = toJsonLiteral(procedure.GetReturnType());
    }
    for(parameterNameList_t::const_iterator it = procedure.GetParameters().begin(); it != procedure.GetParameters().end(); ++it)
    {
        if(procedure.GetParameterDeclarationType() == PARAMS_BY_NAME)
        {
            target[KEY_SPEC_PROCEDURE_PARAMETERS][it->first] = toJsonLiteral(it->second);
        }
        else
        {
            target[KEY_SPEC_PROCEDURE_PARAMETERS].append(toJsonLiteral(it->second));
        }
    }
}
开发者ID:Jesse-V,项目名称:libjson-rpc-cpp,代码行数:19,代码来源:specificationwriter.cpp


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