libzypp  17.35.16
RepoException.h
Go to the documentation of this file.
1 /*---------------------------------------------------------------------\
2 | ____ _ __ __ ___ |
3 | |__ / \ / / . \ . \ |
4 | / / \ V /| _/ _/ |
5 | / /__ | | | | | | |
6 | /_____||_| |_| |_| |
7 | |
8 \---------------------------------------------------------------------*/
12 #ifndef ZYPP_REPO_REPOEXCEPTION_H
13 #define ZYPP_REPO_REPOEXCEPTION_H
14 
15 #include <iosfwd>
16 #include <string>
17 
18 #include <zypp/base/Exception.h>
19 #include <zypp-core/base/UserRequestException>
20 #include <zypp/RepoInfo.h>
21 #include <zypp/ServiceInfo.h>
22 
24 namespace zypp
25 {
26  namespace repo
28  {
29 
33 
38  {
39  public:
40  RepoException();
41  RepoException( const std::string & msg_r );
42  RepoException( const RepoInfo & info );
43  RepoException( const RepoInfo & info, const std::string & msg_r );
44  ~RepoException() throw() override;
45 
47  { return _info; }
48 
49  std::string alias()
50  { return info().alias(); }
51 
52  protected:
53  std::ostream & dumpOn( std::ostream & str ) const override;
54 
55  private:
57  };
59 
66  {
67  public:
69  RepoNotCachedException( const std::string & msg_r );
70  RepoNotCachedException( const RepoInfo & info );
71  RepoNotCachedException( const RepoInfo & info, const std::string & msg_r );
72  };
73 
79  {
80  public:
82  RepoNoUrlException( const std::string & msg_r );
83  RepoNoUrlException( const RepoInfo & info );
84  RepoNoUrlException( const RepoInfo & info, const std::string & msg_r );
85  };
86 
92  {
93  public:
95  RepoNoAliasException( const std::string & msg_r );
96  RepoNoAliasException( const RepoInfo & info );
97  RepoNoAliasException( const RepoInfo & info, const std::string & msg_r );
98  };
99 
104  {
105  public:
107  RepoInvalidAliasException( const std::string & msg_r );
108  RepoInvalidAliasException( const RepoInfo & info );
109  RepoInvalidAliasException( const RepoInfo & info, const std::string & msg_r );
110  };
111 
117  {
118  public:
120  RepoNotFoundException( const std::string & msg_r );
121  RepoNotFoundException( const RepoInfo & info );
122  RepoNotFoundException( const RepoInfo & info, const std::string & msg_r );
123  };
124 
130  {
131  public:
133  RepoAlreadyExistsException( const std::string & msg_r );
134  RepoAlreadyExistsException( const RepoInfo & info );
135  RepoAlreadyExistsException( const RepoInfo & info, const std::string & msg_r );
136  };
137 
143  {
144  public:
146  RepoUnknownTypeException( const std::string & msg_r );
147  RepoUnknownTypeException( const RepoInfo & info );
148  RepoUnknownTypeException( const RepoInfo & info, const std::string & msg_r );
149  };
150 
156  {
157  public:
159  RepoMetadataException( const std::string & msg_r );
160  RepoMetadataException( const RepoInfo & info );
161  RepoMetadataException( const RepoInfo & info, const std::string & msg_r );
162  };
163 
168  {
169  public:
171  RepoNoPermissionException( const std::string & msg_r );
172  RepoNoPermissionException( const RepoInfo & info );
173  RepoNoPermissionException( const RepoInfo & info, const std::string & msg_r );
174  };
175 
176 
178 
185 
189  {
190  public:
192  ServiceException( const std::string & msg_r );
193  ServiceException( const ServiceInfo & service_r );
194  ServiceException( const ServiceInfo & service_r, const std::string & msg_r );
195  ~ServiceException() throw() override;
196 
198  { return _service; }
199 
200  std::string alias()
201  { return service().alias(); }
202 
203  protected:
204  std::ostream & dumpOn( std::ostream & str ) const override;
205 
206  private:
208  };
210 
214  {
215  public:
217  ServiceNoAliasException( const std::string & msg_r );
218  ServiceNoAliasException( const ServiceInfo & service_r );
219  ServiceNoAliasException( const ServiceInfo & service_r, const std::string & msg_r );
220  };
221 
226  {
227  public:
229  ServiceInvalidAliasException( const std::string & msg_r );
231  ServiceInvalidAliasException( const ServiceInfo & info, const std::string & msg_r );
232  };
233 
237  {
238  public:
240  ServiceAlreadyExistsException( const std::string & msg_r );
241  ServiceAlreadyExistsException( const ServiceInfo & service_r );
242  ServiceAlreadyExistsException( const ServiceInfo & service_r, const std::string & msg_r );
243  };
244 
248  {
249  public:
251  ServiceNoUrlException( const std::string & msg_r );
252  ServiceNoUrlException( const ServiceInfo & service_r );
253  ServiceNoUrlException( const ServiceInfo & service_r, const std::string & msg_r );
254  };
256 
257 
261 
265  {
266  public:
268  ServicePluginException( const std::string & msg_r );
269  ServicePluginException( const ServiceInfo & service_r );
270  ServicePluginException( const ServiceInfo & service_r, const std::string & msg_r );
271  };
272 
276  {
277  public:
279  ServicePluginInformalException( const std::string & msg_r );
280  ServicePluginInformalException( const ServiceInfo & service_r );
281  ServicePluginInformalException( const ServiceInfo & service_r, const std::string & msg_r );
282  };
283 
287  {
288  public:
290  ServicePluginImmutableException( const std::string & msg_r );
291  ServicePluginImmutableException( const ServiceInfo & service_r );
292  ServicePluginImmutableException( const ServiceInfo & service_r, const std::string & msg_r );
293  };
295 
297  } // namespace repo
300 } // namespace zypp
302 #endif // ZYPP_PARSER_TAGFILE_PARSEEXCEPTION_H
RepoInfo _info
Service data.
Definition: ServiceInfo.h:36
thrown when it was impossible to match a repository
Thrown when the repo alias is found to be invalid.
thrown when it was impossible to determine this repo type.
String related utilities and Regular expression matching.
What is known about a repository.
Definition: RepoInfo.h:71
Service plugin has trouble providing the metadata but this should not be treated as error...
Service already exists and some unique attribute can&#39;t be duplicated.
Service without alias was used in an operation.
ServiceInfo _service
Definition: serviceswf.cc:104
thrown when it was impossible to determine one url for this repo.
Definition: RepoException.h:78
std::string alias() const
unique identifier for this source.
const Arch Arch_armv7hnl Arch_armv7nhl ZYPP_API
Definition: ResTraits.h:93
thrown when it was impossible to use the raw metadata for this repo.
std::ostream & dumpOn(std::ostream &str, const Capability &obj)
Definition: Capability.cc:580
Base Exception for service handling.
PLUGIN Service related exceptions.
thrown if the user has no permission to update(write) the caches.
thrown when it was impossible to determine an alias for this repo.
Definition: RepoException.h:91
Base class for Exception.
Definition: Exception.h:146
Exception for repository handling.
Definition: RepoException.h:37
The repository cache is not built yet so you can&#39;t create the repostories from the cache...
Definition: RepoException.h:65
Thrown when the repo alias is found to be invalid.
Repository already exists and some unique attribute can&#39;t be duplicated.
Easy-to use interface to the ZYPP dependency resolver.
Definition: Application.cc:19
Service has no or invalid url defined.