added disconnect message to pvget/eget while monitoring
This commit is contained in:
+4
-1
@@ -1804,7 +1804,10 @@ int main (int argc, char *argv[])
|
||||
|
||||
if (monitor)
|
||||
{
|
||||
shared_ptr<MonitorRequesterImpl> monitorRequesterImpl(new MonitorRequesterImpl(channel->getChannelName()));
|
||||
shared_ptr<ChannelRequesterImpl> channelRequesterImpl = dynamic_pointer_cast<ChannelRequesterImpl>(channel->getChannelRequester());
|
||||
channelRequesterImpl->showDisconnectMessage();
|
||||
|
||||
shared_ptr<MonitorRequesterImpl> monitorRequesterImpl(new MonitorRequesterImpl(channel->getChannelName()));
|
||||
channel->createMonitor(monitorRequesterImpl, pvRequest);
|
||||
}
|
||||
else
|
||||
|
||||
@@ -527,7 +527,10 @@ int main (int argc, char *argv[])
|
||||
}
|
||||
else
|
||||
{
|
||||
shared_ptr<MonitorRequesterImpl> monitorRequesterImpl(new MonitorRequesterImpl(channel->getChannelName()));
|
||||
shared_ptr<ChannelRequesterImpl> channelRequesterImpl = dynamic_pointer_cast<ChannelRequesterImpl>(channel->getChannelRequester());
|
||||
channelRequesterImpl->showDisconnectMessage();
|
||||
|
||||
shared_ptr<MonitorRequesterImpl> monitorRequesterImpl(new MonitorRequesterImpl(channel->getChannelName()));
|
||||
Monitor::shared_pointer monitorGet = channel->createMonitor(monitorRequesterImpl, pvRequest);
|
||||
allOK &= true;
|
||||
}
|
||||
|
||||
+12
-3
@@ -212,7 +212,7 @@ char *url_encode(const char *str) {
|
||||
|
||||
|
||||
ChannelRequesterImpl::ChannelRequesterImpl(bool _printOnlyErrors) :
|
||||
printOnlyErrors(_printOnlyErrors)
|
||||
printOnlyErrors(_printOnlyErrors), showDisconnectMsg(false)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -243,13 +243,18 @@ void ChannelRequesterImpl::channelCreated(const epics::pvData::Status& status, C
|
||||
}
|
||||
}
|
||||
|
||||
void ChannelRequesterImpl::channelStateChange(Channel::shared_pointer const & /*channel*/, Channel::ConnectionState connectionState)
|
||||
void ChannelRequesterImpl::channelStateChange(Channel::shared_pointer const & channel, Channel::ConnectionState connectionState)
|
||||
{
|
||||
if (connectionState == Channel::CONNECTED)
|
||||
{
|
||||
m_event.signal();
|
||||
}
|
||||
/*
|
||||
else if (showDisconnectMsg && connectionState == Channel::DISCONNECTED)
|
||||
{
|
||||
std::cerr << std::setw(30) << std::left << channel->getChannelName()
|
||||
<< ' ' << "*** disconnected" << std::endl;
|
||||
}
|
||||
/*
|
||||
else if (connectionState != Channel::DESTROYED)
|
||||
{
|
||||
std::cerr << "[" << channel->getChannelName() << "] channel state change: " << Channel::ConnectionStateNames[connectionState] << std::endl;
|
||||
@@ -262,6 +267,10 @@ bool ChannelRequesterImpl::waitUntilConnected(double timeOut)
|
||||
return m_event.wait(timeOut);
|
||||
}
|
||||
|
||||
void ChannelRequesterImpl::showDisconnectMessage(bool show)
|
||||
{
|
||||
showDisconnectMsg = show;
|
||||
}
|
||||
|
||||
|
||||
GetFieldRequesterImpl::GetFieldRequesterImpl(epics::pvAccess::Channel::shared_pointer channel) :
|
||||
|
||||
@@ -53,7 +53,8 @@ class ChannelRequesterImpl :
|
||||
private:
|
||||
epics::pvData::Event m_event;
|
||||
bool printOnlyErrors;
|
||||
|
||||
bool showDisconnectMsg;
|
||||
|
||||
public:
|
||||
|
||||
ChannelRequesterImpl(bool printOnlyErrors = false);
|
||||
@@ -65,6 +66,7 @@ class ChannelRequesterImpl :
|
||||
virtual void channelStateChange(epics::pvAccess::Channel::shared_pointer const & channel, epics::pvAccess::Channel::ConnectionState connectionState);
|
||||
|
||||
bool waitUntilConnected(double timeOut);
|
||||
void showDisconnectMessage(bool show = true);
|
||||
};
|
||||
|
||||
class GetFieldRequesterImpl :
|
||||
@@ -98,4 +100,4 @@ struct dump_stack_only_on_debug
|
||||
dump_stack_only_on_debug(const epics::pvData::Status &s) : status(s) {}
|
||||
};
|
||||
|
||||
std::ostream& operator<<(std::ostream& os, const dump_stack_only_on_debug& d);
|
||||
std::ostream& operator<<(std::ostream& os, const dump_stack_only_on_debug& d);
|
||||
|
||||
Reference in New Issue
Block a user