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


C++ Response::ParseFromArray方法代码示例

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


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

示例1: executeProtobuf

Response MarketSession::executeProtobuf(Request request)
{
    QByteArray requestBytes(request.SerializeAsString().c_str(),request.ByteSize());
    QByteArray responseBytes;
    if(!context.issecure())
        responseBytes = executeRawHttpQuery(requestBytes);
    else
        responseBytes = executeRawHttpsQuery(requestBytes);
    Response r;
    r.ParseFromArray(responseBytes.constData(),responseBytes.size());

    return r;
}
开发者ID:a1ien,项目名称:Qt-android-market-api,代码行数:13,代码来源:marketsession.cpp

示例2: e

inline void cpp_handler_wrapper<Response>::operator()(
    const rpc_error* error, const void* data, size_t size) {
  if (cpp_handler_.empty())
    return;  // ignore error and message

  Response resp;
  if (error) {
    cpp_handler_(error, resp);
    return;
  }
  BOOST_ASSERT(data);
  if (resp.ParseFromArray(data, size)) {
    cpp_handler_(NULL, resp);
    return;
  }

  // invalid message
  rpc_error e(error_code::INVALID_MESSAGE, "");
  cpp_handler_(&e, resp);
}  // operator()()
开发者ID:jinq0123,项目名称:rpcz,代码行数:20,代码来源:cpp_handler_wrapper.hpp

示例3: f

    int f(ptime time, int dt) {
        NF *f = new NF;
        f->set_dt(dt);
        f->set_allocated_current_time(ptime_to_DataTime(time));
        assert(f->IsInitialized());

        Call c;
        c.set_type(Call::N_F);
        c.set_allocated_n_f(f);
        assert(c.IsInitialized());

        std::string buf = c.SerializeAsString();
        zmq::message_t req((void*) buf.data(), buf.length(), 0);

        socket.send(req);
        zmq::message_t resp;
        socket.recv(&resp);

        Response r;
        r.ParseFromArray(resp.data(), resp.size());
        assert(r.type() == Call::N_F);
        return r.n_f();
    }
开发者ID:gregorburger,项目名称:cd3_rpc_proto,代码行数:23,代码来源:main.cpp

示例4: parse

bool PbSession::parse(Response& response) const
{
    error_.clear();

    PbHeader hdr;
    if( !parse(hdr) )
        return false;

    if( !response.ParseFromArray(cache_->data()+sizeof(hdr), hdr.bufsize) ) {
        error_ = "Protobuf parsing error (analysis under debug only).";
        qDebug() << "Protobuf parsing error: " << response.DebugString().c_str();
        return false;
    }

    qint32 error_code = response.has_error_code() ? response.error_code() : 0;
    if( error_code >= 300 ) {
        error_ = "Error in protobuf response: ";
        if( error_code )
            error_ += QString(" code=%1 ").arg(error_code);
        for(int c=0; c<response.error_message_size(); ++c)
            error_ += QString(" error%1=").arg(c) + QString::fromStdString(response.error_message(c)) + " ";
        error_ = error_.trimmed();
        return false;
    }

    if( !response.has_message_type() ) {
        error_ = QString("Error in protobuf response: 'message_type' is absent.");
        return false;
    }
    else if( response.message_type() != RPC_WORKGROUPS_LIST && response.message_type() != RPC_UNKNOWN ) {
        error_ = QString("Error in protobuf response: 'message_type=%1'.").arg( response.message_type() );
        return false;
    }

    return validate( response.workgroups_list() );
}
开发者ID:agandzyuk,项目名称:checklistviewer,代码行数:36,代码来源:protobuf.cpp

示例5: get_parameter

    double get_parameter(const std::string &name) const {
        std::string *allocated_name = new std::string(name);

        NGetParameter *gp = new NGetParameter;
        gp->set_allocated_name(allocated_name);
        assert(gp->IsInitialized());

        Call c;
        c.set_type(Call::N_GET_PARAMETER);
        c.set_allocated_n_get_parameter(gp);
        assert(c.IsInitialized());

        std::string buf = c.SerializeAsString();
        zmq::message_t req((void*) buf.data(), buf.length(), 0);

        socket.send(req);
        zmq::message_t resp;
        socket.recv(&resp);

        Response r;
        bool parsed = r.ParseFromArray(resp.data(), resp.size());
        assert(parsed);
        return r.n_get_parameter().value().double_();
    }
开发者ID:gregorburger,项目名称:cd3_rpc_proto,代码行数:24,代码来源:main.cpp


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