libzypp  17.15.0
MediaException.cc
Go to the documentation of this file.
1 /*---------------------------------------------------------------------\
2 | ____ _ __ __ ___ |
3 | |__ / \ / / . \ . \ |
4 | / / \ V /| _/ _/ |
5 | / /__ | | | | | | |
6 | /_____||_| |_| |_| |
7 | |
8 \---------------------------------------------------------------------*/
13 #include <iostream>
14 
15 #include "zypp/base/String.h"
16 #include "zypp/base/Gettext.h"
17 
19 
20 using std::endl;
21 using zypp::str::form;
22 
24 namespace zypp
25 {
26  namespace media {
28 
30 
31  std::ostream & MediaMountException::dumpOn( std::ostream & str ) const
32  {
33  str << form(_("Failed to mount %s on %s"), _source.c_str(), _target.c_str() );
34  if( !_cmdout.empty())
35  str << ": " << _error << " (" << _cmdout << ")";
36  else
37  str << ": " << _error;
38  return str;
39  }
40 
41  std::ostream & MediaUnmountException::dumpOn( std::ostream & str ) const
42  {
43  return str << form(_("Failed to unmount %s"), _path.c_str() ) << " : " << _error;
44  }
45 
46  std::ostream & MediaBadFilenameException::dumpOn( std::ostream & str ) const
47  {
48  return str << form(_("Bad file name: %s"), _filename.c_str() );
49  }
50 
51  std::ostream & MediaNotOpenException::dumpOn( std::ostream & str ) const
52  {
53  return str << form(_("Medium not opened when trying to perform action '%s'."), _action.c_str() );
54  }
55 
56  std::ostream & MediaFileNotFoundException::dumpOn( std::ostream & str) const
57  {
58  return str << form( _("File '%s' not found on medium '%s'"), _filename.c_str(), _url.c_str() );
59  }
60 
61  std::ostream & MediaWriteException::dumpOn( std::ostream & str) const
62  {
63  return str << form(_("Cannot write file '%s'."), _filename.c_str() );
64  }
65 
66  std::ostream & MediaNotAttachedException::dumpOn( std::ostream & str) const
67  {
68  return str << _("Medium not attached") << ": " << _url;
69  }
70 
71  std::ostream & MediaBadAttachPointException::dumpOn( std::ostream & str) const
72  {
73  return str << _("Bad media attach point") << ": " << _url;
74  }
75 
76  std::ostream & MediaCurlInitException::dumpOn( std::ostream & str) const
77  {
78  // TranslatorExplanation: curl is the name of a library, don't translate
79  return str << form(_("Download (curl) initialization failed for '%s'"), _url.c_str() );
80  }
81 
82  std::ostream & MediaSystemException::dumpOn( std::ostream & str) const
83  {
84  return str << form(_("System exception '%s' on medium '%s'."), _message.c_str(), _url.c_str() );
85  }
86 
87  std::ostream & MediaNotAFileException::dumpOn( std::ostream & str) const
88  {
89  return str << form(_("Path '%s' on medium '%s' is not a file."), _path.c_str(), _url.c_str() );
90  }
91 
92  std::ostream & MediaNotADirException::dumpOn( std::ostream & str) const
93  {
94  return str << form(_("Path '%s' on medium '%s' is not a directory."), _path.c_str(), _url.c_str() );
95  }
96 
97  std::ostream & MediaBadUrlException::dumpOn( std::ostream & str) const
98  {
99  if( _msg.empty())
100  {
101  return str << _("Malformed URI") << ": " << _url;
102  }
103  else
104  {
105  return str << _msg << ": " << _url;
106  }
107  }
108 
109  std::ostream & MediaBadUrlEmptyHostException::dumpOn( std::ostream & str) const
110  {
111  return str << _("Empty host name in URI") << ": " << _url;
112  }
113 
114  std::ostream & MediaBadUrlEmptyFilesystemException::dumpOn( std::ostream & str) const
115  {
116  return str << _("Empty filesystem in URI") << ": " << _url;
117  }
118 
119  std::ostream & MediaBadUrlEmptyDestinationException::dumpOn( std::ostream & str) const
120  {
121  return str << _("Empty destination in URI") << ": " << _url;
122  }
123 
124  std::ostream & MediaUnsupportedUrlSchemeException::dumpOn( std::ostream & str) const
125  {
126  return str << form(_("Unsupported URI scheme in '%s'."), _url.c_str() );
127  }
128 
129  std::ostream & MediaNotSupportedException::dumpOn( std::ostream & str) const
130  {
131  return str << _("Operation not supported by medium") << ": " << _url;
132  }
133 
134  std::ostream & MediaCurlException::dumpOn( std::ostream & str) const
135  {
136  // TranslatorExplanation: curl is the name of a library, don't translate
137  return str << form(_(
138  "Download (curl) error for '%s':\n"
139  "Error code: %s\n"
140  "Error message: %s\n"), _url.c_str(), _err.c_str(), _msg.c_str());
141  }
142 
143  std::ostream & MediaCurlSetOptException::dumpOn( std::ostream & str) const
144  {
145  // TranslatorExplanation: curl is the name of a library, don't translate
146  return str << form(_("Error occurred while setting download (curl) options for '%s':"), _url.c_str() );
147  if ( !_msg.empty() )
148  str << endl << _msg;
149  }
150 
151  std::ostream & MediaNotDesiredException::dumpOn( std::ostream & str ) const
152  {
153  return str << form(_("Media source '%s' does not contain the desired medium"), _url.c_str() );
154  }
155 
156  std::ostream & MediaIsSharedException::dumpOn( std::ostream & str ) const
157  {
158  return str << form(_("Medium '%s' is in use by another instance"), _name.c_str() );
159  }
160 
161  std::ostream & MediaNotEjectedException::dumpOn( std::ostream & str ) const
162  {
163  if( _name.empty() )
164  return str << _("Cannot eject any media");
165  else
166  return str << form(_("Cannot eject media '%s'"), _name.c_str());
167  }
168 
169  std::ostream & MediaUnauthorizedException::dumpOn( std::ostream & str ) const
170  {
171  str << msg();
172  if( !_url.asString().empty())
173  str << " (" << _url << ")";
174  if( !_err.empty())
175  str << ": " << _err;
176  return str;
177  }
178 
179  std::ostream & MediaForbiddenException::dumpOn( std::ostream & str ) const
180  {
181  str << form(_("Permission to access '%s' denied."), _url.c_str());
182  if ( !_msg.empty() )
183  str << endl << _msg;
184  return str;
185  }
186 
187  std::ostream & MediaTimeoutException::dumpOn( std::ostream & str ) const
188  {
189  str << form(_("Timeout exceeded when accessing '%s'."), _url.c_str() );
190  if ( !_msg.empty() )
191  str << endl << _msg;
192  return str;
193  }
194 
195  std::ostream &MediaFileSizeExceededException::dumpOn(std::ostream &str) const
196  {
197  str << form(_("Downloaded data exceeded the expected filesize '%s' of '%s'."), _expectedFileSize.asString().c_str(), _url.c_str() );
198  if ( !_msg.empty() )
199  str << endl << _msg;
200  return str;
201  }
202 
203  std::ostream & MediaTemporaryProblemException::dumpOn( std::ostream & str ) const
204  {
205  str << form(_("Location '%s' is temporarily unaccessible."), _url.c_str() );
206  if ( !_msg.empty() )
207  str << endl << _msg;
208  return str;
209  }
210 
211  std::ostream & MediaBadCAException::dumpOn( std::ostream & str ) const
212  {
213  str << form(_(" SSL certificate problem, verify that the CA cert is OK for '%s'."), _url.c_str() );
214  if ( !_msg.empty() )
215  str << endl << _msg;
216  return str;
217  }
218 
220  } // namespace media
221 } // namespace zypp
virtual std::ostream & dumpOn(std::ostream &str) const
Overload this to print a proper error message.
virtual std::ostream & dumpOn(std::ostream &str) const
Overload this to print a proper error message.
virtual std::ostream & dumpOn(std::ostream &str) const
Overload this to print a proper error message.
Interface to gettext.
virtual std::ostream & dumpOn(std::ostream &str) const
Overload this to print a proper error message.
virtual std::ostream & dumpOn(std::ostream &str) const
Overload this to print a proper error message.
virtual std::ostream & dumpOn(std::ostream &str) const
Overload this to print a proper error message.
virtual std::ostream & dumpOn(std::ostream &str) const
Overload this to print a proper error message.
virtual ~MediaException() noexcept override
Dtor.
String related utilities and Regular expression matching.
std::string form(const char *format,...) __attribute__((format(printf
Printf style construction of std::string.
Definition: String.cc:36
virtual std::ostream & dumpOn(std::ostream &str) const
Overload this to print a proper error message.
virtual std::ostream & dumpOn(std::ostream &str) const
Overload this to print a proper error message.
std::string asString() const
Returns a default string representation of the Url object.
Definition: Url.cc:492
virtual std::ostream & dumpOn(std::ostream &str) const
Overload this to print a proper error message.
virtual std::ostream & dumpOn(std::ostream &str) const
Overload this to print a proper error message.
virtual std::ostream & dumpOn(std::ostream &str) const
Overload this to print a proper error message.
virtual std::ostream & dumpOn(std::ostream &str) const
Overload this to print a proper error message.
#define _(MSG)
Definition: Gettext.h:37
virtual std::ostream & dumpOn(std::ostream &str) const
Overload this to print a proper error message.
virtual std::ostream & dumpOn(std::ostream &str) const
Overload this to print a proper error message.
std::string asString(unsigned field_width_r=0, unsigned unit_width_r=1) const
Auto selected Unit and precision.
Definition: ByteCount.h:133
virtual std::ostream & dumpOn(std::ostream &str) const
Overload this to print a proper error message.
virtual std::ostream & dumpOn(std::ostream &str) const
Overload this to print a proper error message.
virtual std::ostream & dumpOn(std::ostream &str) const
Overload this to print a proper error message.
virtual std::ostream & dumpOn(std::ostream &str) const
Overload this to print a proper error message.
virtual std::ostream & dumpOn(std::ostream &str) const
Overload this to print a proper error message.
virtual std::ostream & dumpOn(std::ostream &str) const
Overload this to print a proper error message.
virtual std::ostream & dumpOn(std::ostream &str) const
Overload this to print a proper error message.
virtual std::ostream & dumpOn(std::ostream &str) const
Overload this to print a proper error message.
virtual std::ostream & dumpOn(std::ostream &str) const
Overload this to print a proper error message.
virtual std::ostream & dumpOn(std::ostream &str) const
Overload this to print a proper error message.
Easy-to use interface to the ZYPP dependency resolver.
Definition: CodePitfalls.doc:1
virtual std::ostream & dumpOn(std::ostream &str) const
Overload this to print a proper error message.
virtual std::ostream & dumpOn(std::ostream &str) const
Overload this to print a proper error message.
virtual std::ostream & dumpOn(std::ostream &str) const
Overload this to print a proper error message.
virtual std::ostream & dumpOn(std::ostream &str) const
Overload this to print a proper error message.
const std::string & msg() const
Return the message string provided to the ctor.
Definition: Exception.h:195