00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
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