summaryrefslogtreecommitdiffhomepage
path: root/FTNoIR_Filter_Base/ftnoir_filter_base.h
diff options
context:
space:
mode:
authorWim Vriend <facetracknoir@gmail.com>2012-01-09 17:01:44 +0000
committerWim Vriend <facetracknoir@gmail.com>2012-01-09 17:01:44 +0000
commitd6086d8203ae4f4b45f3d97960788d603fc78e16 (patch)
treed27181290c04ca84d27b822aa40b9f7ed904e389 /FTNoIR_Filter_Base/ftnoir_filter_base.h
parent10feed03651270c2aa0eb95268e40f0b66fe30d6 (diff)
Implemented filter-settings changeably while Tracker is active.
Should also be handy to have a IFilterPtr, for logging... git-svn-id: svn+ssh://svn.code.sf.net/p/facetracknoir/code@99 19e81ba0-9b1a-49c3-bd6c-561e1906d5fb
Diffstat (limited to 'FTNoIR_Filter_Base/ftnoir_filter_base.h')
-rw-r--r--FTNoIR_Filter_Base/ftnoir_filter_base.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/FTNoIR_Filter_Base/ftnoir_filter_base.h b/FTNoIR_Filter_Base/ftnoir_filter_base.h
index 0262b4eb..8e949553 100644
--- a/FTNoIR_Filter_Base/ftnoir_filter_base.h
+++ b/FTNoIR_Filter_Base/ftnoir_filter_base.h
@@ -10,6 +10,8 @@
#include <QMessageBox>
#include <QSettings>
+#include "..\FaceTrackNoIR\AutoClosePtr.h"
+
// COM-Like abstract interface.
// This interface doesn't require __declspec(dllexport/dllimport) specifier.
// Method calls are dispatched via virtual table.
@@ -31,6 +33,8 @@ struct IFilter
// Handle type. In C++ language the interface type is used.
typedef IFilter* FILTERHANDLE;
+typedef AutoClosePtr<IFilter, void, &IFilter::Release> IFilterPtr;
+typedef IFilter *(__stdcall *importGetFilter)(void);
////////////////////////////////////////////////////////////////////////////////
//
@@ -56,7 +60,7 @@ GetFilter(
struct IFilterDialog
{
virtual void Release() = 0; // Member required to enable Auto-remove
- virtual void Initialize(QWidget *parent) = 0;
+ virtual void Initialize(QWidget *parent, IFilterPtr ptr) = 0;
virtual void getFilterFullName(QString *strToBeFilled) = 0;
virtual void getFilterShortName(QString *strToBeFilled) = 0;