Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members

PisaPhnxPar.h

Go to the documentation of this file.
00001 #ifndef __PISAPHNXPAR_H__
00002 #define __PISAPHNXPAR_H__
00003 
00004 #include <iostream>
00005 #include <map>
00006 #include <string>
00007 #include "PHObject.h"
00008 
00012 class PisaPhnxSubPar : public PHObject
00013 {
00014  public:
00015 
00016   PisaPhnxSubPar() {}
00017   virtual ~PisaPhnxSubPar() {}
00018 
00019   virtual size_t size(const char* parname) const = 0;
00020 
00021   virtual bool has(const char* parname) const = 0;
00022   
00023   virtual void print(std::ostream& os = std::cout) const = 0;
00024 
00025   virtual bool getBoolean(const char* parname, size_t index=0) const = 0;
00026 
00027   virtual double getDouble(const char* parname, size_t index=0) const = 0;
00028 
00029   virtual int getInt(const char* parname, size_t index=0) const = 0;
00030 
00031   virtual const char* getString(const char* parname, size_t index=0) const = 0;
00032 
00033   virtual void appendBoolean(const char* parname, bool value) = 0;
00034 
00035   virtual void appendDouble(const char* parname, double value) = 0;
00036 
00037   virtual void appendInt(const char* parname, int value) = 0;
00038 
00039   virtual void appendString(const char* parname, const char* value) = 0;
00040 
00041   virtual void setBoolean(const char* parname, size_t index, bool value) = 0;
00042   
00043   virtual void setDouble(const char* parname, size_t index, double value) = 0;
00044   
00045   virtual void setInt(const char* parname, size_t index, int value) = 0;
00046 
00047   virtual void setString(const char* parname, size_t index, const char* value) = 0;
00048 
00049   ClassDef(PisaPhnxSubPar,0)
00050 };
00051 
00052 inline
00053 std::ostream& operator<<(std::ostream& os, const PisaPhnxSubPar& par)
00054 {
00055   par.print(os);
00056   return os;
00057 }
00058 
00062 class PisaPhnxPar
00063 {
00064  public:
00065 
00066   virtual ~PisaPhnxPar() {}
00067 
00068   virtual bool has(const char* subsystem) const = 0;
00069 
00070   virtual void print(std::ostream& os = std::cout) const = 0;
00071 
00072   virtual const PisaPhnxSubPar* get(const char* subsystem) const = 0;
00073 
00074   ClassDef(PisaPhnxPar,0)
00075 };
00076 
00077 inline
00078 std::ostream& operator<<(std::ostream& os, const PisaPhnxPar& par)
00079 { 
00080   par.print(os);
00081   return os;
00082 }
00083 
00084 #endif