interim commit
This commit is contained in:
@ -807,6 +807,7 @@ void ChannelLocal::destroy()
|
||||
if(beingDestroyed) return;
|
||||
beingDestroyed = true;
|
||||
}
|
||||
pvRecord->removePVRecordClient(getPtrSelf());
|
||||
while(true) {
|
||||
std::multiset<ChannelProcess::shared_pointer>::iterator it;
|
||||
it = channelProcessList.begin();
|
||||
@ -852,6 +853,10 @@ void ChannelLocal::destroy()
|
||||
provider->removeChannel(getPtrSelf());
|
||||
}
|
||||
|
||||
void ChannelLocal::detach(PVRecordPtr const & pvRecord)
|
||||
{
|
||||
destroy();
|
||||
}
|
||||
|
||||
void ChannelLocal::addChannelProcess(ChannelProcess::shared_pointer const & channelProcess)
|
||||
{
|
||||
|
@ -221,6 +221,7 @@ Channel::shared_pointer ChannelProviderLocal::createChannel(
|
||||
std::cout << "ChannelProviderLocal::createChannel";
|
||||
std::cout << " channelName " << channelName << std::endl;
|
||||
}
|
||||
pvRecord->addPVRecordClient(channel);
|
||||
channelList.insert(channel);
|
||||
return channel;
|
||||
}
|
||||
|
@ -137,6 +137,7 @@ private:
|
||||
|
||||
class ChannelLocal :
|
||||
public epics::pvAccess::Channel,
|
||||
public PVRecordClient,
|
||||
public std::tr1::enable_shared_from_this<ChannelLocal>
|
||||
{
|
||||
public:
|
||||
@ -190,6 +191,7 @@ public:
|
||||
epics::pvData::PVStructurePtr const &pvRequest);
|
||||
virtual void printInfo();
|
||||
virtual void printInfo(epics::pvData::StringBuilder out);
|
||||
virtual void detach(PVRecordPtr const &pvRecord);
|
||||
// following called by derived classes
|
||||
void addChannelProcess(epics::pvAccess::ChannelProcess::shared_pointer const &);
|
||||
void addChannelGet(epics::pvAccess::ChannelGet::shared_pointer const &);
|
||||
|
Reference in New Issue
Block a user