libzypp  12.16.5
Modalias.h
Go to the documentation of this file.
1 /*---------------------------------------------------------------------\
2 | ____ _ __ __ ___ |
3 | |__ / \ / / . \ . \ |
4 | / / \ V /| _/ _/ |
5 | / /__ | | | | | | |
6 | /_____||_| |_| |_| |
7 | |
8 \---------------------------------------------------------------------*/
12 #ifndef ZYPP_TARGET_MODALIAS_MODALIAS_H
13 #define ZYPP_TARGET_MODALIAS_MODALIAS_H
14 
15 #include <iosfwd>
16 #include <vector>
17 #include <string>
18 
19 #include "zypp/base/PtrTypes.h"
20 #include "zypp/IdString.h"
21 
23 namespace zypp
24 {
25 
26  namespace target
27  {
28 
30  //
31  // CLASS NAME : Modalias
32  //
35  class Modalias
36  {
37  friend std::ostream & operator<<( std::ostream & str, const Modalias & obj );
38 
39  public:
41  class Impl;
42 
43  public:
44  typedef std::vector<std::string> ModaliasList;
45 
47  static Modalias & instance();
48 
50  ~Modalias();
51 
52  public:
53 
69  bool query( IdString cap_r ) const
70  { return query( cap_r.c_str() ); }
72  bool query( const char * cap_r ) const;
74  bool query( const std::string & cap_r ) const
75  { return query( cap_r.c_str() ); }
76 
78  const ModaliasList & modaliasList() const;
79 
80  private:
82  Modalias();
83 
86  };
88 
90  std::ostream & operator<<( std::ostream & str, const Modalias & obj );
91 
93  } // namespace target
96 } // namespace zypp
98 #endif // ZYPP_TARGET_MODALIAS_MODALIAS_H