summaryrefslogtreecommitdiffstats
path: root/src/common
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2006-09-13 06:11:25 +0000
committerDavid Robillard <d@drobilla.net>2006-09-13 06:11:25 +0000
commite5675ebfeb93175e16762d0a078bd51d15d05f63 (patch)
tree189249ed9014e4c482cfaed0d6af28ced68570ca /src/common
parent23b7568ab7a87a79c186b8ddf3d3db4f1f934b06 (diff)
downloadingen-e5675ebfeb93175e16762d0a078bd51d15d05f63.tar.gz
ingen-e5675ebfeb93175e16762d0a078bd51d15d05f63.tar.bz2
ingen-e5675ebfeb93175e16762d0a078bd51d15d05f63.zip
Heavy-duty redesign of client library and GUI (now fully signal driven with clean Model/View separation).
Smarter, centralized window creation/management (should make window unification easy (panes?)). Typed metadata system, no more fugly string conversion of floats. Supports OSC fundamental types string, int, float, blob for now (though blob isn't working over the wire yet). git-svn-id: http://svn.drobilla.net/lad/ingen@131 a436a847-0d15-0410-975c-d299462d15a1
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)