1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 <2016> 2017 2018 2019 2020 2021 2022 2023 2024 | Index | 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 <2016> 2017 2018 2019 2020 2021 2022 2023 2024 |
<== Date ==> | <== Thread ==> |
---|
Subject: | EPICS V4 question |
From: | Mark Rivers <[email protected]> |
To: | EPICS Tech-Talk <[email protected]> |
Date: | Sun, 9 Oct 2016 17:24:32 +0000 |
I have some EPICS V4 client code that basically does the following: class epicsShareClass pvaDriver : public ADDriver, public virtual epics::pvAccess::ChannelRequester, public virtual epics::pvData::MonitorRequester … try { ClientFactory::start(); m_provider = getChannelProviderRegistry()->getProvider("pva"); m_channel = m_provider->createChannel(m_pvName, m_thisPtr, m_priority); m_pvRequest = CreateRequest::create()->createRequest(m_request); m_monitor = m_channel->createMonitor(m_thisPtr, m_pvRequest); } catch (exception &ex) { … } The monitorConnect() and monitorEvent() methods are being called as expected, and everything is working. Now I want to extend the code to allow the current channel to be disconnected, and call m_provider->createChannel() to a different channel. What do I need to do for this? I found that if I just call m_provider->createChannel with a different
p_pvName it does not throw an exception, but it appears to simply stay connected to the existing channel. Thanks, Mark |