00001 #ifndef DYBKERNEL_IREGISTRATONSEQUENCE_H 00002 #define DYBKERNEL_IREGISTRATONSEQUENCE_H 1 00003 00004 #include "DybKernel/ObjectReg.h" 00005 00006 #include <vector> 00007 #include <ostream> 00008 00009 class IRegistrationSequence { 00010 00011 public: 00012 00014 typedef ObjectReg Registration; 00016 typedef std::vector<Registration> Registrations; 00018 typedef Registrations::size_type size_type; 00019 00020 virtual ~IRegistrationSequence(); 00021 00022 // Compatability function for GOD subclasses. 00023 virtual std::ostream& fillStream(std::ostream& s) const; 00024 00026 virtual bool empty() const = 0; 00027 00029 virtual size_type size() const = 0; 00030 00032 virtual const Registrations& registrations() const = 0; 00033 00035 virtual Registrations registration(const std::string& path) const = 0; 00036 00038 virtual Registration* registration(const DataObject* dobj) const = 0; 00039 }; 00040 00041 #endif /* DYBKERNEL_IREGISTRATONSEQUENCE_H */