From 804e6efd12b26530cccf6245cdd215955cfdd9f6 Mon Sep 17 00:00:00 2001 From: Charles Leggett <charles.g.leggett@gmail.com> Date: Thu, 22 Dec 2016 06:46:51 +0100 Subject: [PATCH] updates for Property modernization (TrigConfigSvc-01-01-75) * HLTJobOptionsSvc: added getClientProperty() for Gaudi v28 compat * don't forward declare Property * tag TrigConfigSvc-01-01-75 M TrigConfigSvc/HLTJobOptionsSvc.h M TrigConfigSvc/JobOptionsCatalogue.h M TrigConfigSvc/JobOptionsList.h M src/HLTJobOptionsSvc.cxx 2016-12-16 Stewart Martin-Haugh <smh@cern.ch> * Pass strings by const reference (ATR-15683) * TrigConfigSvc-01-01-74 Former-commit-id: 200b7959e0a0c4d66f0198bfa3b2e5de41da8623 --- .../TrigConfigSvc/HLTJobOptionsSvc.h | 6 ++++++ .../TrigConfigSvc/JobOptionsCatalogue.h | 7 +++---- .../TrigConfigSvc/JobOptionsList.h | 8 +++----- .../TrigConfigSvc/src/HLTJobOptionsSvc.cxx | 18 ++++++++++++++++++ .../TrigConfigSvc/src/JobOptionsCatalogue.cxx | 4 ++-- .../TrigConfigSvc/src/JobOptionsList.cxx | 4 ++-- 6 files changed, 34 insertions(+), 13 deletions(-) diff --git a/Trigger/TrigConfiguration/TrigConfigSvc/TrigConfigSvc/HLTJobOptionsSvc.h b/Trigger/TrigConfiguration/TrigConfigSvc/TrigConfigSvc/HLTJobOptionsSvc.h index a8064c1b551..47e3d4580d4 100644 --- a/Trigger/TrigConfiguration/TrigConfigSvc/TrigConfigSvc/HLTJobOptionsSvc.h +++ b/Trigger/TrigConfiguration/TrigConfigSvc/TrigConfigSvc/HLTJobOptionsSvc.h @@ -70,6 +70,12 @@ namespace TrigConf { virtual const std::vector<Property*> & getProperties() const { return Service::getProperties(); } + /// Get a property for a client + virtual const Property* + getClientProperty( const std::string& client, + const std::string& name ) const; + + /// implementation of IJobOptionsSvc::getClients virtual std::vector<std::string> getClients() const; diff --git a/Trigger/TrigConfiguration/TrigConfigSvc/TrigConfigSvc/JobOptionsCatalogue.h b/Trigger/TrigConfiguration/TrigConfigSvc/TrigConfigSvc/JobOptionsCatalogue.h index 594e342649d..8c9eb9bf486 100644 --- a/Trigger/TrigConfiguration/TrigConfigSvc/TrigConfigSvc/JobOptionsCatalogue.h +++ b/Trigger/TrigConfiguration/TrigConfigSvc/TrigConfigSvc/JobOptionsCatalogue.h @@ -10,12 +10,11 @@ #include <vector> #include "GaudiKernel/StatusCode.h" +#include "GaudiKernel/Property.h" #include "TrigConfigSvc/JobOptionsList.h" class MsgStream; -class Property; - namespace TrigConf { /** @brief Collection of JobOptionsList 's, one for each algorithm*/ @@ -34,7 +33,7 @@ namespace TrigConf { * * @param[in] myOpt property to be added */ - virtual void addOption( const std::string myAlg, const Property* const& myOpt ); + virtual void addOption( const std::string& myAlg, const Property* const& myOpt ); /**@brief retrieve all properties of an algorithm * @@ -84,7 +83,7 @@ namespace TrigConf { * * @returns StatusCode about the success of the operation (success if it found the algorithm) */ - StatusCode findAlgorithm( const std::string myAlg, JobOptionsList*& myList ) const; + StatusCode findAlgorithm( const std::string& myAlg, JobOptionsList*& myList ) const; // data members std::vector<JobOptionsList*> m_algorithmoptions; ///< vector of JobOptionList 's, one for each algorithm diff --git a/Trigger/TrigConfiguration/TrigConfigSvc/TrigConfigSvc/JobOptionsList.h b/Trigger/TrigConfiguration/TrigConfigSvc/TrigConfigSvc/JobOptionsList.h index 9176add850d..2b22fabf9a2 100644 --- a/Trigger/TrigConfiguration/TrigConfigSvc/TrigConfigSvc/JobOptionsList.h +++ b/Trigger/TrigConfiguration/TrigConfigSvc/TrigConfigSvc/JobOptionsList.h @@ -11,9 +11,7 @@ #include <string> #include <vector> -//#include "GaudiKernel/Property.h" - -class Property; +#include "GaudiKernel/Property.h" namespace TrigConf { @@ -27,7 +25,7 @@ namespace TrigConf { * * @param myOpt first property */ - JobOptionsList( const std::string myAlg, const Property* const& myOpt ); + JobOptionsList( const std::string& myAlg, const Property* const& myOpt ); /**@brief destructor * @@ -47,7 +45,7 @@ namespace TrigConf { * * @returns name of algorithm */ - virtual std::string algorithmName() const; + virtual const std::string& algorithmName() const; /**@brief accessor to the vector of properties * diff --git a/Trigger/TrigConfiguration/TrigConfigSvc/src/HLTJobOptionsSvc.cxx b/Trigger/TrigConfiguration/TrigConfigSvc/src/HLTJobOptionsSvc.cxx index f4615656a6c..3728f6511dc 100644 --- a/Trigger/TrigConfiguration/TrigConfigSvc/src/HLTJobOptionsSvc.cxx +++ b/Trigger/TrigConfiguration/TrigConfigSvc/src/HLTJobOptionsSvc.cxx @@ -502,6 +502,24 @@ TrigConf::HLTJobOptionsSvc::getProperties( const std::string& client) const } return 0; } + +//---------------------------------------------------------------------------- +const Property* +TrigConf::HLTJobOptionsSvc::getClientProperty( const std::string& client, + const std::string& name ) const +//---------------------------------------------------------------------------- +{ + auto props = getProperties(client); + for (auto p: *props) { + if (p->name() == name) { + return p; + } + } + + return nullptr; + +} + //---------------------------------------------------------------------------- std::vector<std::string> TrigConf::HLTJobOptionsSvc::getClients() const diff --git a/Trigger/TrigConfiguration/TrigConfigSvc/src/JobOptionsCatalogue.cxx b/Trigger/TrigConfiguration/TrigConfigSvc/src/JobOptionsCatalogue.cxx index 01384e48546..b0b0d339cfe 100644 --- a/Trigger/TrigConfiguration/TrigConfigSvc/src/JobOptionsCatalogue.cxx +++ b/Trigger/TrigConfiguration/TrigConfigSvc/src/JobOptionsCatalogue.cxx @@ -25,7 +25,7 @@ TrigConf::JobOptionsCatalogue::~JobOptionsCatalogue() { //---------------------------------------------------------------------------- StatusCode -TrigConf::JobOptionsCatalogue::findAlgorithm( const std::string myAlg, +TrigConf::JobOptionsCatalogue::findAlgorithm( const std::string& myAlg, JobOptionsList*& myList ) const { std::vector<JobOptionsList*>::const_iterator iter; for( iter = m_algorithmoptions.begin(); @@ -42,7 +42,7 @@ TrigConf::JobOptionsCatalogue::findAlgorithm( const std::string myAlg, //---------------------------------------------------------------------------- void -TrigConf::JobOptionsCatalogue::addOption( const std::string myAlg, +TrigConf::JobOptionsCatalogue::addOption( const std::string& myAlg, const Property* const& myOpt ) { JobOptionsList* myList; StatusCode sc = this->findAlgorithm( myAlg, myList ); diff --git a/Trigger/TrigConfiguration/TrigConfigSvc/src/JobOptionsList.cxx b/Trigger/TrigConfiguration/TrigConfigSvc/src/JobOptionsList.cxx index c912eb96482..81b3f60bb8b 100644 --- a/Trigger/TrigConfiguration/TrigConfigSvc/src/JobOptionsList.cxx +++ b/Trigger/TrigConfiguration/TrigConfigSvc/src/JobOptionsList.cxx @@ -17,12 +17,12 @@ TrigConf::JobOptionsList::~JobOptionsList() { } } -TrigConf::JobOptionsList::JobOptionsList( const std::string myAlg, const Property* const& myOpt ){ +TrigConf::JobOptionsList::JobOptionsList( const std::string& myAlg, const Property* const& myOpt ){ m_algorithmName = myAlg; this->addOption( myOpt ); } -std::string +const std::string& TrigConf::JobOptionsList::algorithmName() const { return m_algorithmName; } -- GitLab