privatize some API details

hide a number of APIs which should not
be public APIs.
This commit is contained in:
Michael Davidsaver
2017-05-30 17:12:31 +02:00
parent 7c85e6073b
commit 277e5c33fb
21 changed files with 86 additions and 57 deletions

View File

@@ -2,6 +2,8 @@ TOP=..
include $(TOP)/configure/CONFIG
USR_CPPFLAGS += -I$(TOP)/src/remote
PROD_HOST += pvget
pvget_SRCS += pvget.cpp
pvget_LIBS += pvAccess pvData $(MBLIB) ca Com

View File

@@ -3,6 +3,7 @@
SRC_DIRS += $(PVACCESS_SRC)/pva
INC += pv/pvaConstants.h
INC += pv/pvaDefs.h
INC += pv/pvaVersion.h
INC += pv/pvaVersionNum.h
INC += pv/clientFactory.h

22
src/pva/pv/pvaDefs.h Normal file
View File

@@ -0,0 +1,22 @@
#ifndef PVADEFS_H
#define PVADEFS_H
#include <epicsTypes.h>
#include <epicsMutex.h>
#include <epicsGuard.h>
namespace epics {
namespace pvAccess {
/**
* Globally unique ID.
*/
typedef struct {
char value[12];
} GUID;
typedef epicsInt32 pvAccessID;
}}
#endif // PVADEFS_H

View File

@@ -2,16 +2,8 @@
SRC_DIRS += $(PVACCESS_SRC)/remote
INC += pv/remote.h
INC += pv/security.h
INC += pv/blockingUDP.h
INC += pv/beaconHandler.h
INC += pv/blockingTCP.h
INC += pv/channelSearchManager.h
INC += pv/simpleChannelSearchManagerImpl.h
INC += pv/transportRegistry.h
INC += pv/serializationHelper.h
INC += pv/codec.h
LIBSRCS += blockingUDPTransport.cpp
LIBSRCS += blockingUDPConnector.cpp

View File

@@ -22,6 +22,7 @@
# undef beaconHandlerEpicsExportSharedSymbols
#endif
#include <pv/pvaDefs.h>
#include <pv/remote.h>
#include <pv/pvAccess.h>

View File

@@ -19,7 +19,7 @@
# undef channelSearchManagerEpicsExportSharedSymbols
#endif
#include <pv/remote.h>
#include <pv/pvaDefs.h>
namespace epics {
namespace pvAccess {

View File

@@ -33,6 +33,7 @@
#include <pv/pvaConstants.h>
#include <pv/configuration.h>
#include <pv/fairQueue.h>
#include <pv/pvaDefs.h>
/// TODO only here because of the Lockable
#include <pv/pvAccess.h>
@@ -48,13 +49,6 @@ namespace pvAccess {
class TransportRegistry;
/**
* Globally unique ID.
*/
typedef struct {
char value[12];
} GUID;
enum QoS {
/**
* Default behavior.
@@ -94,8 +88,6 @@ enum QoS {
QOS_GET_PUT = 0x80
};
typedef epics::pvData::int32 pvAccessID;
enum ApplicationCommands {
CMD_BEACON = 0,
CMD_CONNECTION_VALIDATION = 1,

View File

@@ -25,7 +25,8 @@
# undef securityEpicsExportSharedSymbols
#endif
#include <pv/remote.h>
#include <pv/pvaDefs.h>
#include <pv/pvaConstants.h>
#include <pv/serializationHelper.h>
#include <pv/logger.h>
@@ -412,26 +413,6 @@ public:
}
};
class AuthNZHandler :
public AbstractResponseHandler,
private epics::pvData::NoDefaultMethods
{
public:
AuthNZHandler(Context* context) :
AbstractResponseHandler(context, "authNZ message")
{
}
virtual ~AuthNZHandler() {}
virtual void handleResponse(osiSockAddr* responseFrom,
Transport::shared_pointer const & transport,
epics::pvData::int8 version,
epics::pvData::int8 command,
size_t payloadSize,
epics::pvData::ByteBuffer* payloadBuffer);
};
class epicsShareClass SecurityPluginRegistry :
private epics::pvData::NoDefaultMethods
{

View File

@@ -0,0 +1,34 @@
#ifndef SECURITYIMPL_H
#define SECURITYIMPL_H
#include <pv/remote.h>
#include "security.h"
namespace epics {
namespace pvAccess {
class AuthNZHandler :
public AbstractResponseHandler,
private epics::pvData::NoDefaultMethods
{
public:
AuthNZHandler(Context* context) :
AbstractResponseHandler(context, "authNZ message")
{
}
virtual ~AuthNZHandler() {}
virtual void handleResponse(osiSockAddr* responseFrom,
Transport::shared_pointer const & transport,
epics::pvData::int8 version,
epics::pvData::int8 command,
size_t payloadSize,
epics::pvData::ByteBuffer* payloadBuffer);
};
}}
#endif // SECURITYIMPL_H

View File

@@ -22,6 +22,7 @@
#endif
#include <pv/channelSearchManager.h>
#include <pv/remote.h>
namespace epics {
namespace pvAccess {

View File

@@ -7,7 +7,7 @@
#include <osiProcess.h>
#define epicsExportSharedSymbols
#include <pv/security.h>
#include <pv/securityImpl.h>
using namespace epics::pvData;
using namespace epics::pvAccess;

View File

@@ -2,6 +2,4 @@
SRC_DIRS += $(PVACCESS_SRC)/remoteClient
INC += pv/clientContextImpl.h
LIBSRCS += clientContextImpl.cpp

View File

@@ -32,7 +32,7 @@
#include <pv/configuration.h>
#include <pv/beaconHandler.h>
#include <pv/logger.h>
#include <pv/security.h>
#include <pv/securityImpl.h>
#include <pv/pvAccessMB.h>

View File

@@ -21,19 +21,21 @@
#include <pv/pvAccess.h>
#include <pv/rpcService.h>
#include <pv/serverContextImpl.h>
#include <pv/serverContext.h>
#include <shareLib.h>
namespace epics {
namespace pvAccess {
class ServerContext;
class epicsShareClass RPCServer :
public std::tr1::enable_shared_from_this<RPCServer>
{
private:
ServerContextImpl::shared_pointer m_serverContext;
std::tr1::shared_ptr<ServerContext> m_serverContext;
ChannelProviderFactory::shared_pointer m_channelProviderFactory;
ChannelProvider::shared_pointer m_channelProviderImpl;

View File

@@ -10,6 +10,7 @@
#define epicsExportSharedSymbols
#include <pv/rpcServer.h>
#include <pv/serverContextImpl.h>
#include <pv/wildcard.h>
using namespace epics::pvData;
@@ -525,7 +526,7 @@ RPCServer::RPCServer()
m_channelProviderImpl = m_channelProviderFactory->sharedInstance();
m_serverContext = ServerContextImpl::create();
m_serverContext->setChannelProviderName(m_channelProviderImpl->getProviderName());
static_cast<ServerContextImpl*>(m_serverContext.get())->setChannelProviderName(m_channelProviderImpl->getProviderName());
m_serverContext->initialize(getChannelProviderRegistry());
}

View File

@@ -3,10 +3,7 @@
SRC_DIRS += $(PVACCESS_SRC)/server
INC += pv/serverContext.h
INC += pv/responseHandlers.h
INC += pv/serverChannelImpl.h
INC += pv/baseChannelRequester.h
INC += pv/beaconEmitter.h
INC += pv/beaconServerStatusProvider.h
LIBSRCS += responseHandlers.cpp

View File

@@ -7,15 +7,13 @@
#ifndef SERVERCONTEXT_H_
#define SERVERCONTEXT_H_
#include <pv/remote.h>
#include <epicsTime.h>
#include <pv/pvaDefs.h>
#include <pv/beaconServerStatusProvider.h>
#include <pv/pvaConstants.h>
#include <pv/pvaVersion.h>
#include <pv/pvAccess.h>
#include <pv/blockingUDP.h>
#include <pv/blockingTCP.h>
#include <pv/beaconEmitter.h>
#include <pv/logger.h>
#include <shareLib.h>

View File

@@ -1,6 +1,10 @@
#ifndef SERVERCONTEXTIMPL_H
#define SERVERCONTEXTIMPL_H
#include <pv/blockingUDP.h>
#include <pv/blockingTCP.h>
#include <pv/beaconEmitter.h>
#include "serverContext.h"
namespace epics {

View File

@@ -39,7 +39,7 @@
#include <pv/logger.h>
#include <pv/pvAccessMB.h>
#include <pv/rpcServer.h>
#include <pv/security.h>
#include <pv/securityImpl.h>
using std::string;
using std::ostringstream;

View File

@@ -653,7 +653,7 @@ ServerContext::shared_pointer startPVAServer(std::string const & providerNames,
if (runInSeparateThread)
{
// delete left to the thread
// delete left to the thread (which doesn't)
auto_ptr<ThreadRunnerParam> param(new ThreadRunnerParam());
param->ctx = ctx;
param->timeToRun = timeToRun;
@@ -665,6 +665,7 @@ ServerContext::shared_pointer startPVAServer(std::string const & providerNames,
threadRunner, param.get());
param.release();
// leak...
}
else
{

View File

@@ -3,7 +3,9 @@
TOP = ..
include $(TOP)/configure/CONFIG
USR_CPPFLAGS += -I$(TOP)/src/server/pv
USR_CPPFLAGS += -I$(TOP)/src/server
USR_CPPFLAGS += -I$(TOP)/src/remote
USR_CPPFLAGS += -I$(TOP)/src/remoteClient
PVACCESS_TEST = $(TOP)/testApp