diff --git a/src/rpcService/pv/rpcServer.h b/src/rpcService/pv/rpcServer.h index 2f08d4b..6f520fa 100644 --- a/src/rpcService/pv/rpcServer.h +++ b/src/rpcService/pv/rpcServer.h @@ -29,6 +29,7 @@ namespace epics { namespace pvAccess { class ServerContext; +class RPCChannelProvider; class epicsShareClass RPCServer : public std::tr1::enable_shared_from_this @@ -36,7 +37,7 @@ class epicsShareClass RPCServer : private: std::tr1::shared_ptr m_serverContext; - ChannelProvider::shared_pointer m_channelProviderImpl; + std::tr1::shared_ptr m_channelProviderImpl; public: POINTER_DEFINITIONS(RPCServer); diff --git a/src/rpcService/rpcServer.cpp b/src/rpcService/rpcServer.cpp index c219624..b418583 100644 --- a/src/rpcService/rpcServer.cpp +++ b/src/rpcService/rpcServer.cpp @@ -481,12 +481,12 @@ void RPCServer::destroy() void RPCServer::registerService(std::string const & serviceName, RPCServiceAsync::shared_pointer const & service) { - std::tr1::dynamic_pointer_cast(m_channelProviderImpl)->registerService(serviceName, service); + m_channelProviderImpl->registerService(serviceName, service); } void RPCServer::unregisterService(std::string const & serviceName) { - std::tr1::dynamic_pointer_cast(m_channelProviderImpl)->unregisterService(serviceName); + m_channelProviderImpl->unregisterService(serviceName); } }