Destruction.

This commit is contained in:
Matej Sekoranja
2010-12-20 19:48:06 +01:00
parent 55a3a9a837
commit 84b22522cb

View File

@@ -32,6 +32,8 @@ namespace epics { namespace pvAccess {
enum ConnectionState {
NEVER_CONNECTED, CONNECTED, DISCONNECTED, DESTROYED
};
const char* ConnectionStateNames[] = { "NEVER_CONNECTED", "CONNECTED", "DISCONNECTED", "DESTROYED" };
class Channel;
@@ -118,7 +120,7 @@ namespace epics { namespace pvAccess {
* @author mrk
*
*/
class ChannelFind {
class ChannelFind : public epics::pvData::Destroyable, private epics::pvData::NoDefaultMethods {
public:
virtual ChannelProvider* getChannelProvider() = 0;
virtual void cancelChannelFind() = 0;
@@ -592,6 +594,7 @@ namespace epics { namespace pvAccess {
*/
class ChannelAccess : private epics::pvData::NoDefaultMethods {
public:
virtual ~ChannelAccess() {};
/**
* Get the provider with the specified name.
@@ -617,7 +620,7 @@ namespace epics { namespace pvAccess {
* @author mrk
*
*/
class ChannelProvider : private epics::pvData::NoDefaultMethods {
class ChannelProvider : public epics::pvData::Destroyable, private epics::pvData::NoDefaultMethods {
public:
/** Minimal priority. */
@@ -633,11 +636,6 @@ namespace epics { namespace pvAccess {
/** OPI priority. */
static const short PRIORITY_OPI = PRIORITY_MIN;
/**
* Terminate.
*/
virtual void destroy() = 0;
/**
* Get the provider name.
* @return The name.
@@ -659,7 +657,7 @@ namespace epics { namespace pvAccess {
* @param priority channel priority, must be <code>PRIORITY_MIN</code> <= priority <= <code>PRIORITY_MAX</code>.
* @return <code>Channel</code> instance. If channel does not exist <code>null</code> is returned and <code>channelRequester</code> notified.
*/
virtual Channel* createChannel(epics::pvData::String channelName,ChannelRequester *channelRequester,short priority) = 0;
virtual Channel* createChannel(epics::pvData::String channelName,ChannelRequester *channelRequester,short priority = PRIORITY_DEFAULT) = 0;
/**
* Create a channel.
@@ -684,7 +682,7 @@ namespace epics { namespace pvAccess {
* Get context implementation version.
* @return version of the context implementation.
*/
virtual const Version* getVersion() = 0;
virtual Version* getVersion() = 0;
/**
* Initialize client context. This method is called immediately after instance construction (call of constructor).
@@ -695,7 +693,7 @@ namespace epics { namespace pvAccess {
* Get channel provider implementation.
* @return the channel provider.
*/
virtual const ChannelProvider* getProvider() = 0;
virtual ChannelProvider* getProvider() = 0;
/**
* Prints detailed information about the context to the standard output stream.