GammaWare  Head Version for release 0.9
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ADF::ConfAgent Class Referenceabstract

ConfAgent. More...

#include <ConfAgent.h>

Inheritance diagram for ADF::ConfAgent:

Public Types

enum  EMode { kRead, kWrite }
 Operating mode for frame IO. More...
 
enum  EModel { kStrict, kSafe, kGrowing }
 Model for FrameIO. More...
 

Public Member Functions

virtual void AddConf (DotConf *)
 add a conf object to this. The added objects are not owned by this so not deleted. More...
 
virtual ConfAgentClone (const char *comment="Clone of the global ConfAgent")=0
 Clone of the main (global) Agent. More...
 
virtual Bool_t Configure (ConfigurationFrame *, const char *option="in", Bool_t allow_init=false)
 configuration from/to a configuration frame : extact string from the frame and call DoConfigure More...
 
virtual Bool_t Configure (const char *name, const char *option="in", Bool_t allow_init=true)
 configuration from/to a file : open the file and call DoConfigure More...
 
virtual Bool_t DoConfigure (std::istream &, Bool_t allow_init)
 configure this from an input stream More...
 
virtual Bool_t DoConfigure (std::ostream &)
 write the configuration in an output stream More...
 
const Char_t * GetComment () const
 
virtual const DFAgentGetConstDFAgent () const =0
 
virtual const RunAgentGetConstRunAgent () const =0
 
virtual DFAgentGetDFAgent ()=0
 to get the Data Flow Agent in charge of knowing the structure of the DF More...
 
const Char_t * GetLastModif () const
 
Short_t GetMaxVersion () const
 this class could managed moddification of the versionned part up to MaxVersion : should be set in the constructor part of the inheriting class More...
 
virtual const Char_t * GetRID () const
 to get the record id More...
 
virtual RunAgentGetRunAgent ()=0
 to get the run Agent in charge of knowing the conditions of the DF being processed More...
 
virtual const Char_t * GetSRID () const
 to get the record id More...
 
virtual const Char_t * GetStreamOption () const
 get/set option More...
 
virtual Short_t GetVersion () const
 to get the curent version of this object More...
 
Bool_t IsWithRecord () const
 to know if this is intialisased with a stream composed of records. More...
 
virtual void RemoveConf (DotConf *aconf=0x0)
 
virtual void Reset (const Char_t *opt="")
 Reset : all values are set to default. More...
 
void SetComment (const Char_t *comment)
 
virtual void SetRID (const Char_t *rid, const Char_t *srid="")
 to set the record id More...
 
virtual void SetStreamOption (const Char_t *opt)
 
void SetWithRecord (Bool_t is_record=true)
 to change the behavior More...
 
virtual ~ConfAgent ()
 

Static Public Member Functions

static ConfAgent::EModel GetModel (std::string)
 
static const Char_t * GetStringModel (ConfAgent::EModel)
 
static void KilltheGlobalAgent ()
 to kill the global agent More...
 
static ConfAgenttheGlobalAgent (std::string="Agata")
 to get the global agent More...
 

Protected Member Functions

Bool_t AddRecord (std::ostream &, char t= 'b')
 Add a begin or end of record, return true if done. More...
 
std::string BeginOfRecord ()
 string that gives a start of record for this object More...
 
 ConfAgent ()
 
std::string EndOfRecord ()
 string that gives an end of record for this object More...
 
Bool_t IsBeginOfRecord (const std::string &, Bool_t allow_init)
 Return true if this string is a begin of record and call Reset if Init is found. More...
 
Bool_t IsEndOfRecord (const std::string &)
 Return true if this string is an end of record. More...
 
virtual Bool_t ProcessLine (const std::string &)
 a helper template to do clones : it requires a default constructor. then it uses the Configure facilities to configure the new object More...
 
void SetLastModif ()
 set in last modif string the current date. More...
 
void SetMaxVersion (Short_t v)
 
void SetVersion (Short_t v)
 

Protected Attributes

LogMessage fLog
 the log messenger ... to know the object hae been properly intitialised/modified More...
 

Detailed Description

ConfAgent.

This class contains all the definitions relative to the data flow being read/written.

In particular it contains a DFAgent, in charge of the structure od the data flow and a RunAgent that contains global informations concerning the current conditions.

A global ConfAgent is allocated using theGlobalAgent(). Local agent could be built using the Clone method. Once built they can be re-initialised independently of the Global Agent, from, for instance, a Configuration Frame

The data flow model could be kSafe, kStrict, kGrowing

  • kSafe : do exactly what is asked by the user for the data flow part he is working on but do nothing for the other part
  • kStrict : strictly take into account the user's wishes
  • kGrowing : nothing is lost, the data flow is growing at each stage of the processing

Extention

This class should be the central point whatever the data flow processed. For the moment a single class implements such a ConfAgent : AgataConfAgent

In order to possibly extends the system, one may add to the class a list of static corresponding to the possible ConfAgent. To do this: -one should add to the constructor a Register mehod so that any class that inherits from this could Register itself -one must built an class that inherits from this -one should modify the method theGlobalAgent to deliver the proper Agent depending of an input string ...

Definition at line 63 of file ConfAgent.h.


The documentation for this class was generated from the following files: