summaryrefslogtreecommitdiffhomepage
path: root/FTNoIR_Filter_Base/ftnoir_filter_base.h
diff options
context:
space:
mode:
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;