ATLAS Offline Software
IAthenaIPCTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef ATHENAKERNEL_IATHENAIPCTOOL_H
6 #define ATHENAKERNEL_IATHENAIPCTOOL_H
7 
8 #include <string>
9 
10 #include "GaudiKernel/IAlgTool.h"
12 
13 static const InterfaceID IID_IAthenaIPCTool( "IAthenaIPCTool", 1, 0 );
14 
15 class IAthenaIPCTool : virtual public ::IAlgTool {
16 public:
17  static const InterfaceID& interfaceID() { return IID_IAthenaIPCTool; }
18 
19  virtual StatusCode makeServer(int num, const std::string& streamPortSuffix) = 0;
20  virtual bool isServer() const = 0;
21  virtual StatusCode makeClient(int num, std::string& streamPortSuffix) = 0;
22  virtual bool isClient() const = 0;
23 
24  virtual StatusCode putEvent ATLAS_NOT_THREAD_SAFE (long eventNumber, const void* source, size_t nbytes, unsigned int status) const = 0;
25  virtual StatusCode getLockedEvent(void** target, unsigned int& status) const = 0;
26  virtual StatusCode lockEvent(long eventNumber) const = 0;
27 
28  virtual StatusCode putObject(const void* source, size_t nbytes, int num = 0) = 0;
29  virtual StatusCode getObject(void** target, size_t& nbytes, int num = 0) = 0;
30  virtual StatusCode clearObject(const char** tokenString, int& num) = 0;
31  virtual StatusCode lockObject(const char* tokenString, int num = 0) = 0;
32 };
33 
34 #endif
IAthenaIPCTool::isServer
virtual bool isServer() const =0
IAthenaIPCTool::makeClient
virtual StatusCode makeClient(int num, std::string &streamPortSuffix)=0
IAthenaIPCTool
Definition: IAthenaIPCTool.h:15
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
IAthenaIPCTool::putObject
virtual StatusCode putObject(const void *source, size_t nbytes, int num=0)=0
xAOD::eventNumber
eventNumber
Definition: EventInfo_v1.cxx:124
IAthenaIPCTool::isClient
virtual bool isClient() const =0
IAthenaIPCTool::lockEvent
virtual StatusCode lockEvent(long eventNumber) const =0
trigbs_pickEvents.num
num
Definition: trigbs_pickEvents.py:76
IAthenaIPCTool::clearObject
virtual StatusCode clearObject(const char **tokenString, int &num)=0
IAthenaIPCTool::getObject
virtual StatusCode getObject(void **target, size_t &nbytes, int num=0)=0
IAthenaIPCTool::lockObject
virtual StatusCode lockObject(const char *tokenString, int num=0)=0
IAthenaIPCTool::ATLAS_NOT_THREAD_SAFE
virtual StatusCode putEvent ATLAS_NOT_THREAD_SAFE(long eventNumber, const void *source, size_t nbytes, unsigned int status) const =0
IAthenaIPCTool::interfaceID
static const InterfaceID & interfaceID()
Definition: IAthenaIPCTool.h:17
merge.status
status
Definition: merge.py:17
COOLRates.target
target
Definition: COOLRates.py:1106
IAthenaIPCTool::makeServer
virtual StatusCode makeServer(int num, const std::string &streamPortSuffix)=0
checker_macros.h
Define macros for attributes used to control the static checker.
IAthenaIPCTool::getLockedEvent
virtual StatusCode getLockedEvent(void **target, unsigned int &status) const =0