41 :
Exception(
"Repo exception" ), _info( info )
59 #define DEF_CTORS( CLASS, MSG ) \
60 CLASS::CLASS() : RepoException( MSG ) {} \
61 CLASS::CLASS( const std::string & msg_r ) : RepoException( msg_r ) {} \
62 CLASS::CLASS( const RepoInfo & service_r ) : RepoException( service_r, MSG ) {} \
63 CLASS::CLASS( const RepoInfo & service_r, const std::string & msg_r ) : RepoException( service_r, msg_r ) {}
91 :
Exception(
"Service exception" ), _service( service_r )
95 :
Exception( msg_r ), _service( service_r )
109 #define DEF_CTORS( CLASS, MSG ) \
110 CLASS::CLASS() : DEF_BASECLASS( MSG ) {} \
111 CLASS::CLASS( const std::string & msg_r ) : DEF_BASECLASS( msg_r ) {} \
112 CLASS::CLASS( const ServiceInfo & service_r ) : DEF_BASECLASS( service_r, MSG ) {} \
113 CLASS::CLASS( const ServiceInfo & service_r, const std::string & msg_r ) : DEF_BASECLASS( service_r, msg_r ) {}
115 #define DEF_BASECLASS ServiceException
116 DEF_CTORS( ServiceNoAliasException,
"Service has no alias defined." );
117 DEF_CTORS( ServiceInvalidAliasException,
"Service has an invalid alias." );
118 DEF_CTORS( ServiceAlreadyExistsException,
"Service already exists." );
119 DEF_CTORS( ServiceNoUrlException,
"Service has no or invalid url defined." );
122 DEF_CTORS( ServicePluginException,
"PLUGIN service exception." );
127 #define DEF_BASECLASS ServicePluginException
128 DEF_CTORS( ServicePluginInformalException,
"Service plugin has trouble providing the metadata but this should not be treated as error." );
129 DEF_CTORS( ServicePluginImmutableException,
_(
"Service plugin does not support changing an attribute.") );
thrown when it was impossible to match a repository
std::string alias() const
unique identifier for this source.
thrown when it was impossible to determine this repo type.
virtual std::ostream & dumpOn(std::ostream &str) const
Overload this to print a proper error message.
What is known about a repository.
virtual std::ostream & dumpOn(std::ostream &str) const
Overload this to print a proper error message.
thrown when it was impossible to determine one url for this repo.
virtual std::ostream & dumpOn(std::ostream &str) const
Overload this to print a proper error message.
DEF_CTORS(RepoNotCachedException,"Repository is not cached")
thrown when it was impossible to determine an alias for this repo.
Base class for Exception.
The repository cache is not built yet so you can't create the repostories from the cache...
Url url() const
Pars pro toto: The first repository url.
Thrown when the repo alias is found to be invalid.
virtual ~ServiceException()
Repository already exists and some unique attribute can't be duplicated.
Url url() const
The service url.