libzypp  15.28.6
RepoInfoBase.h
Go to the documentation of this file.
1 /*---------------------------------------------------------------------\
2 | ____ _ __ __ ___ |
3 | |__ / \ / / . \ . \ |
4 | / / \ V /| _/ _/ |
5 | / /__ | | | | | | |
6 | /_____||_| |_| |_| |
7 | |
8 \---------------------------------------------------------------------*/
12 #ifndef REPOINFOBASE_H_
13 #define REPOINFOBASE_H_
14 
15 #include <iosfwd>
16 
17 #include "zypp/base/PtrTypes.h"
18 #include "zypp/APIConfig.h"
19 #include "zypp/Pathname.h"
20 
22 namespace zypp
23 {
24  namespace repo
26  {
27 
29  //
30  // CLASS NAME : RepoInfoBase
31  //
40  {
41  friend std::ostream & operator<<( std::ostream & str, const RepoInfoBase & obj );
42 
43  public:
44  RepoInfoBase();
45  RepoInfoBase(const std::string & alias);
46  virtual ~RepoInfoBase();
47 
55  std::string alias() const;
56 
60  std::string escaped_alias() const;
61 
69  std::string name() const;
70 
72  std::string rawName() const;
73 
79  std::string label() const;
80 
82  std::string asUserString() const
83  { return label(); }
84 
89  bool enabled() const;
90 
95  bool autorefresh() const;
96 
103  Pathname filepath() const;
104 
105 
106  public:
107 
112  void setAlias( const std::string &alias );
113 
118  void setName( const std::string &name );
119 
124  void setEnabled( bool enabled );
125 
130  void setAutorefresh( bool autorefresh );
131 
140  void setFilepath( const Pathname &filename );
141 
146  virtual std::ostream & dumpOn( std::ostream & str ) const;
147 
152  virtual std::ostream & dumpAsIniOn( std::ostream & str ) const;
153 
158  virtual std::ostream & dumpAsXmlOn( std::ostream & str, const std::string & content = "" ) const;
159 
160  class Impl;
161  private:
164  };
166 
168  inline bool operator==( const RepoInfoBase & lhs, const RepoInfoBase & rhs )
169  { return lhs.alias() == rhs.alias(); }
170 
172  inline bool operator!=( const RepoInfoBase & lhs, const RepoInfoBase & rhs )
173  { return lhs.alias() != rhs.alias(); }
174 
175  inline bool operator<( const RepoInfoBase & lhs, const RepoInfoBase & rhs )
176  { return lhs.alias() < rhs.alias(); }
177 
179  std::ostream & operator<<( std::ostream & str, const RepoInfoBase & obj );
180 
182  typedef shared_ptr<RepoInfoBase> RepoInfoBase_Ptr;
184  typedef shared_ptr<const RepoInfoBase> RepoInfoBase_constPtr;
185 
186 
188  } // namespace repo
191 } // namespace zypp
193 
194 #endif /*REPOINFOBASE_H_*/
std::string name() const
Repository name.
std::string alias() const
unique identifier for this source.
std::string escaped_alias() const
Same as alias(), just escaped in a way to be a valid file name.
void setAutorefresh(bool autorefresh)
enable or disable autorefresh
Definition: RepoInfoBase.cc:91
Pathname filepath() const
File where this repo was read from.
void setEnabled(bool enabled)
enable or disable the repository
Definition: RepoInfoBase.cc:88
bool operator==(const RepoInfoBase &lhs, const RepoInfoBase &rhs)
Definition: RepoInfoBase.h:168
void setAlias(const std::string &alias)
set the repository alias
Definition: RepoInfoBase.cc:94
void setFilepath(const Pathname &filename)
set the path to the .repo file
bool operator<(const RepoInfoBase &lhs, const RepoInfoBase &rhs)
Definition: RepoInfoBase.h:175
virtual std::ostream & dumpAsIniOn(std::ostream &str) const
Write this RepoInfoBase object into str in a .repo (ini) file format.
virtual std::ostream & dumpOn(std::ostream &str) const
Write a human-readable representation of this RepoInfoBase object into the str stream.
bool enabled() const
If enabled is false, then this repository must be ignored as if does not exists, except when checking...
std::string rawName() const
The raw metadata name (no default, no variables replaced).
std::string label() const
Label for use in messages for the user interface.
Provides API related macros.
std::ostream & operator<<(std::ostream &str, const DeltaCandidates &obj)
bool operator!=(const RepoInfoBase &lhs, const RepoInfoBase &rhs)
Definition: RepoInfoBase.h:172
friend std::ostream & operator<<(std::ostream &str, const RepoInfoBase &obj)
bool autorefresh() const
If true, the repostory must be refreshed before creating resolvables from it.
Base class implementing common features of RepoInfo and ServiceInfo.
Definition: RepoInfoBase.h:39
void setName(const std::string &name)
set the repository name
Definition: RepoInfoBase.cc:97
shared_ptr< const RepoInfoBase > RepoInfoBase_constPtr
Definition: RepoInfoBase.h:184
RWCOW_pointer< Impl > _pimpl
Pointer to implementation.
Definition: RepoInfoBase.h:160
std::string asUserString() const
User string: label (alias or name)
Definition: RepoInfoBase.h:82
shared_ptr< RepoInfoBase > RepoInfoBase_Ptr
Definition: RepoInfoBase.h:182
virtual std::ostream & dumpAsXmlOn(std::ostream &str, const std::string &content="") const
Write an XML representation of this object with content (if available).