move destroyable.h to pvAccessCPP

This commit is contained in:
Michael Davidsaver
2017-07-05 11:59:22 +02:00
parent 4fce663795
commit 888291db9a
3 changed files with 2 additions and 61 deletions

View File

@@ -7,7 +7,8 @@ Release 7.0 (XYZ 2017)
- Add pv/pvdVersion.h which is included by pv/pvIntrospect.h
- Remove monitor.h. Migrated to the pvAccessCPP module.
- Deprecated monitorPlugin.h is removed.
- Remove destroyable.h. Migrated to the pvAccessCPP module.
- Previously deprecated monitorPlugin.h is removed.
- Deprecate the following utility classes, to be removed in 8.0.
- epics::pvData::Queue
- epics::pvData::MessageQueue

View File

@@ -17,7 +17,6 @@ INC += pv/timeFunction.h
INC += pv/timer.h
INC += pv/queue.h
INC += pv/messageQueue.h
INC += pv/destroyable.h
INC += pv/status.h
INC += pv/sharedPtr.h
INC += pv/debugPtr.h

View File

@@ -1,59 +0,0 @@
/* destroyable.h */
/*
* Copyright information and license terms for this software can be
* found in the file LICENSE that is included with the distribution
*/
/**
* @author mse
*/
#ifndef DESTROYABLE_H
#define DESTROYABLE_H
#include <pv/sharedPtr.h>
#include <shareLib.h>
namespace epics { namespace pvData {
/**
* @brief Instance declaring destroy method.
*
* @author mse
*/
class epicsShareClass Destroyable {
public:
POINTER_DEFINITIONS(Destroyable);
/**
* Destroy this instance.
*/
virtual void destroy() = 0;
protected:
/**
* Do not allow delete on this instance and derived classes, destroy() must be used instead.
*/
virtual ~Destroyable() {};
public:
/** for use with shared_ptr<> when wrapping
*
@code
shared_ptr<foo> inner(new foo),
outer(inner.get, Destroyable::cleaner(inner));
@endcode
*/
class cleaner {
Destroyable::shared_pointer ptr;
public:
cleaner(const Destroyable::shared_pointer& ptr) :ptr(ptr) {}
void operator()(Destroyable*) {
Destroyable::shared_pointer P;
P.swap(ptr);
P->destroy();
}
};
};
}}
#endif /* DESTROYABLE_H */