00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef HxRepository_h
00012 #define HxRepository_h
00013
00014 #include "HxIoFwd.h"
00015 #include "HxString.h"
00016 #include "HxStringList.h"
00017 #include "HxRepositoryObserver.h"
00018
00019 #pragma warning (disable : 4786)
00020
00021 #include <vector>
00022 #include <map>
00023
00024
00025 class L_HXBASIS HxRepository
00026 {
00027 public:
00028 virtual ~HxRepository();
00029
00030 virtual void remove(HxString name) = 0;
00031 virtual void rename(HxString oldName, HxString newName) = 0;
00032 virtual int exists(HxString name) const = 0;
00033
00034 virtual HxString generateName(HxString base) = 0;
00035
00036 virtual void getNameList(HxStringListBackInserter) const = 0;
00037
00038 virtual void setObserver(const HxRepositoryObserver&) = 0;
00039 virtual const HxRepositoryObserver*
00040 getObserver() const = 0;
00041
00042 virtual STD_OSTREAM& put(STD_OSTREAM&) const = 0;
00043 };
00044
00045 inline
00046 HxRepository::~HxRepository() {}
00047
00048 #endif