00001 00002 #ifndef QIC_OBJECT_DEFINITION_REGISTRY_H_ 00003 #define QIC_OBJECT_DEFINITION_REGISTRY_H_ 00004 00005 #include <QString> 00006 #include <QStringList> 00007 00008 namespace qic 00009 { 00010 00011 class ObjectDefinition; 00012 class WireDefinition; 00013 00020 class ObjectDefinitionRegistry 00021 { 00022 public: 00023 virtual ~ObjectDefinitionRegistry() {} 00024 00025 virtual QStringList getObjectDefinitionIds () = 0; 00026 00027 virtual ObjectDefinition * getObjectDefinition(QString id) = 0; 00028 00033 virtual QList<WireDefinition *> getWireDefinitions () = 0; 00034 00035 virtual void registerObjectDefinition (QString id, ObjectDefinition * objectDefinition) = 0; 00036 00037 virtual void registerWireDefinition (WireDefinition * wireDefinition) = 0; 00038 00039 virtual void registerReferenceInjector (QString type, QString path) = 0; 00040 00041 } 00042 ; // interface ObjectDefinitionRegistry 00043 00044 } 00045 ; // namespace qic 00046 00047 #endif