]> Creatis software - cpPlugins.git/blobdiff - lib/cpPlugins/Interface/Object.h
First modifications to make this work on MS-Windows
[cpPlugins.git] / lib / cpPlugins / Interface / Object.h
index 33cfdd7079cd61ab1e361369a3af305c271d3872..a51f657add190bd983f23b0975109292ae84c90f 100644 (file)
@@ -7,11 +7,30 @@
 #include <itkObjectFactory.h>
 #include <cpPlugins/Interface/cpPlugins_Interface_Export.h>
 
+
+// -------------------------------------------------------------------------
+#define PLUMA_PROVIDER_HEADER_BEGIN_CPPLUGINS( TYPE )\
+class cpPlugins_Interface_EXPORT TYPE##Provider\
+: public pluma::Provider{\
+private:\
+    friend class pluma::Pluma;\
+    static const unsigned int PLUMA_INTERFACE_VERSION;\
+    static const unsigned int PLUMA_INTERFACE_LOWEST_VERSION;\
+    static const std::string PLUMA_PROVIDER_TYPE;\
+    std::string plumaGetType( ) const\
+{ return( PLUMA_PROVIDER_TYPE ); }\
+public:\
+    unsigned int getVersion( ) const\
+{ return( PLUMA_INTERFACE_VERSION ); }
+
+// -------------------------------------------------------------------------
+#define PLUMA_PROVIDER_HEADER_END_CPPLUGINS };
+
 // -------------------------------------------------------------------------
 #define PLUMA_PROVIDER_HEADER_CPPLUGINS( TYPE )         \
-  PLUMA_PROVIDER_HEADER_BEGIN( TYPE )                   \
+  PLUMA_PROVIDER_HEADER_BEGIN_CPPLUGINS( TYPE )         \
   virtual TYPE::Pointer create( ) const = 0;            \
-  PLUMA_PROVIDER_HEADER_END
+  PLUMA_PROVIDER_HEADER_END_CPPLUGINS
 
 // -------------------------------------------------------------------------
 #define PLUMA_INHERIT_PROVIDER_CPPLUGINS( TYPE, SUPER ) \