-// -------------------------------------------------------------------------
-#define CPPLUGINS_PROVIDER_HEADER_BEGIN( 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 CPPLUGINS_PROVIDER_HEADER_END };
-
-// -------------------------------------------------------------------------
-#define CPPLUGINS_PROVIDER_HEADER( TYPE ) \
- CPPLUGINS_PROVIDER_HEADER_BEGIN( TYPE ) \
- virtual TYPE::Pointer create( ) const = 0; \
- CPPLUGINS_PROVIDER_HEADER_END
-
-// -------------------------------------------------------------------------
-#define CPPLUGINS_PROVIDER_SOURCE( TYPE, Version, LowestVersion ) \
- PLUMA_PROVIDER_SOURCE( TYPE, Version, LowestVersion )
-
-// -------------------------------------------------------------------------
-#define CPPLUGINS_INHERIT_PROVIDER( TYPE ) \
- class TYPE##Provider \
- : public cpPlugins::Interface::ObjectProvider \
- { \
- public: \
- cpPlugins::Interface::Object::Pointer create( ) const \
- { \
- TYPE::Pointer a = TYPE::New( ); \
- cpPlugins::Interface::Object::Pointer b = a.GetPointer( ); \
- return( b ); \
- } \
- };