Definition at line 449 of file pipelineServer.cpp.
epics::pvAccess::PipelineChannelProvider::PipelineChannelProvider |
( |
| ) |
|
|
inline |
virtual void epics::pvAccess::PipelineChannelProvider::cancel |
( |
| ) |
|
|
inlinevirtual |
virtual ChannelFind::shared_pointer epics::pvAccess::PipelineChannelProvider::channelFind |
( |
std::string const & |
name, |
|
|
ChannelFindRequester::shared_pointer const & |
requester |
|
) |
| |
|
inlinevirtual |
Test to see if this provider has the named channel.
May call ChannelFindRequester::channelFindResult() before returning, or at some time later. If an exception is thrown, then channelFindResult() will never be called.
- Parameters
-
name | The channel name. |
requester | The Requester. |
- Returns
- An unique()==true handle for the pending response. May only return NULL if channelFindResult() called with an Error
Implements epics::pvAccess::ChannelProvider.
Definition at line 479 of file pipelineServer.cpp.
485 found = (m_services.find(channelName) != m_services.end()) ||
486 findWildService(channelName);
488 ChannelFind::shared_pointer thisPtr(shared_from_this());
489 channelFindRequester->channelFindResult(
Status::Ok, thisPtr, found);
A lock for multithreading.
virtual ChannelFind::shared_pointer epics::pvAccess::PipelineChannelProvider::channelList |
( |
ChannelListRequester::shared_pointer const & |
requester | ) |
|
|
inlinevirtual |
Request a list of all valid channel names for this provider.
May call ChannelListRequester::channelListResult() before returning, or at some time later. If an exception is thrown, then channelListResult() will never be called.
- Parameters
-
- Returns
- An unique()==true handle for the pending response. May only return NULL if channelFindResult() called with an Error
Reimplemented from epics::pvAccess::ChannelProvider.
Definition at line 494 of file pipelineServer.cpp.
497 if (!channelListRequester.get())
498 throw std::runtime_error(
"null requester");
503 channelNames.
reserve(m_services.size());
504 for (PipelineServiceMap::const_iterator iter = m_services.begin();
505 iter != m_services.end();
510 ChannelFind::shared_pointer thisPtr(shared_from_this());
511 channelListRequester->channelListResult(
Status::Ok, thisPtr, freeze(channelNames),
false);
A holder for a contiguous piece of memory.
A lock for multithreading.
void push_back(param_type v)
void reserve(size_t i)
Set array capacity.
virtual Channel::shared_pointer epics::pvAccess::PipelineChannelProvider::createChannel |
( |
std::string const & |
name, |
|
|
ChannelRequester::shared_pointer const & |
requester, |
|
|
short |
priority |
|
) |
| |
|
inlinevirtual |
See longer form
Reimplemented from epics::pvAccess::ChannelProvider.
Definition at line 515 of file pipelineServer.cpp.
520 PipelineService::shared_pointer service;
522 PipelineServiceMap::const_iterator iter;
525 iter = m_services.find(channelName);
527 if (iter != m_services.end())
528 service = iter->second;
532 service = findWildService(channelName);
536 Channel::shared_pointer nullChannel;
542 std::tr1::shared_ptr<PipelineChannel> tp(
548 Channel::shared_pointer pipelineChannel = tp;
549 channelRequester->channelCreated(
Status::Ok, pipelineChannel);
550 return pipelineChannel;
A lock for multithreading.
static const Status noSuchChannelStatus
virtual Channel::shared_pointer epics::pvAccess::PipelineChannelProvider::createChannel |
( |
std::string const & |
name, |
|
|
ChannelRequester::shared_pointer const & |
requester, |
|
|
short |
priority, |
|
|
std::string const & |
address |
|
) |
| |
|
inlinevirtual |
virtual void epics::pvAccess::PipelineChannelProvider::destroy |
( |
| ) |
|
|
inlinevirtual |
virtual std::tr1::shared_ptr<ChannelProvider> epics::pvAccess::PipelineChannelProvider::getChannelProvider |
( |
| ) |
|
|
inlinevirtual |
virtual string epics::pvAccess::PipelineChannelProvider::getProviderName |
( |
| ) |
|
|
inlinevirtual |
void epics::pvAccess::PipelineChannelProvider::registerService |
( |
std::string const & |
serviceName, |
|
|
PipelineService::shared_pointer const & |
service |
|
) |
| |
|
inline |
Definition at line 563 of file pipelineServer.cpp.
566 m_services[serviceName] = service;
568 if (isWildcardPattern(serviceName))
569 m_wildServices.push_back(std::make_pair(serviceName, service));
A lock for multithreading.
void epics::pvAccess::PipelineChannelProvider::unregisterService |
( |
std::string const & |
serviceName | ) |
|
|
inline |
Definition at line 572 of file pipelineServer.cpp.
575 m_services.erase(serviceName);
577 if (isWildcardPattern(serviceName))
579 for (PipelineWildServiceList::iterator iter = m_wildServices.begin();
580 iter != m_wildServices.end();
582 if (iter->first == serviceName)
584 m_wildServices.erase(iter);
A lock for multithreading.
const Status epics::pvAccess::PipelineChannelProvider::noSuchChannelStatus |
|
static |
const string epics::pvAccess::PipelineChannelProvider::PROVIDER_NAME |
|
static |
The documentation for this class was generated from the following file: