7#ifndef SGCOMPS_FOLDER_H
8#define SGCOMPS_FOLDER_H 1
18#include "GaudiKernel/IClassIDSvc.h"
19#include "GaudiKernel/ServiceHandle.h"
42 class Folder :
public extends<AthAlgTool, IFolder>
48 const std::string& name,
49 const IInterface* parent);
66 virtual StatusCode
add(
const std::string& typeName,
const std::string& skey)
override;
69 virtual StatusCode
add(
const CLID& clid,
const std::string& skey)
override {
70 const bool DONTCHECKVALIDCLID(
false);
71 return add(clid, skey, DONTCHECKVALIDCLID,
false);
90 BooleanProperty
m_checkItems{
this,
"CheckItems",
false,
"check if item types are known to ClassIDSvc"};
93 "List of data objects identified by a class name (or clid)#key pairs. One can use '*' as key value to "
94 "add all objects of a given type to the Folder. If the type name ends with !, then write the object as "
95 "exactly that type (and not as any derived class)."};
98 const bool DONTCHECKVALIDCLID(
false);
101 void decodeItem(
const std::string& item,
bool checkValidCLID);
105 StatusCode
add(
const CLID& clid,
const std::string& skey,
106 bool checkValidCLID,
bool exact);
uint32_t CLID
The Class ID type.
virtual StatusCode add(const std::string &typeName, const std::string &skey) override
add a data object identifier to the list.
virtual void updateItemList(bool checkValidCLID) override final
update contents of the ItemList
virtual ~Folder() override
friend class Folder_tester
void decodeItem(const std::string &item, bool checkValidCLID)
IFolder::const_iterator const_iterator
ServiceHandle< IClassIDSvc > m_pCLIDSvc
virtual const_iterator begin() const override
virtual StatusCode add(const CLID &clid, const std::string &skey) override
add a data object identifier to the list.
BooleanProperty m_checkItems
virtual StatusCode initialize() override
IFolder::ItemList ItemList
the list we manage
virtual const_iterator end() const override
StringArrayProperty m_itemList
Folder(const std::string &type, const std::string &name, const IInterface *parent)
virtual void clear() override
clear the folder contents
void decodeItemList(Gaudi::Details::PropertyBase &)
ItemList::const_iterator const_iterator
std::set< FolderItem > ItemList
the list we manage