SharedPV move internal names under detail::
This commit is contained in:
@ -226,9 +226,9 @@ void providerRegInit(void*)
|
||||
registerRefCounter("ResponseHandler (ABC)", &ResponseHandler::num_instances);
|
||||
registerRefCounter("MonitorFIFO", &MonitorFIFO::num_instances);
|
||||
pvas::registerRefTrackServer();
|
||||
registerRefCounter("pvas::SharedChannel", &pvas::SharedChannel::num_instances);
|
||||
registerRefCounter("pvas::SharedPut", &pvas::SharedPut::num_instances);
|
||||
registerRefCounter("pvas::SharedRPC", &pvas::SharedRPC::num_instances);
|
||||
registerRefCounter("pvas::SharedChannel", &pvas::detail::SharedChannel::num_instances);
|
||||
registerRefCounter("pvas::SharedPut", &pvas::detail::SharedPut::num_instances);
|
||||
registerRefCounter("pvas::SharedRPC", &pvas::detail::SharedRPC::num_instances);
|
||||
registerRefCounter("pvas::SharedPV", &pvas::SharedPV::num_instances);
|
||||
}
|
||||
|
||||
|
@ -33,10 +33,12 @@ void providerRegInit(void*);
|
||||
|
||||
namespace pvas {
|
||||
|
||||
namespace detail {
|
||||
struct SharedChannel;
|
||||
struct SharedMonitorFIFO;
|
||||
struct SharedPut;
|
||||
struct SharedRPC;
|
||||
}
|
||||
|
||||
struct Operation;
|
||||
|
||||
@ -74,10 +76,10 @@ struct Operation;
|
||||
class epicsShareClass SharedPV
|
||||
: public pvas::StaticProvider::ChannelBuilder
|
||||
{
|
||||
friend struct SharedChannel;
|
||||
friend struct SharedMonitorFIFO;
|
||||
friend struct SharedPut;
|
||||
friend struct SharedRPC;
|
||||
friend struct detail::SharedChannel;
|
||||
friend struct detail::SharedMonitorFIFO;
|
||||
friend struct detail::SharedPut;
|
||||
friend struct detail::SharedRPC;
|
||||
public:
|
||||
POINTER_DEFINITIONS(SharedPV);
|
||||
struct epicsShareClass Config {
|
||||
@ -188,11 +190,11 @@ private:
|
||||
|
||||
std::tr1::shared_ptr<SharedPV::Handler> handler;
|
||||
|
||||
typedef std::list<SharedPut*> puts_t;
|
||||
typedef std::list<SharedRPC*> rpcs_t;
|
||||
typedef std::list<SharedMonitorFIFO*> monitors_t;
|
||||
typedef std::list<detail::SharedPut*> puts_t;
|
||||
typedef std::list<detail::SharedRPC*> rpcs_t;
|
||||
typedef std::list<detail::SharedMonitorFIFO*> monitors_t;
|
||||
typedef std::list<std::tr1::weak_ptr<epics::pvAccess::GetFieldRequester> > getfields_t;
|
||||
typedef std::list<SharedChannel*> channels_t;
|
||||
typedef std::list<detail::SharedChannel*> channels_t;
|
||||
|
||||
std::tr1::shared_ptr<const epics::pvData::Structure> type;
|
||||
|
||||
@ -226,8 +228,8 @@ struct epicsShareClass Operation {
|
||||
private:
|
||||
std::tr1::shared_ptr<Impl> impl;
|
||||
|
||||
friend struct SharedPut;
|
||||
friend struct SharedRPC;
|
||||
friend struct detail::SharedPut;
|
||||
friend struct detail::SharedRPC;
|
||||
explicit Operation(const std::tr1::shared_ptr<Impl> impl);
|
||||
public:
|
||||
Operation() {} //!< create empty op for later assignment
|
||||
|
@ -23,6 +23,7 @@
|
||||
#include "sharedstateimpl.h"
|
||||
|
||||
namespace pvas {
|
||||
namespace detail {
|
||||
|
||||
size_t SharedChannel::num_instances;
|
||||
|
||||
@ -268,6 +269,8 @@ SharedMonitorFIFO::~SharedMonitorFIFO()
|
||||
channel->owner->monitors.remove(this);
|
||||
}
|
||||
|
||||
} // namespace detail
|
||||
|
||||
Operation::Operation(const std::tr1::shared_ptr<Impl> impl)
|
||||
:impl(impl)
|
||||
{}
|
||||
|
@ -26,9 +26,9 @@
|
||||
namespace {
|
||||
struct PutOP : public pvas::Operation::Impl
|
||||
{
|
||||
const std::tr1::shared_ptr<pvas::SharedPut> op;
|
||||
const std::tr1::shared_ptr<pvas::detail::SharedPut> op;
|
||||
|
||||
PutOP(const std::tr1::shared_ptr<pvas::SharedPut>& op,
|
||||
PutOP(const std::tr1::shared_ptr<pvas::detail::SharedPut>& op,
|
||||
const pvd::PVStructure::const_shared_pointer& pvRequest,
|
||||
const pvd::PVStructure::const_shared_pointer& value,
|
||||
const pvd::BitSet& changed)
|
||||
@ -69,6 +69,7 @@ struct PutOP : public pvas::Operation::Impl
|
||||
|
||||
|
||||
namespace pvas {
|
||||
namespace detail {
|
||||
|
||||
size_t SharedPut::num_instances;
|
||||
|
||||
@ -178,4 +179,4 @@ void SharedPut::get()
|
||||
req->getDone(sts, shared_from_this(), current, changed);
|
||||
}
|
||||
|
||||
} // namespace pvas
|
||||
}} // namespace pvas::detail
|
||||
|
@ -106,13 +106,13 @@ bool SharedPV::isOpen() const
|
||||
|
||||
namespace {
|
||||
struct PutInfo { // oh to be able to use std::tuple ...
|
||||
std::tr1::shared_ptr<SharedPut> put;
|
||||
std::tr1::shared_ptr<detail::SharedPut> put;
|
||||
pvd::StructureConstPtr type;
|
||||
pvd::Status status;
|
||||
PutInfo(const std::tr1::shared_ptr<SharedPut>& put, const pvd::StructureConstPtr& type, const pvd::Status& status)
|
||||
PutInfo(const std::tr1::shared_ptr<detail::SharedPut>& put, const pvd::StructureConstPtr& type, const pvd::Status& status)
|
||||
:put(put), type(type), status(status)
|
||||
{}
|
||||
PutInfo(const std::tr1::shared_ptr<SharedPut>& put, const pvd::StructureConstPtr& type, const std::string& message)
|
||||
PutInfo(const std::tr1::shared_ptr<detail::SharedPut>& put, const pvd::StructureConstPtr& type, const std::string& message)
|
||||
:put(put), type(type)
|
||||
{
|
||||
if(!message.empty())
|
||||
@ -124,7 +124,7 @@ struct PutInfo { // oh to be able to use std::tuple ...
|
||||
void SharedPV::open(const pvd::PVStructure &value, const epics::pvData::BitSet& valid)
|
||||
{
|
||||
typedef std::vector<PutInfo> xputs_t;
|
||||
typedef std::vector<std::tr1::shared_ptr<SharedRPC> > xrpcs_t;
|
||||
typedef std::vector<std::tr1::shared_ptr<detail::SharedRPC> > xrpcs_t;
|
||||
typedef std::vector<std::tr1::shared_ptr<pva::MonitorFIFO> > xmonitors_t;
|
||||
typedef std::vector<std::tr1::shared_ptr<pva::GetFieldRequester> > xgetfields_t;
|
||||
|
||||
@ -189,7 +189,7 @@ void SharedPV::open(const pvd::PVStructure &value, const epics::pvData::BitSet&
|
||||
}
|
||||
// unlock for callbacks
|
||||
FOR_EACH(xputs_t::iterator, it, end, p_put) {
|
||||
SharedPut::requester_type::shared_pointer requester(it->put->requester.lock());
|
||||
detail::SharedPut::requester_type::shared_pointer requester(it->put->requester.lock());
|
||||
if(requester) {
|
||||
if(it->status.getType()==pvd::Status::STATUSTYPE_WARNING)
|
||||
requester->message(it->status.getMessage(), pvd::warningMessage);
|
||||
@ -197,7 +197,7 @@ void SharedPV::open(const pvd::PVStructure &value, const epics::pvData::BitSet&
|
||||
}
|
||||
}
|
||||
FOR_EACH(xrpcs_t::iterator, it, end, p_rpc) {
|
||||
SharedRPC::requester_type::shared_pointer requester((*it)->requester.lock());
|
||||
detail::SharedRPC::requester_type::shared_pointer requester((*it)->requester.lock());
|
||||
if(requester) requester->channelRPCConnect(pvd::Status(), *it);
|
||||
}
|
||||
FOR_EACH(xmonitors_t::iterator, it, end, p_monitor) {
|
||||
@ -225,7 +225,7 @@ void SharedPV::close(bool destroy)
|
||||
typedef std::vector<std::tr1::shared_ptr<pva::ChannelPutRequester> > xputs_t;
|
||||
typedef std::vector<std::tr1::shared_ptr<pva::ChannelRPCRequester> > xrpcs_t;
|
||||
typedef std::vector<std::tr1::shared_ptr<pva::MonitorFIFO> > xmonitors_t;
|
||||
typedef std::vector<std::tr1::shared_ptr<SharedChannel> > xchannels_t;
|
||||
typedef std::vector<std::tr1::shared_ptr<detail::SharedChannel> > xchannels_t;
|
||||
|
||||
xputs_t p_put;
|
||||
xrpcs_t p_rpc;
|
||||
@ -357,7 +357,7 @@ SharedPV::connect(const std::tr1::shared_ptr<epics::pvAccess::ChannelProvider> &
|
||||
const std::tr1::shared_ptr<pva::ChannelRequester>& requester)
|
||||
{
|
||||
shared_pointer self(internal_self);
|
||||
std::tr1::shared_ptr<SharedChannel> ret(new SharedChannel(self, provider, channelName, requester));
|
||||
std::tr1::shared_ptr<detail::SharedChannel> ret(new detail::SharedChannel(self, provider, channelName, requester));
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -25,9 +25,9 @@
|
||||
namespace {
|
||||
struct RPCOP : public pvas::Operation::Impl
|
||||
{
|
||||
const std::tr1::shared_ptr<pvas::SharedRPC> op;
|
||||
const std::tr1::shared_ptr<pvas::detail::SharedRPC> op;
|
||||
|
||||
RPCOP(const std::tr1::shared_ptr<pvas::SharedRPC>& op,
|
||||
RPCOP(const std::tr1::shared_ptr<pvas::detail::SharedRPC>& op,
|
||||
const pvd::PVStructure::const_shared_pointer& pvRequest,
|
||||
const pvd::PVStructure::const_shared_pointer& value)
|
||||
:Impl(pvRequest, value, pvd::BitSet().set(0))
|
||||
@ -75,6 +75,7 @@ struct RPCOP : public pvas::Operation::Impl
|
||||
}
|
||||
|
||||
namespace pvas {
|
||||
namespace detail {
|
||||
|
||||
size_t SharedRPC::num_instances;
|
||||
|
||||
@ -137,4 +138,4 @@ void SharedRPC::request(epics::pvData::PVStructure::shared_pointer const & pvArg
|
||||
}
|
||||
|
||||
|
||||
} // namespace pvas
|
||||
}} // namespace pvas::detail
|
||||
|
@ -20,6 +20,7 @@ typedef epicsGuard<epicsMutex> Guard;
|
||||
typedef epicsGuardRelease<epicsMutex> UnGuard;
|
||||
|
||||
namespace pvas {
|
||||
namespace detail {
|
||||
|
||||
struct SharedChannel : public pva::Channel,
|
||||
public std::tr1::enable_shared_from_this<SharedChannel>
|
||||
@ -124,6 +125,8 @@ struct SharedRPC : public pva::ChannelRPC,
|
||||
virtual void request(epics::pvData::PVStructure::shared_pointer const & pvArgument) OVERRIDE FINAL;
|
||||
};
|
||||
|
||||
} // namespace detail
|
||||
|
||||
struct Operation::Impl
|
||||
{
|
||||
static size_t num_instances;
|
||||
|
Reference in New Issue
Block a user