From 3b4a52a3608f990af55da96e7f8402ae91534db8 Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Tue, 4 Dec 2018 14:14:26 -0800 Subject: [PATCH] remove usage of NoDefaultMethods --- src/client/pv/pvAccess.h | 26 +++++++++++++++----------- src/pva/pv/pvaVersion.h | 3 ++- src/remote/pv/blockingUDP.h | 3 ++- src/remote/pv/security.h | 4 ++-- src/remote/pv/securityImpl.h | 4 ++-- src/remote/pv/serializationHelper.h | 3 ++- src/remoteClient/clientContextImpl.cpp | 26 ++++++++++++++------------ src/utils/configuration.cpp | 2 ++ src/utils/logger.cpp | 3 ++- src/utils/pv/configuration.h | 23 +++++++++++------------ src/utils/pv/introspectionRegistry.h | 3 ++- 11 files changed, 56 insertions(+), 44 deletions(-) diff --git a/src/client/pv/pvAccess.h b/src/client/pv/pvAccess.h index 7b93216..74e6d3f 100644 --- a/src/client/pv/pvAccess.h +++ b/src/client/pv/pvAccess.h @@ -101,7 +101,8 @@ public: /** * Scope lock. */ -class epicsShareClass ScopedLock : private epics::pvData::NoDefaultMethods { +class epicsShareClass ScopedLock { + EPICS_NOT_COPYABLE(ScopedLock) public: explicit ScopedLock(Lockable::shared_pointer const & li) @@ -179,7 +180,7 @@ private: /** * Base interface for all channel requests (aka. Operations). */ -class epicsShareClass ChannelRequest : public virtual Destroyable, public Lockable, private epics::pvData::NoDefaultMethods { +class epicsShareClass ChannelRequest : public virtual Destroyable, public Lockable { public: POINTER_DEFINITIONS(ChannelRequest); @@ -211,8 +212,7 @@ public: virtual void lastRequest() = 0; private: - ChannelRequest(const ChannelRequest&); - ChannelRequest& operator=(const ChannelRequest&); + EPICS_NOT_COPYABLE(ChannelRequest) }; /** @@ -376,11 +376,13 @@ public: /** * */ -class epicsShareClass ChannelFind : public Destroyable, private epics::pvData::NoDefaultMethods { +class epicsShareClass ChannelFind : public Destroyable { + EPICS_NOT_COPYABLE(ChannelFind) public: POINTER_DEFINITIONS(ChannelFind); typedef ChannelFindRequester requester_type; + ChannelFind() {} virtual ~ChannelFind() {} virtual std::tr1::shared_ptr getChannelProvider() = 0; @@ -833,8 +835,9 @@ class ChannelRequester; */ class epicsShareClass Channel : public Requester, - public Destroyable, - private epics::pvData::NoDefaultMethods { + public Destroyable +{ + EPICS_NOT_COPYABLE(Channel) public: POINTER_DEFINITIONS(Channel); typedef ChannelRequester requester_type; @@ -1154,10 +1157,9 @@ enum FlushStrategy { * * Uniquely configurable (via ChannelProviderFactory::newInstance(Configuration*) */ -class epicsShareClass ChannelProvider : public Destroyable, private epics::pvData::NoDefaultMethods +class epicsShareClass ChannelProvider : public Destroyable { - ChannelProvider(const ChannelProvider&); - ChannelProvider& operator=(const ChannelProvider&); + EPICS_NOT_COPYABLE(ChannelProvider) public: POINTER_DEFINITIONS(ChannelProvider); @@ -1246,10 +1248,12 @@ public: /** * ChanneProvider factory interface. */ -class epicsShareClass ChannelProviderFactory : private epics::pvData::NoDefaultMethods { +class epicsShareClass ChannelProviderFactory { + EPICS_NOT_COPYABLE(ChannelProviderFactory) public: POINTER_DEFINITIONS(ChannelProviderFactory); + ChannelProviderFactory() {} virtual ~ChannelProviderFactory() {} /** diff --git a/src/pva/pv/pvaVersion.h b/src/pva/pv/pvaVersion.h index d8ff754..993a5e4 100644 --- a/src/pva/pv/pvaVersion.h +++ b/src/pva/pv/pvaVersion.h @@ -33,7 +33,8 @@ namespace epics { namespace pvAccess { -class epicsShareClass Version : public epics::pvData::NoDefaultMethods { +class epicsShareClass Version { + EPICS_NOT_COPYABLE(Version) public: /** * Default constructor. diff --git a/src/remote/pv/blockingUDP.h b/src/remote/pv/blockingUDP.h index e3a848e..9f55558 100644 --- a/src/remote/pv/blockingUDP.h +++ b/src/remote/pv/blockingUDP.h @@ -41,11 +41,12 @@ class BlockingUDPConnector; enum InetAddressType { inetAddressType_all, inetAddressType_unicast, inetAddressType_broadcast_multicast }; -class BlockingUDPTransport : public epics::pvData::NoDefaultMethods, +class BlockingUDPTransport : public Transport, public TransportSendControl, public epicsThreadRunable { + EPICS_NOT_COPYABLE(BlockingUDPTransport) public: POINTER_DEFINITIONS(BlockingUDPTransport); diff --git a/src/remote/pv/security.h b/src/remote/pv/security.h index 9e95e39..fb247c0 100644 --- a/src/remote/pv/security.h +++ b/src/remote/pv/security.h @@ -414,9 +414,9 @@ public: } }; -class epicsShareClass SecurityPluginRegistry : - private epics::pvData::NoDefaultMethods +class epicsShareClass SecurityPluginRegistry { + EPICS_NOT_COPYABLE(SecurityPluginRegistry) public: static SecurityPluginRegistry& instance() diff --git a/src/remote/pv/securityImpl.h b/src/remote/pv/securityImpl.h index ca3124c..f0f95ea 100644 --- a/src/remote/pv/securityImpl.h +++ b/src/remote/pv/securityImpl.h @@ -10,9 +10,9 @@ namespace pvAccess { class AuthNZHandler : - public ResponseHandler, - private epics::pvData::NoDefaultMethods + public ResponseHandler { + EPICS_NOT_COPYABLE(AuthNZHandler) public: AuthNZHandler(Context* context) : ResponseHandler(context, "authNZ message") diff --git a/src/remote/pv/serializationHelper.h b/src/remote/pv/serializationHelper.h index 078b301..4894c28 100644 --- a/src/remote/pv/serializationHelper.h +++ b/src/remote/pv/serializationHelper.h @@ -20,7 +20,8 @@ namespace epics { namespace pvAccess { -class epicsShareClass SerializationHelper : public epics::pvData::NoDefaultMethods { +class epicsShareClass SerializationHelper { + EPICS_NOT_COPYABLE(SerializationHelper) public: static epics::pvData::PVDataCreatePtr _pvDataCreate; diff --git a/src/remoteClient/clientContextImpl.cpp b/src/remoteClient/clientContextImpl.cpp index 929b9a0..3a4cc70 100644 --- a/src/remoteClient/clientContextImpl.cpp +++ b/src/remoteClient/clientContextImpl.cpp @@ -2455,6 +2455,7 @@ public: class AbstractClientResponseHandler : public ResponseHandler { + EPICS_NOT_COPYABLE(AbstractClientResponseHandler) protected: const ClientContextImpl::weak_pointer _context; public: @@ -2466,7 +2467,7 @@ public: } }; -class NoopResponse : public AbstractClientResponseHandler, private epics::pvData::NoDefaultMethods { +class NoopResponse : public AbstractClientResponseHandler { public: NoopResponse(ClientContextImpl::shared_pointer const & context, string const & description) : AbstractClientResponseHandler(context, description) @@ -2478,7 +2479,7 @@ public: }; -class ResponseRequestHandler : public AbstractClientResponseHandler, private epics::pvData::NoDefaultMethods { +class ResponseRequestHandler : public AbstractClientResponseHandler { public: ResponseRequestHandler(ClientContextImpl::shared_pointer const & context) : AbstractClientResponseHandler(context, "Data response") @@ -2509,7 +2510,7 @@ public: }; -class MultipleResponseRequestHandler : public AbstractClientResponseHandler, private epics::pvData::NoDefaultMethods { +class MultipleResponseRequestHandler : public AbstractClientResponseHandler { public: MultipleResponseRequestHandler(ClientContextImpl::shared_pointer const & context) : AbstractClientResponseHandler(context, "Multiple data response") @@ -2547,7 +2548,7 @@ public: } }; -class SearchResponseHandler : public AbstractClientResponseHandler, private epics::pvData::NoDefaultMethods { +class SearchResponseHandler : public AbstractClientResponseHandler { public: SearchResponseHandler(ClientContextImpl::shared_pointer const & context) : AbstractClientResponseHandler(context, "Search response") @@ -2610,7 +2611,7 @@ public: } }; -class SearchHandler : public AbstractClientResponseHandler, private epics::pvData::NoDefaultMethods { +class SearchHandler : public AbstractClientResponseHandler { public: SearchHandler(ClientContextImpl::shared_pointer const & context) : AbstractClientResponseHandler(context, "Search") @@ -2699,7 +2700,7 @@ public: } }; -class BeaconResponseHandler : public AbstractClientResponseHandler, private epics::pvData::NoDefaultMethods { +class BeaconResponseHandler : public AbstractClientResponseHandler { public: BeaconResponseHandler(ClientContextImpl::shared_pointer const & context) : AbstractClientResponseHandler(context, "Beacon") @@ -2769,7 +2770,7 @@ public: } }; -class ClientConnectionValidationHandler : public AbstractClientResponseHandler, private epics::pvData::NoDefaultMethods { +class ClientConnectionValidationHandler : public AbstractClientResponseHandler { public: ClientConnectionValidationHandler(ClientContextImpl::shared_pointer context) : AbstractClientResponseHandler(context, "Connection validation") @@ -2809,7 +2810,7 @@ public: } }; -class ClientConnectionValidatedHandler : public AbstractClientResponseHandler, private epics::pvData::NoDefaultMethods { +class ClientConnectionValidatedHandler : public AbstractClientResponseHandler { public: ClientConnectionValidatedHandler(ClientContextImpl::shared_pointer context) : AbstractClientResponseHandler(context, "Connection validated") @@ -2830,7 +2831,7 @@ public: } }; -class MessageHandler : public AbstractClientResponseHandler, private epics::pvData::NoDefaultMethods { +class MessageHandler : public AbstractClientResponseHandler { public: MessageHandler(ClientContextImpl::shared_pointer const & context) : AbstractClientResponseHandler(context, "Message") @@ -2865,7 +2866,7 @@ public: } }; -class CreateChannelHandler : public AbstractClientResponseHandler, private epics::pvData::NoDefaultMethods { +class CreateChannelHandler : public AbstractClientResponseHandler { public: CreateChannelHandler(ClientContextImpl::shared_pointer const & context) : AbstractClientResponseHandler(context, "Create channel") @@ -2915,7 +2916,7 @@ public: }; -class DestroyChannelHandler : public AbstractClientResponseHandler, private epics::pvData::NoDefaultMethods { +class DestroyChannelHandler : public AbstractClientResponseHandler { public: DestroyChannelHandler(ClientContextImpl::shared_pointer const & context) : AbstractClientResponseHandler(context, "Destroy channel") @@ -2945,7 +2946,8 @@ public: * PVA response handler - main handler which dispatches responses to appripriate handlers. * @author Matej Sekoranja */ -class ClientResponseHandler : public ResponseHandler, private epics::pvData::NoDefaultMethods { +class ClientResponseHandler : public ResponseHandler { + EPICS_NOT_COPYABLE(ClientResponseHandler) private: /** diff --git a/src/utils/configuration.cpp b/src/utils/configuration.cpp index 7b811d6..d6643ec 100644 --- a/src/utils/configuration.cpp +++ b/src/utils/configuration.cpp @@ -26,6 +26,8 @@ namespace pvAccess { using namespace epics::pvData; using namespace std; +Configuration::~Configuration() {} + bool Configuration::getPropertyAsBoolean(const std::string &name, const bool defaultValue) const { string value = getPropertyAsString(name, defaultValue ? "1" : "0"); diff --git a/src/utils/logger.cpp b/src/utils/logger.cpp index 4d37817..65216ed 100644 --- a/src/utils/logger.cpp +++ b/src/utils/logger.cpp @@ -68,7 +68,8 @@ bool pvAccessIsLoggable(pvAccessLogLevel level) namespace { -class FileLogger : public NoDefaultMethods { +class FileLogger { + EPICS_NOT_COPYABLE(FileLogger) public: FileLogger(std::string const & name) { logFile.open(name.data(), ios::app); diff --git a/src/utils/pv/configuration.h b/src/utils/pv/configuration.h index 2ec6894..f62c706 100644 --- a/src/utils/pv/configuration.h +++ b/src/utils/pv/configuration.h @@ -42,15 +42,14 @@ class ConfigurationStack; /** * Configuration */ -class epicsShareClass Configuration : private epics::pvData::NoDefaultMethods +class epicsShareClass Configuration { + EPICS_NOT_COPYABLE(Configuration) public: POINTER_DEFINITIONS(Configuration); - /** - * Destructor. - */ - virtual ~Configuration() {}; + Configuration() {} + virtual ~Configuration() =0; /** * Get the environment variable specified by name or return default value * if it does not exist. @@ -202,14 +201,13 @@ private: /** * Configuration provider. */ -class epicsShareClass ConfigurationProvider : private epics::pvData::NoDefaultMethods +class epicsShareClass ConfigurationProvider { + EPICS_NOT_COPYABLE(ConfigurationProvider) public: POINTER_DEFINITIONS(ConfigurationProvider); - /** - * Destructor. - */ - virtual ~ConfigurationProvider() {}; + ConfigurationProvider() {} + virtual ~ConfigurationProvider() {} /** * Return configuration specified by name. * @@ -234,7 +232,7 @@ public: /** * Destructor. Note: Registered configurations will be deleted!! */ - ~ConfigurationProviderImpl() {} + virtual ~ConfigurationProviderImpl() {} Configuration::shared_pointer getConfiguration(const std::string &name); void registerConfiguration(const std::string &name, Configuration::shared_pointer const & configuration); private: @@ -245,8 +243,9 @@ private: /** * Configuration factory. */ -class epicsShareClass ConfigurationFactory : private epics::pvData::NoDefaultMethods +class epicsShareClass ConfigurationFactory { + EPICS_NOT_COPYABLE(ConfigurationFactory) public: POINTER_DEFINITIONS(ConfigurationFactory); diff --git a/src/utils/pv/introspectionRegistry.h b/src/utils/pv/introspectionRegistry.h index c37bdaa..01fa575 100644 --- a/src/utils/pv/introspectionRegistry.h +++ b/src/utils/pv/introspectionRegistry.h @@ -42,7 +42,8 @@ typedef std::map registryMap_t; * Registry is used to cache introspection interfaces to minimize network traffic. * @author gjansa */ -class IntrospectionRegistry : public epics::pvData::NoDefaultMethods { +class IntrospectionRegistry { + EPICS_NOT_COPYABLE(IntrospectionRegistry) public: IntrospectionRegistry(); virtual ~IntrospectionRegistry();