libzypp 17.25.10
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 {
25  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  struct 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_*/
Base class implementing common features of RepoInfo and ServiceInfo.
Definition: RepoInfoBase.h:40
virtual std::ostream & dumpOn(std::ostream &str) const
Write a human-readable representation of this RepoInfoBase object into the str stream.
shared_ptr< const RepoInfoBase > RepoInfoBase_constPtr
Definition: RepoInfoBase.h:184
std::string label() const
Label for use in messages for the user interface.
bool operator!=(const RepoInfoBase &lhs, const RepoInfoBase &rhs)
Definition: RepoInfoBase.h:172
void setAutorefresh(bool autorefresh)
enable or disable autorefresh
Definition: RepoInfoBase.cc:91
std::string escaped_alias() const
Same as alias(), just escaped in a way to be a valid file name.
virtual std::ostream & dumpAsIniOn(std::ostream &str) const
Write this RepoInfoBase object into str in a .repo (ini) file format.
void setFilepath(const Pathname &filename)
set the path to the .repo file
bool operator==(const RepoInfoBase &lhs, const RepoInfoBase &rhs)
Definition: RepoInfoBase.h:168
std::string asUserString() const
User string: label (alias or name)
Definition: RepoInfoBase.h:82
void setAlias(const std::string &alias)
set the repository alias
Definition: RepoInfoBase.cc:94
shared_ptr< RepoInfoBase > RepoInfoBase_Ptr
Definition: RepoInfoBase.h:182
Pathname filepath() const
File where this repo was read from.
friend std::ostream & operator<<(std::ostream &str, const RepoInfoBase &obj)
void setName(const std::string &name)
set the repository name
Definition: RepoInfoBase.cc:97
bool autorefresh() const
If true, the repostory must be refreshed before creating resolvables from it.
std::string name() const
Repository name.
std::string rawName() const
The raw metadata name (no default, no variables replaced).
virtual std::ostream & dumpAsXmlOn(std::ostream &str, const std::string &content="") const
Write an XML representation of this object with content (if available).
bool enabled() const
If enabled is false, then this repository must be ignored as if does not exists, except when checking...
void setEnabled(bool enabled)
enable or disable the repository
Definition: RepoInfoBase.cc:88
RWCOW_pointer< Impl > _pimpl
Pointer to implementation.
Definition: RepoInfoBase.h:160
std::string alias() const
unique identifier for this source.
String related utilities and Regular expression matching.
bool operator<(const RepoInfoBase &lhs, const RepoInfoBase &rhs)
Definition: RepoInfoBase.h:175
std::ostream & operator<<(std::ostream &str, const DeltaCandidates &obj)
Easy-to use interface to the ZYPP dependency resolver.
Definition: CodePitfalls.doc:2
RW_pointer supporting 'copy on write' functionality.
Definition: PtrTypes.h:459