26 #ifndef ADF_FactoryItem
32 #ifndef ADF_BaseBuffer
44 class ConfigurationFrame;
83 std::pair <FactoryItem,FactoryItem> fAutoConf;
85 mutable std::list<std::pair <FactoryItem,FactoryItem> > fListOfFrames;
87 mutable std::list< FactoryItem > fListOfRequiredKeyFactories;
89 mutable std::list< FactoryItem > fListOfRequiredFrameFactories;
94 std::list< KeyFactory * > fListOfKeyFactories;
96 std::list< FrameFactory * > fListOfFrameFactories;
105 void LinkFactories(Bool_t global =
true);
121 DFAgent(
const Char_t *rid,
const Char_t *srid, Bool_t is_record =
true, Bool_t global =
true);
127 return fListOfFrames;
166 {
return fAutoConf.first; }
168 {
return fAutoConf.second; }
200 virtual void Reset(
const Char_t *opt =
"");
void SetEndian(BaseBuffer::EEndian)
const FactoryItem & GetPrimaryKey() const
Just to know if the size of the frame is coded on 2 bytes, 4 bytes ... or 8 bytes.
const std::list< std::pair< FactoryItem, FactoryItem > > & GetListOfKnownFrames() const
to just browse the list of known frame
virtual Bool_t ProcessLine(const std::string &)
decode an input line to configure/reconfigure this DFAgent
Base class for a FrameFactory.
header file for FactoryItem.cpp
DotConf : Utility for class configuration from ascii file or Configuration frames.
BaseBuffer::EEndian GetEndian() const
Bool_t ChangeOfVersion(const FactoryItem &item_from, const FactoryItem &item_to)
change from item_from to item_to is allowed if they differ only by the item version number ...
Bool_t SetKnownFrameFactory(const FactoryItem &factory_item)
check if the factory is referenced by the agent.
Bool_t SetAsCompatibleKeyItem(FactoryItem &factory_item) const
Take the item and prepare it to be an item related to the is agent i.e. set the factory version # and...
KeyFactory * GetKeyFactory(const FactoryItem &item)
look in the DFAgent list if this factory exist and with a version # greater that the given one ...
virtual Bool_t DoConfigure(std::istream &in, Bool_t allow_init)
configure this from an input stream
DFAgent(const Char_t *rid, const Char_t *srid, Bool_t is_record=true, Bool_t global=true)
in case global is true, it keeps a list of pointers to the global factories otherwise asked for Clone...
Bool_t(* PF_FactoryItemChange)(const FactoryItem &, const FactoryItem &)
prototype function to control the evolution of a factory item.
virtual void Reset(const Char_t *opt="")
Reset : all values are set to default.
UShort_t IsAKnownFrame(const FactoryItem &kit, const FactoryItem &fit, PF_FactoryItemChange kch=ChangeOfVersion, PF_FactoryItemChange fch=ChangeOfVersion) const
To know if a Frame is known by the Agent under the conditions given.
void AddKnownFrame(const FactoryItem &item_key, const FactoryItem &item_frame, const Char_t opt= '+')
internal use to avoid adding a definition of a Frame that cannot be allocated
void SetPrimaryKey(const FactoryItem &item)
to set the definition of the Keys for input
virtual Bool_t DoConfigure(std::istream &, Bool_t allow_init)
configure this from an input stream
Bool_t SetAsCompatibleItems(FactoryItem &factory_key_item, FactoryItem &factory_frame_item) const
change both item as the same time
FrameFactory * GetFrameFactory(const FactoryItem &item)
look in the DFAgent list if this factory exist and with a version # greater that the given one ...
FactoryItem WhichKnownKey(const FactoryItem &kit, const FactoryItem &fit, PF_FactoryItemChange kch=ChangeOfVersion, PF_FactoryItemChange fch=ChangeOfVersion) const
A DFAgent contains all the information concerning the structure of the data flow. ...
Bool_t SetKnownKeyFactory(const FactoryItem &factory_item)
check if the factory is referenced by the agent.
ConfAgent::EModel GetModel() const
void SetModel(ConfAgent::EModel model)
header file for ConfAgent.cpp
const FactoryItem & GetAutoConfFrame() const
FactoryItem WhichKnownFrame(const FactoryItem &kit, const FactoryItem &fit, PF_FactoryItemChange kch=ChangeOfVersion, PF_FactoryItemChange fch=ChangeOfVersion) const
To get the exact definition of a key and a Frame.
const FactoryItem & GetAutoConfKey() const
To get the definition of the Key and Frame associated to a global reconfiguration.
Bool_t SetAsCompatibleFrameItem(FactoryItem &factory_item) const
Take the item and prepare it to be an item related to the is agent i.e. set the factory version # and...
Base class that described an item in a Factory.