changeset 294:df381a2e6fa1

Fix compiler warning re mismatching enum types
author Chris Cannam <cannam@all-day-breakfast.com>
date Wed, 03 Jan 2024 18:12:35 +0000
parents ae7397deffaa
children de5dc40f1830 50a0b4fea7f1
files vamp-server/convert.cpp
diffstat 1 files changed, 8 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/vamp-server/convert.cpp	Wed Jan 05 14:02:19 2022 +0000
+++ b/vamp-server/convert.cpp	Wed Jan 03 18:12:35 2024 +0000
@@ -150,20 +150,20 @@
     }
 }
 
-template <typename Reader>
+template <typename Reader, typename Id>
 static RequestOrResponse::RpcId
 readCapnpId(const Reader &r)
 {
     int number;
     string tag;
     switch (r.getId().which()) {
-    case piper::RpcRequest::Id::Which::NUMBER:
+    case Id::Which::NUMBER:
         number = r.getId().getNumber();
         return { RequestOrResponse::RpcId::Number, number, "" };
-    case piper::RpcRequest::Id::Which::TAG:
+    case Id::Which::TAG:
         tag = r.getId().getTag();
         return { RequestOrResponse::RpcId::Tag, 0, tag };
-    case piper::RpcRequest::Id::Which::NONE:
+    case Id::Which::NONE:
         return { RequestOrResponse::RpcId::Absent, 0, "" };
     }
     return { RequestOrResponse::RpcId::Absent, 0, "" };
@@ -381,7 +381,8 @@
     piper::RpcRequest::Reader reader = message.getRoot<piper::RpcRequest>();
     
     rr.type = VampnProto::getRequestResponseType(reader);
-    rr.id = readCapnpId(reader);
+    rr.id = readCapnpId<piper::RpcRequest::Reader, piper::RpcRequest::Id>
+        (reader);
 
     switch (rr.type) {
 
@@ -453,7 +454,8 @@
     rr.type = VampnProto::getRequestResponseType(reader);
     rr.success = true;
     rr.errorText = "";
-    rr.id = readCapnpId(reader);
+    rr.id = readCapnpId<piper::RpcResponse::Reader, piper::RpcResponse::Id>
+        (reader);
     int errorCode = 0;
 
     switch (rr.type) {