This is Unofficial EPICS BASE Doxygen Site
pipelineServer.h
Go to the documentation of this file.
1 
7 #ifndef PIPELINESERVER_H
8 #define PIPELINESERVER_H
9 
10 #ifdef epicsExportSharedSymbols
11 # define pipelineServerEpicsExportSharedSymbols
12 # undef epicsExportSharedSymbols
13 #endif
14 
15 #include <pv/sharedPtr.h>
16 
17 #ifdef pipelineServerEpicsExportSharedSymbols
18 # define epicsExportSharedSymbols
19 # undef pipelineServerEpicsExportSharedSymbols
20 #endif
21 
22 #include <pv/pvAccess.h>
23 #include <pv/pipelineService.h>
24 #include <pv/serverContext.h>
25 
26 #include <shareLib.h>
27 
28 namespace epics {
29 namespace pvAccess {
30 
31 class PipelineChannelProvider;
32 
34  public std::tr1::enable_shared_from_this<PipelineServer>
35 {
36 private:
37 
38  ServerContext::shared_pointer m_serverContext;
39  std::tr1::shared_ptr<PipelineChannelProvider> m_channelProviderImpl;
40 
41  // TODO no thread poll implementation
42 
43 public:
45 
47 
48  virtual ~PipelineServer();
49 
50  void registerService(std::string const & serviceName, PipelineService::shared_pointer const & service);
51 
52  void unregisterService(std::string const & serviceName);
53 
54  void run(int seconds = 0);
55 
58  void runInNewThread(int seconds = 0);
59 
60  void destroy();
61 
65  void printInfo();
66 
67 };
68 
69 epicsShareFunc Channel::shared_pointer createPipelineChannel(ChannelProvider::shared_pointer const & provider,
70  std::string const & channelName,
71  ChannelRequester::shared_pointer const & channelRequester,
72  PipelineService::shared_pointer const & pipelineService);
73 
74 }
75 }
76 
77 #endif /* PIPELINESERVER_H */
#define epicsShareFunc
Definition: shareLib.h:209
TODO only here because of the Lockable.
Definition: ntaggregate.cpp:16
Mark external symbols and entry points for shared libraries.
Channel::shared_pointer createPipelineChannel(ChannelProvider::shared_pointer const &provider, std::string const &channelName, ChannelRequester::shared_pointer const &channelRequester, PipelineService::shared_pointer const &pipelineService)
#define POINTER_DEFINITIONS(clazz)
Definition: sharedPtr.h:198
#define epicsShareClass
Definition: shareLib.h:206