00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033 #ifndef I_BESContainerStorageFile_h_
00034 #define I_BESContainerStorageFile_h_ 1
00035
00036 #include <string>
00037 #include <map>
00038
00039 using std::string ;
00040 using std::map ;
00041
00042 #include "BESContainerStorage.h"
00043
00070 class BESContainerStorageFile : public BESContainerStorage
00071 {
00072 private:
00073 string _file ;
00074 typedef struct _container
00075 {
00076 string _symbolic_name ;
00077 string _real_name ;
00078 string _container_type ;
00079 } container ;
00080 map< string, BESContainerStorageFile::container * > _container_list ;
00081 typedef map< string, BESContainerStorageFile::container * >::const_iterator Container_citer ;
00082 typedef map< string, BESContainerStorageFile::container * >::iterator Container_iter ;
00083
00084 public:
00085 BESContainerStorageFile( const string &n );
00086 virtual ~BESContainerStorageFile() ;
00087
00088 virtual void look_for( BESContainer &d ) ;
00089 virtual void add_container( const string &s_name,
00090 const string &r_name,
00091 const string &type ) ;
00092 virtual bool del_container( const string &s_name ) ;
00093 virtual bool del_containers( ) ;
00094
00095 virtual void show_containers( BESInfo &info ) ;
00096
00097 virtual void dump( ostream &strm ) const ;
00098 };
00099
00100 #endif // I_BESContainerStorageFile_h_
00101