comparison vamp-server/convert.cpp @ 97:427c4c725085

Bring in the Request/Response classes that were in the Vamp SDK, adding them to vamp-support in here instead
author Chris Cannam <c.cannam@qmul.ac.uk>
date Thu, 13 Oct 2016 18:05:35 +0100
parents c897c9a8daf1
children d15cb1151d76
comparison
equal deleted inserted replaced
96:215c9fb6b7a4 97:427c4c725085
10 10
11 #include <capnp/serialize.h> 11 #include <capnp/serialize.h>
12 12
13 using namespace std; 13 using namespace std;
14 using namespace json11; 14 using namespace json11;
15 using namespace piper; 15 using namespace piper_vamp;
16 16
17 void usage() 17 void usage()
18 { 18 {
19 string myname = "piper-convert"; 19 string myname = "piper-convert";
20 cerr << "\n" << myname << 20 cerr << "\n" << myname <<
115 readCapnpId(const Reader &r) 115 readCapnpId(const Reader &r)
116 { 116 {
117 int number; 117 int number;
118 string tag; 118 string tag;
119 switch (r.getId().which()) { 119 switch (r.getId().which()) {
120 case RpcRequest::Id::Which::NUMBER: 120 case piper::RpcRequest::Id::Which::NUMBER:
121 number = r.getId().getNumber(); 121 number = r.getId().getNumber();
122 return { RequestOrResponse::RpcId::Number, number, "" }; 122 return { RequestOrResponse::RpcId::Number, number, "" };
123 case RpcRequest::Id::Which::TAG: 123 case piper::RpcRequest::Id::Which::TAG:
124 tag = r.getId().getTag(); 124 tag = r.getId().getTag();
125 return { RequestOrResponse::RpcId::Tag, 0, tag }; 125 return { RequestOrResponse::RpcId::Tag, 0, tag };
126 case RpcRequest::Id::Which::NONE: 126 case piper::RpcRequest::Id::Which::NONE:
127 return { RequestOrResponse::RpcId::Absent, 0, "" }; 127 return { RequestOrResponse::RpcId::Absent, 0, "" };
128 } 128 }
129 return {}; 129 return {};
130 } 130 }
131 131
332 readRequestCapnp(kj::BufferedInputStreamWrapper &buffered) 332 readRequestCapnp(kj::BufferedInputStreamWrapper &buffered)
333 { 333 {
334 RequestOrResponse rr; 334 RequestOrResponse rr;
335 rr.direction = RequestOrResponse::Request; 335 rr.direction = RequestOrResponse::Request;
336 336
337 ::capnp::InputStreamMessageReader message(buffered); 337 capnp::InputStreamMessageReader message(buffered);
338 RpcRequest::Reader reader = message.getRoot<RpcRequest>(); 338 piper::RpcRequest::Reader reader = message.getRoot<piper::RpcRequest>();
339 339
340 rr.type = VampnProto::getRequestResponseType(reader); 340 rr.type = VampnProto::getRequestResponseType(reader);
341 rr.id = readCapnpId(reader); 341 rr.id = readCapnpId(reader);
342 342
343 switch (rr.type) { 343 switch (rr.type) {
366 } 366 }
367 367
368 void 368 void
369 writeRequestCapnp(RequestOrResponse &rr) 369 writeRequestCapnp(RequestOrResponse &rr)
370 { 370 {
371 ::capnp::MallocMessageBuilder message; 371 capnp::MallocMessageBuilder message;
372 RpcRequest::Builder builder = message.initRoot<RpcRequest>(); 372 piper::RpcRequest::Builder builder = message.initRoot<piper::RpcRequest>();
373 373
374 buildCapnpId(builder, rr.id); 374 buildCapnpId(builder, rr.id);
375 375
376 switch (rr.type) { 376 switch (rr.type) {
377 377
402 readResponseCapnp(kj::BufferedInputStreamWrapper &buffered) 402 readResponseCapnp(kj::BufferedInputStreamWrapper &buffered)
403 { 403 {
404 RequestOrResponse rr; 404 RequestOrResponse rr;
405 rr.direction = RequestOrResponse::Response; 405 rr.direction = RequestOrResponse::Response;
406 406
407 ::capnp::InputStreamMessageReader message(buffered); 407 capnp::InputStreamMessageReader message(buffered);
408 RpcResponse::Reader reader = message.getRoot<RpcResponse>(); 408 piper::RpcResponse::Reader reader = message.getRoot<piper::RpcResponse>();
409 409
410 rr.type = VampnProto::getRequestResponseType(reader); 410 rr.type = VampnProto::getRequestResponseType(reader);
411 rr.success = true; 411 rr.success = true;
412 rr.errorText = ""; 412 rr.errorText = "";
413 rr.id = readCapnpId(reader); 413 rr.id = readCapnpId(reader);
442 } 442 }
443 443
444 void 444 void
445 writeResponseCapnp(RequestOrResponse &rr) 445 writeResponseCapnp(RequestOrResponse &rr)
446 { 446 {
447 ::capnp::MallocMessageBuilder message; 447 capnp::MallocMessageBuilder message;
448 RpcResponse::Builder builder = message.initRoot<RpcResponse>(); 448 piper::RpcResponse::Builder builder = message.initRoot<piper::RpcResponse>();
449 449
450 buildCapnpId(builder, rr.id); 450 buildCapnpId(builder, rr.id);
451 451
452 if (!rr.success) { 452 if (!rr.success) {
453 453