move destroyable.h to pvAccessCPP
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 */
|
||||
Reference in New Issue
Block a user