JobOptionsSvc.h
Go to the documentation of this file.
1 #ifndef JOBOPTIONSSVC_H_
2 #define JOBOPTIONSSVC_H_
3 
7 #include "GaudiKernel/Property.h"
9 #include "GaudiKernel/Service.h"
10 
11 #include "SvcCatalog.h"
12 
13 #include <vector>
14 
15 namespace Gaudi { namespace Parsers {
16  class Catalog;
17 }}
18 
19 
20 class JobOptionsSvc : public extends<Service,
21  IProperty,
22  IJobOptionsSvc> {
23  public:
25  // unhides some of Service's methods
29  // Constructor
32  ~JobOptionsSvc() override = default;
33  StatusCode initialize () override;
34 
40  IProperty* me ) override ;
41 
44  const Property& property ) override;
45 
48  const std::string& name ) override;
51  getProperties( const std::string& client) const override;
52 
54  std::vector<std::string> getClients() const override;
55 
63  const std::string& path = "" ) override;
64 
66  StatusCode setProperty(const Property& p) override;
67  StatusCode getProperty(Property *p) const override;
68  private:
69  void fillServiceCatalog(const Gaudi::Parsers::Catalog& catalog);
70  void dump (const std::string& file,
71  const Gaudi::Parsers::Catalog& catalog) const ;
73 
74  private:
83 };
84 #endif /* JOBOPTIONSSVC_H_ */
void fillServiceCatalog(const Gaudi::Parsers::Catalog &catalog)
The ISvcLocator is the interface implemented by the Service Factory in the Application Manager to loc...
Definition: ISvcLocator.h:25
std::vector< std::string > getClients() const override
Get the list of clients.
std::string m_source_type
Definition: JobOptionsSvc.h:77
std::string m_pythonAction
Definition: JobOptionsSvc.h:80
SvcCatalog m_svc_catalog
Definition: JobOptionsSvc.h:82
StatusCode setProperty(const Property &p) override
Definition: Service.cpp:330
Property manager helper class.
Definition: PropertyMgr.h:37
StatusCode getProperty(Property *p) const override
std::string m_dir_search_path
Definition: JobOptionsSvc.h:78
STL class.
const std::string & name() const override
Retrieve name of the service.
Definition: Service.cpp:319
const std::vector< Property * > & getProperties() const override
Definition: Service.cpp:354
void dump(const std::string &file, const Gaudi::Parsers::Catalog &catalog) const
StatusCode setMyProperties(const std::string &client, IProperty *me) override
Override default properties of the calling client.
StatusCode setProperty(const Property &p) override
IProperty implementation (needed for initialisation)
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:26
std::string m_dump
Definition: JobOptionsSvc.h:79
list file
Definition: ana.py:160
GAUDI_API std::string path(const AIDA::IBaseHistogram *aida)
get the path in THS for AIDA histogram
~JobOptionsSvc() override=default
destructor
Property base class allowing Property* collections to be "homogeneous".
Definition: Property.h:38
STL class.
Base class used to extend a class implementing other interfaces.
Definition: extends.h:10
StatusCode getProperty(Property *p) const override
Definition: Service.cpp:342
StatusCode readOptions(const std::string &file, const std::string &path="") override
look for file 'file' into search path 'path' and read it to update existing JobOptionsCatalogue ...
StatusCode removePropertyFromCatalogue(const std::string &client, const std::string &name) override
Remove a property from the JobOptions catalog.
StatusCode addPropertyToCatalogue(const std::string &client, const Property &property) override
Add a property into the JobOptions catalog.
StatusCode initialize() override
std::string m_pythonParams
Definition: JobOptionsSvc.h:81
JobOptionsSvc(const std::string &name, ISvcLocator *svc)
PropertyMgr m_pmgr
dump the content of Properties catalog to the predefined file
Definition: JobOptionsSvc.h:75
std::vector< const Property * > PropertiesT
Definition: JobOptionsSvc.h:24
The IProperty is the basic interface for all components which have properties that can be set or get...
Definition: IProperty.h:21
std::string m_source_path
Definition: JobOptionsSvc.h:76
Helper functions to set/get the application return code.
Definition: __init__.py:1