libzypp 9.41.1
|
00001 /*---------------------------------------------------------------------\ 00002 | ____ _ __ __ ___ | 00003 | |__ / \ / / . \ . \ | 00004 | / / \ V /| _/ _/ | 00005 | / /__ | | | | | | | 00006 | /_____||_| |_| |_| | 00007 | | 00008 \---------------------------------------------------------------------*/ 00012 #ifndef ZYPP_TARGET_MODALIAS_MODALIAS_H 00013 #define ZYPP_TARGET_MODALIAS_MODALIAS_H 00014 00015 #include <iosfwd> 00016 #include <vector> 00017 #include <string> 00018 00019 #include "zypp/base/PtrTypes.h" 00020 #include "zypp/IdString.h" 00021 00023 namespace zypp 00024 { 00025 00026 namespace target 00027 { 00028 00030 // 00031 // CLASS NAME : Modalias 00032 // 00035 class Modalias 00036 { 00037 friend std::ostream & operator<<( std::ostream & str, const Modalias & obj ); 00038 00039 public: 00041 class Impl; 00042 00043 public: 00044 typedef std::vector<std::string> ModaliasList; 00045 00047 static Modalias & instance(); 00048 00050 ~Modalias(); 00051 00052 public: 00053 00069 bool query( IdString cap_r ) const 00070 { return query( cap_r.c_str() ); } 00072 bool query( const char * cap_r ) const; 00074 bool query( const std::string & cap_r ) const 00075 { return query( cap_r.c_str() ); } 00076 00078 const ModaliasList & modaliasList() const; 00079 00080 private: 00082 Modalias(); 00083 00085 RW_pointer<Impl> _pimpl; 00086 }; 00088 00090 std::ostream & operator<<( std::ostream & str, const Modalias & obj ); 00091 00093 } // namespace target 00096 } // namespace zypp 00098 #endif // ZYPP_TARGET_MODALIAS_MODALIAS_H