summaryrefslogtreecommitdiffstats
path: root/src/common
diff options
context:
space:
mode:
Diffstat (limited to 'src/common')
-rw-r--r--src/common/interface/ClientInterface.h3
-rw-r--r--src/common/interface/EngineInterface.h2
-rw-r--r--src/common/util/Path.h4
3 files changed, 7 insertions, 2 deletions
diff --git a/src/common/interface/ClientInterface.h b/src/common/interface/ClientInterface.h
index 3adc76f4..5d56fa8e 100644
--- a/src/common/interface/ClientInterface.h
+++ b/src/common/interface/ClientInterface.h
@@ -18,6 +18,7 @@
#define CLIENTINTERFACE_H
#include <inttypes.h>
+#include "util/Atom.h"
#include <string>
using std::string;
@@ -91,7 +92,7 @@ public:
virtual void metadata_update(string subject_path,
string predicate,
- string value) = 0;
+ Atom value) = 0;
virtual void control_change(string port_path,
float value) = 0;
diff --git a/src/common/interface/EngineInterface.h b/src/common/interface/EngineInterface.h
index 46f6fa99..c86340c5 100644
--- a/src/common/interface/EngineInterface.h
+++ b/src/common/interface/EngineInterface.h
@@ -112,7 +112,7 @@ public:
virtual void set_metadata(const string& path,
const string& predicate,
- const string& value) = 0;
+ const Atom& value) = 0;
// Requests //
diff --git a/src/common/util/Path.h b/src/common/util/Path.h
index 6c6d54be..2fcf5774 100644
--- a/src/common/util/Path.h
+++ b/src/common/util/Path.h
@@ -76,6 +76,10 @@ public:
assert(path.find_last_of("/") != string::npos);
+ // Double slash not allowed
+ if (path.find("//") != string::npos)
+ return false;
+
// All characters must be printable ASCII
for (size_t i=0; i < path.length(); ++i)
if (path.at(i) < 32 || path.at(i) > 126)