summaryrefslogtreecommitdiffhomepage
path: root/Tobii EyeX/include/eyex-cpp/AsyncData.inl
diff options
context:
space:
mode:
Diffstat (limited to 'Tobii EyeX/include/eyex-cpp/AsyncData.inl')
-rwxr-xr-xTobii EyeX/include/eyex-cpp/AsyncData.inl54
1 files changed, 54 insertions, 0 deletions
diff --git a/Tobii EyeX/include/eyex-cpp/AsyncData.inl b/Tobii EyeX/include/eyex-cpp/AsyncData.inl
new file mode 100755
index 0000000..55f42f5
--- /dev/null
+++ b/Tobii EyeX/include/eyex-cpp/AsyncData.inl
@@ -0,0 +1,54 @@
+/*********************************************************************************************************************
+ * Copyright 2013-2014 Tobii Technology AB. All rights reserved.
+ * AsyncData.inl
+ *********************************************************************************************************************/
+
+#if !defined(__TOBII_TX_CLIENT_CPPBINDINGS_ASYNCDATA__INL__)
+#define __TOBII_TX_CLIENT_CPPBINDINGS_ASYNC__INL__
+
+/*********************************************************************************************************************/
+
+TX_NAMESPACE_BEGIN
+
+/*********************************************************************************************************************/
+
+inline AsyncData::AsyncData(const std::shared_ptr<const Context>& spContext, TX_CONSTHANDLE hAsyncData)
+: InteractionObjectBase(spContext, hAsyncData)
+{ }
+
+/*********************************************************************************************************************/
+
+inline bool AsyncData::TryGetResultCode(TX_RESULT* pResultCode) const
+{
+ return TX_VALIDATE(txGetAsyncDataResultCode(_hObject, pResultCode), TX_RESULT_NOTFOUND);
+}
+
+/*********************************************************************************************************************/
+
+inline std::shared_ptr<InteractionObject> AsyncData::GetData() const
+{
+ Tx::Utils::ScopedHandle hData;
+ if(!TX_VALIDATE(txGetAsyncDataContent(_hObject, &hData), TX_RESULT_NOTFOUND))
+ return nullptr;
+
+ auto spData = _spContext->CreateObject(hData);
+ return spData;
+}
+
+/*********************************************************************************************************************/
+
+template <typename TInteractionObject>
+std::shared_ptr<TInteractionObject> AsyncData::GetDataAs() const
+{
+ return std::dynamic_pointer_cast<TInteractionObject>(GetData());
+}
+
+/*********************************************************************************************************************/
+
+TX_NAMESPACE_END
+
+/*********************************************************************************************************************/
+
+#endif // !defined(__TOBII_TX_CLIENT_CPPBINDINGS_ASYNCDATA__INL__)
+
+/*********************************************************************************************************************/