diff vamp-client/SynchronousTransport.h @ 92:21f8af53eaf0

Reorganise some classes
author Chris Cannam <c.cannam@qmul.ac.uk>
date Thu, 13 Oct 2016 12:02:44 +0100
parents 6429a99abcad
children a660dca988f8
line wrap: on
line diff
--- a/vamp-client/SynchronousTransport.h	Thu Oct 13 11:33:19 2016 +0100
+++ b/vamp-client/SynchronousTransport.h	Thu Oct 13 12:02:44 2016 +0100
@@ -3,12 +3,26 @@
 #define PIPER_SYNCHRONOUS_TRANSPORT_H
 
 #include <vector>
+#include <cstdlib>
 
 namespace piper {
 
+class MessageCompletenessChecker // interface
+{
+public:
+    virtual ~MessageCompletenessChecker() = default;
+    
+    virtual bool isComplete(const std::vector<char> &message) const = 0;
+};
+
 class SynchronousTransport // interface
 {
 public:
+    virtual ~SynchronousTransport() = default;
+    
+    //!!! I do not take ownership
+    virtual void setCompletenessChecker(MessageCompletenessChecker *) = 0;
+    
     //!!! how to handle errors -- exception or return value? often an
     //!!! error (e.g. server has exited) may mean the transport can no
     //!!! longer be used at all
@@ -17,12 +31,6 @@
     virtual bool isOK() const = 0;
 };
 
-class MessageCompletenessChecker // interface
-{
-public:
-    virtual bool isComplete(const std::vector<char> &message) const = 0;
-};
-
 }
 
 #endif