From 139217914d69b264d36e47609e1c0a736c52ee07 Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Fri, 26 Feb 2016 11:46:38 -0500 Subject: [PATCH] deprecate monitorPlugin.h --- src/monitor/monitorPlugin.cpp | 1 + src/monitor/pv/monitorPlugin.h | 18 ++++++++++++++---- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/src/monitor/monitorPlugin.cpp b/src/monitor/monitorPlugin.cpp index d2fd725..23d249c 100644 --- a/src/monitor/monitorPlugin.cpp +++ b/src/monitor/monitorPlugin.cpp @@ -8,6 +8,7 @@ * @author mrk */ +#define IN_MONITORPLUGIN_CPP #define epicsExportSharedSymbols #include diff --git a/src/monitor/pv/monitorPlugin.h b/src/monitor/pv/monitorPlugin.h index 544e262..4e0ac5f 100644 --- a/src/monitor/pv/monitorPlugin.h +++ b/src/monitor/pv/monitorPlugin.h @@ -18,6 +18,16 @@ #include +#if !defined(IN_MONITORPLUGIN_CPP) +#warning monitorPlugin.h is deprecated +#endif + +#if !defined(IN_MONITORPLUGIN_CPP) && defined(__GNUC__) && !(defined(__vxworks) && !defined(_WRS_VXWORKS_MAJOR)) +#define USAGE_DEPRECATED __attribute__((deprecated)) +#else +#define USAGE_DEPRECATED +#endif + namespace epics { namespace pvData { class MonitorPlugin; @@ -41,7 +51,7 @@ typedef std::tr1::shared_ptr MonitorPluginManagerPtr; * A monitor is assumed to be associated with a field of a top-level * structure. */ -class epicsShareClass MonitorPlugin +class epicsShareClass USAGE_DEPRECATED MonitorPlugin { public: virtual ~MonitorPlugin(){} @@ -95,7 +105,7 @@ public: * * Normlly a plugin is created for a single client. */ -class epicsShareClass MonitorPluginCreator +class epicsShareClass USAGE_DEPRECATED MonitorPluginCreator { public: virtual ~MonitorPluginCreator() {} @@ -127,7 +137,7 @@ public: * This manages a set of monitor plugins. * @author mrk */ -class epicsShareClass MonitorPluginManager +class epicsShareClass USAGE_DEPRECATED MonitorPluginManager { public: POINTER_DEFINITIONS(MonitorPluginManager); @@ -165,7 +175,7 @@ private: epics::pvData::Mutex mutex; }; - +#undef USAGE_DEPRECATED }} #endif /* MONITORPLUGIN_H */