00001 /*---------------------------------------------------------------------\ 00002 | | 00003 | __ __ ____ _____ ____ | 00004 | \ \ / /_ _/ ___|_ _|___ \ | 00005 | \ V / _` \___ \ | | __) | | 00006 | | | (_| |___) || | / __/ | 00007 | |_|\__,_|____/ |_| |_____| | 00008 | | 00009 | core system | 00010 | (C) SuSE GmbH | 00011 \----------------------------------------------------------------------/ 00012 00013 File: Y2CCRemote.h 00014 00015 Author: Mathias Kettner <kettner@suse.de> 00016 Maintainer: Arvin Schnell <arvin@suse.de> 00017 00018 /-*/ 00019 // -*- c++ -*- 00020 00021 /* 00022 * Component Creator that creates remote components 00023 * 00024 * Author: Mathias Kettner <kettner@suse.de> 00025 */ 00026 00027 #ifndef Y2CCRemote_h 00028 #define Y2CCRemote_h 00029 00030 #include <string> 00031 #include "Y2ComponentCreator.h" 00032 00033 class Y2CCRemote : public Y2ComponentCreator 00034 { 00038 bool creates_servers; 00039 00043 mutable regex_t rx1, rx2, rx3; 00044 00045 mutable int my_nl_msg_cat_cntr; 00046 void make_rxs () const; 00047 void free_rxs () const; 00048 00049 public: 00050 00051 Y2CCRemote (bool creates_servers); 00052 00053 bool isServerCreator () const; 00054 00055 Y2Component* create (const char* name) const; 00056 00060 virtual Y2Component* provideNamespace(const char* name_space); 00061 00062 private: 00072 bool analyseURL (const char* componentname, string& protocol, 00073 string& loginname, string& password, string& hostname, 00074 string& cname) const; 00075 00076 }; 00077 00078 00079 #endif // Y2CCRemote_h
1.4.4