prepare for moving everything in src/V3IOC to pvAccessCPP

This commit is contained in:
Marty Kraimer
2014-02-04 09:21:50 -05:00
parent e8a9771d1e
commit 5d0718ab3a
12 changed files with 134 additions and 64 deletions

View File

@@ -12,6 +12,7 @@
#include <pv/serverContext.h>
#include <pv/channelProviderLocal.h>
#include <pv/traceRecord.h>
#include <pv/syncChannelFind.h>
namespace epics { namespace pvDatabase {
@@ -24,35 +25,6 @@ using std::endl;
static String providerName("local");
class MockChannelFind : public ChannelFind
{
public:
typedef std::tr1::shared_ptr<MockChannelFind> shared_pointer;
MockChannelFind(ChannelProvider::shared_pointer &provider) : m_provider(provider)
{
}
virtual ~MockChannelFind() {}
virtual void destroy()
{
// one instance for all, do not delete at all
}
virtual ChannelProvider::shared_pointer getChannelProvider()
{
return m_provider.lock();
};
virtual void cancelChannelFind()
{
throw std::runtime_error("not supported");
}
private:
ChannelProvider::weak_pointer m_provider;
};
class LocalChannelProviderFactory;
typedef std::tr1::shared_ptr<LocalChannelProviderFactory> LocalChannelProviderFactoryPtr;
@@ -96,7 +68,7 @@ ChannelProviderLocalPtr getChannelProviderLocal()
channelProviderLocal = ChannelProviderLocalPtr(
new ChannelProviderLocal());
ChannelProvider::shared_pointer xxx = dynamic_pointer_cast<ChannelProvider>(channelProviderLocal);
channelProviderLocal->channelFinder = MockChannelFind::shared_pointer(new MockChannelFind(xxx));
channelProviderLocal->channelFinder = SyncChannelFind::shared_pointer(new SyncChannelFind(xxx));
LocalChannelProviderFactory::create(channelProviderLocal);
}
return channelProviderLocal;
@@ -146,7 +118,7 @@ ChannelFind::shared_pointer ChannelProviderLocal::channelFind(
channelFinder,
false);
}
return ChannelFind::shared_pointer();
return channelFinder;
}
Channel::shared_pointer ChannelProviderLocal::createChannel(