libzypp  17.32.4
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 
48  RepoInfoBase(const RepoInfoBase &) = default;
49  RepoInfoBase(RepoInfoBase &&) noexcept = default;
50  RepoInfoBase &operator=(const RepoInfoBase &) = default;
51  RepoInfoBase &operator=(RepoInfoBase &&) noexcept = default;
52 
60  std::string alias() const;
61 
65  std::string escaped_alias() const;
66 
74  std::string name() const;
75 
77  std::string rawName() const;
78 
84  std::string label() const;
85 
87  std::string asUserString() const
88  { return label(); }
89 
94  bool enabled() const;
95 
100  bool autorefresh() const;
101 
108  Pathname filepath() const;
109 
110 
111  public:
112 
117  void setAlias( const std::string &alias );
118 
123  void setName( const std::string &name );
124 
129  void setEnabled( bool enabled );
130 
135  void setAutorefresh( bool autorefresh );
136 
145  void setFilepath( const Pathname &filename );
146 
151  virtual std::ostream & dumpOn( std::ostream & str ) const;
152 
157  virtual std::ostream & dumpAsIniOn( std::ostream & str ) const;
158 
163  virtual std::ostream & dumpAsXmlOn( std::ostream & str, const std::string & content = "" ) const;
164 
165  struct Impl;
166  private:
169  };
171 
173  inline bool operator==( const RepoInfoBase & lhs, const RepoInfoBase & rhs )
174  { return lhs.alias() == rhs.alias(); }
175 
177  inline bool operator!=( const RepoInfoBase & lhs, const RepoInfoBase & rhs )
178  { return lhs.alias() != rhs.alias(); }
179 
180  inline bool operator<( const RepoInfoBase & lhs, const RepoInfoBase & rhs )
181  { return lhs.alias() < rhs.alias(); }
182 
184  std::ostream & operator<<( std::ostream & str, const RepoInfoBase & obj );
185 
187  using RepoInfoBase_Ptr = shared_ptr<RepoInfoBase>;
189  using RepoInfoBase_constPtr = shared_ptr<const RepoInfoBase>;
190 
191 
193  } // namespace repo
196 } // namespace zypp
198 
199 #endif /*REPOINFOBASE_H_*/
Pathname filepath() const
File where this repo was read from.
void setAutorefresh(bool autorefresh)
enable or disable autorefresh
Definition: RepoInfoBase.cc:91
virtual std::ostream & dumpAsXmlOn(std::ostream &str, const std::string &content="") const
Write an XML representation of this object with content (if available).
void setEnabled(bool enabled)
enable or disable the repository
Definition: RepoInfoBase.cc:88
shared_ptr< const RepoInfoBase > RepoInfoBase_constPtr
Definition: RepoInfoBase.h:189
bool operator==(const RepoInfoBase &lhs, const RepoInfoBase &rhs)
Definition: RepoInfoBase.h:173
void setAlias(const std::string &alias)
set the repository alias
Definition: RepoInfoBase.cc:94
String related utilities and Regular expression matching.
void setFilepath(const Pathname &filename)
set the path to the .repo file
bool operator<(const RepoInfoBase &lhs, const RepoInfoBase &rhs)
Definition: RepoInfoBase.h:180
std::string escaped_alias() const
Same as alias(), just escaped in a way to be a valid file name.
std::string asUserString() const
User string: label (alias or name)
Definition: RepoInfoBase.h:87
bool enabled() const
If enabled is false, then this repository must be ignored as if does not exists, except when checking...
shared_ptr< RepoInfoBase > RepoInfoBase_Ptr
Definition: RepoInfoBase.h:187
std::string alias() const
unique identifier for this source.
std::ostream & operator<<(std::ostream &str, const DeltaCandidates &obj)
std::string rawName() const
The raw metadata name (no default, no variables replaced).
bool operator!=(const RepoInfoBase &lhs, const RepoInfoBase &rhs)
Definition: RepoInfoBase.h:177
friend std::ostream & operator<<(std::ostream &str, const RepoInfoBase &obj)
RepoInfoBase & operator=(const RepoInfoBase &)=default
std::string name() const
Repository name.
Base class implementing common features of RepoInfo and ServiceInfo.
Definition: RepoInfoBase.h:39
virtual std::ostream & dumpAsIniOn(std::ostream &str) const
Write this RepoInfoBase object into str in a .repo (ini) file format.
bool autorefresh() const
If true, the repostory must be refreshed before creating resolvables from it.
void setName(const std::string &name)
set the repository name
Definition: RepoInfoBase.cc:97
virtual std::ostream & dumpOn(std::ostream &str) const
Write a human-readable representation of this RepoInfoBase object into the str stream.
RWCOW_pointer< Impl > _pimpl
Pointer to implementation.
Definition: RepoInfoBase.h:165
Easy-to use interface to the ZYPP dependency resolver.
Definition: Application.cc:19
std::string label() const
Label for use in messages for the user interface.