diff options
Diffstat (limited to 'Tobii EyeX/include/eyex-cpp/InteractionObject.hpp')
-rwxr-xr-x | Tobii EyeX/include/eyex-cpp/InteractionObject.hpp | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/Tobii EyeX/include/eyex-cpp/InteractionObject.hpp b/Tobii EyeX/include/eyex-cpp/InteractionObject.hpp new file mode 100755 index 0000000..75d4171 --- /dev/null +++ b/Tobii EyeX/include/eyex-cpp/InteractionObject.hpp @@ -0,0 +1,63 @@ +/*********************************************************************************************************************
+ * Copyright 2013-2014 Tobii Technology AB. All rights reserved.
+ * InteractionObject.hpp
+ *********************************************************************************************************************/
+
+#if !defined(__TOBII_TX_CLIENT_CPPBINDINGS_INTERACTIONOBJECT__HPP__)
+#define __TOBII_TX_CLIENT_CPPBINDINGS_INTERACTIONOBJECT__HPP__
+
+/*********************************************************************************************************************/
+
+TX_NAMESPACE_BEGIN
+
+/*********************************************************************************************************************/
+
+template <typename THandle>
+class InteractionObjectBase :
+ public HandleWrapper<THandle>
+{
+public:
+ InteractionObjectBase(const std::shared_ptr<const Context>& spContext, THandle hObject);
+
+ TX_INTERACTIONOBJECTTYPE GetObjectType() const;
+
+ bool TryGetProperty(std::shared_ptr<Property>* pspProperty, const std::string& propertyName) const;
+ std::shared_ptr<Property> GetProperty(const std::string& propertyName) const;
+ std::vector<std::shared_ptr<Property>> GetProperties() const;
+ void CopyPropertiesTo(const std::shared_ptr<InteractionObject>& spObject) const;
+ std::string FormatAsText() const;
+
+public:
+ template <typename TValue>
+ typename PropertyValueResolver<TValue>::ValueType GetPropertyValue(const std::string& propertyName) const;
+
+ template <typename TValue>
+ bool TryGetPropertyValue(TValue* pValue, const std::string& propertyName) const;
+};
+
+/*********************************************************************************************************************/
+
+class InteractionObject :
+ public InteractionObjectBase<TX_HANDLE>
+{
+public:
+ InteractionObject(const std::shared_ptr<const Context>& spContext, TX_HANDLE hObject);
+ virtual ~InteractionObject();
+
+ std::shared_ptr<Property> CreateProperty(const std::string& propertyName);
+
+public:
+ template <typename TValue>
+ void SetPropertyValue(const std::string& propertyName, const TValue& value);
+};
+
+/*********************************************************************************************************************/
+
+TX_NAMESPACE_END
+
+/*********************************************************************************************************************/
+
+
+#endif // !defined(__TOBII_TX_CLIENT_CPPBINDINGS_INTERACTIONOBJECT__HPP__)
+
+/*********************************************************************************************************************/
|