ClientContextImpl

This commit is contained in:
Matej Sekoranja
2011-01-30 22:39:56 +01:00
parent f42834179c
commit 0c13ba72a3
5 changed files with 3674 additions and 3653 deletions

View File

@@ -70,3 +70,4 @@ pvAccessApp/utils/namedLockPattern.h
pvAccessApp/utils/referenceCountingLock.h
pvAccessApp/utils/transportRegistry.h
pvAccessApp/utils/wildcharMatcher.h
pvAccessApp/remoteClient/clientContextImpl.cpp

View File

@@ -72,6 +72,7 @@ LIBSRCS += abstractResponseHandler.cpp
SRC_DIRS += $(PVACCESS)/remoteClient
INC += clientContextImpl.h
LIBSRCS += clientContextImpl.cpp
LIBRARY = pvAccess

File diff suppressed because it is too large Load Diff

View File

@@ -19,54 +19,56 @@ namespace epics {
class ClientContextImpl;
class ChannelImpl :
public Channel ,
public TransportClient,
public TransportSender,
public BaseSearchInstance
{
public:
virtual pvAccessID getChannelID() = 0;
virtual void destroyChannel(bool force) = 0;
virtual void connectionCompleted(pvAccessID sid/*, rights*/) = 0;
virtual void createChannelFailed() = 0;
virtual ClientContextImpl* getContext() = 0;
virtual pvAccessID getServerChannelID() = 0;
virtual void registerResponseRequest(ResponseRequest* responseRequest) = 0;
virtual void unregisterResponseRequest(ResponseRequest* responseRequest) = 0;
virtual Transport* checkAndGetTransport() = 0;
virtual Transport* getTransport() = 0;
public Channel ,
public TransportClient,
public TransportSender,
public BaseSearchInstance
{
public:
virtual pvAccessID getChannelID() = 0;
virtual void destroyChannel(bool force) = 0;
virtual void connectionCompleted(pvAccessID sid/*, rights*/) = 0;
virtual void createChannelFailed() = 0;
virtual ClientContextImpl* getContext() = 0;
static Status* channelDestroyed;
static Status* channelDisconnected;
virtual pvAccessID getServerChannelID() = 0;
virtual void registerResponseRequest(ResponseRequest* responseRequest) = 0;
virtual void unregisterResponseRequest(ResponseRequest* responseRequest) = 0;
virtual Transport* checkAndGetTransport() = 0;
virtual Transport* getTransport() = 0;
};
static Status* channelDestroyed;
static Status* channelDisconnected;
};
class ClientContextImpl : public ClientContext, public Context
{
public:
public:
virtual ChannelSearchManager* getChannelSearchManager() = 0;
virtual void checkChannelName(String& name) = 0;
virtual void checkChannelName(String& name) = 0;
virtual void registerChannel(ChannelImpl* channel) = 0;
virtual void unregisterChannel(ChannelImpl* channel) = 0;
virtual void registerChannel(ChannelImpl* channel) = 0;
virtual void unregisterChannel(ChannelImpl* channel) = 0;
virtual void destroyChannel(ChannelImpl* channel, bool force) = 0;
virtual ChannelImpl* createChannelInternal(String name, ChannelRequester* requester, short priority, InetAddrVector* addresses) = 0;
virtual ResponseRequest* getResponseRequest(pvAccessID ioid) = 0;
virtual pvAccessID registerResponseRequest(ResponseRequest* request) = 0;
virtual ResponseRequest* unregisterResponseRequest(ResponseRequest* request) = 0;
virtual Transport* getTransport(TransportClient* client, osiSockAddr* serverAddress, int16 minorRevision, int16 priority) = 0;
virtual void beaconAnomalyNotify() = 0;
virtual BeaconHandler* getBeaconHandler(osiSockAddr* responseFrom) = 0;
virtual ChannelImpl* createChannelInternal(String name, ChannelRequester* requester, short priority, InetAddrVector* addresses) = 0;
virtual ResponseRequest* getResponseRequest(pvAccessID ioid) = 0;
virtual pvAccessID registerResponseRequest(ResponseRequest* request) = 0;
virtual ResponseRequest* unregisterResponseRequest(ResponseRequest* request) = 0;
virtual Transport* getTransport(TransportClient* client, osiSockAddr* serverAddress, int16 minorRevision, int16 priority) = 0;
virtual void beaconAnomalyNotify() = 0;
virtual BeaconHandler* getBeaconHandler(osiSockAddr* responseFrom) = 0;
};
extern ClientContextImpl* createClientContextImpl();
}
}

File diff suppressed because it is too large Load Diff