diff options
Diffstat (limited to 'FTNoIR_Tracker_UDP/ftnoir_tracker_base.h')
-rw-r--r-- | FTNoIR_Tracker_UDP/ftnoir_tracker_base.h | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/FTNoIR_Tracker_UDP/ftnoir_tracker_base.h b/FTNoIR_Tracker_UDP/ftnoir_tracker_base.h index 60f0caf3..f39a8b4d 100644 --- a/FTNoIR_Tracker_UDP/ftnoir_tracker_base.h +++ b/FTNoIR_Tracker_UDP/ftnoir_tracker_base.h @@ -2,6 +2,7 @@ #define FTNOIR_TRACKER_BASE_H
#include "ftnoir_tracker_base_global.h"
+#include <QtGui/QWidget>
//
// x,y,z position in centimetres, yaw, pitch and roll in degrees...
@@ -19,7 +20,7 @@ struct THeadPoseData { // Instances are obtained via factory function.
struct ITracker
{
- virtual void Release() = 0;
+ virtual void Release() = 0; // Member required to enable Auto-remove
virtual void Initialize() = 0;
virtual void StartTracker() = 0;
virtual void GiveHeadPoseData(THeadPoseData *data) = 0;
@@ -44,4 +45,27 @@ __stdcall GetTracker(
void);
+
+// COM-Like abstract interface.
+// This interface doesn't require __declspec(dllexport/dllimport) specifier.
+// Method calls are dispatched via virtual table.
+// Any C++ compiler can use it.
+// Instances are obtained via factory function.
+struct ITrackerDialog
+{
+ virtual void Release() = 0; // Member required to enable Auto-remove
+ virtual void Initialize(QWidget *parent) = 0;
+};
+
+// Handle type. In C++ language the iterface type is used.
+typedef ITrackerDialog* TRACKERDIALOGHANDLE;
+
+// Factory function that creates instances of the Tracker object.
+EXTERN_C
+FTNOIR_TRACKER_BASE_EXPORT
+TRACKERDIALOGHANDLE
+__stdcall
+GetTrackerDialog(void);
+
+
#endif // FTNOIR_TRACKER_BASE_H
|