00001 /*---------------------------------------------------------------------\ 00002 | | 00003 | __ __ ____ _____ ____ | 00004 | \ \ / /_ _/ ___|_ _|___ \ | 00005 | \ V / _` \___ \ | | __) | | 00006 | | | (_| |___) || | / __/ | 00007 | |_|\__,_|____/ |_| |_____| | 00008 | | 00009 | core system | 00010 | (C) SuSE GmbH | 00011 \----------------------------------------------------------------------/ 00012 00013 File: Y2ComponentCreator.h 00014 00015 Author: Mathias Kettner <kettner@suse.de> 00016 Maintainer: Thomas Roelz <tom@suse.de> 00017 00018 /-*/ 00019 // -*- c++ -*- 00020 00021 #ifndef Y2ComponentCreator_h 00022 #define Y2ComponentCreator_h 00023 00024 #include "Y2ComponentBroker.h" 00025 00043 class Y2ComponentCreator 00044 { 00045 public: 00052 Y2ComponentCreator(Y2ComponentBroker::order_t order); 00053 00057 virtual ~Y2ComponentCreator(); 00058 00065 virtual Y2Component *create(const char *name) const; 00066 00073 virtual Y2Component *createInLevel(const char *name, int level, int current_level) const; 00074 00080 virtual Y2Component *provideNamespace(const char *name); 00081 00085 virtual bool isServerCreator() const = 0; 00086 00090 bool isClientCreator() const; 00091 }; 00092 00093 #endif // Y2ComponentCreator_h