Mercurial > hg > piper-cpp
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 |