summaryrefslogtreecommitdiffstats
path: root/src/shared
diff options
context:
space:
mode:
Diffstat (limited to 'src/shared')
-rw-r--r--src/shared/ResourceImpl.cpp13
-rw-r--r--src/shared/ResourceImpl.hpp1
2 files changed, 14 insertions, 0 deletions
diff --git a/src/shared/ResourceImpl.cpp b/src/shared/ResourceImpl.cpp
index 93d6ea03..949a8b36 100644
--- a/src/shared/ResourceImpl.cpp
+++ b/src/shared/ResourceImpl.cpp
@@ -62,6 +62,19 @@ ResourceImpl::set_property(const Raul::URI& uri, const Raul::Atom& value)
}
+bool
+ResourceImpl::has_property(const Raul::URI& uri, const Raul::Atom& value)
+{
+ Properties::const_iterator i = _properties.find(uri);
+ for (; i->first == uri; ++i) {
+ if (i->second == value) {
+ return true;
+ }
+ }
+ return false;
+}
+
+
Raul::Atom&
ResourceImpl::set_property(const Raul::URI& uri, const Raul::Atom& value) const
{
diff --git a/src/shared/ResourceImpl.hpp b/src/shared/ResourceImpl.hpp
index b4afc50a..7ff88f6a 100644
--- a/src/shared/ResourceImpl.hpp
+++ b/src/shared/ResourceImpl.hpp
@@ -40,6 +40,7 @@ public:
const Raul::Atom& get_property(const Raul::URI& uri) const;
Raul::Atom& set_property(const Raul::URI& uri, const Raul::Atom& value);
+ bool has_property(const Raul::URI& uri, const Raul::Atom& value);
void add_property(const Raul::URI& uri, const Raul::Atom& value);
void set_properties(const Properties& p);
void add_properties(const Properties& p);