libzypp
10.5.0
|
00001 /*---------------------------------------------------------------------\ 00002 | ____ _ __ __ ___ | 00003 | |__ / \ / / . \ . \ | 00004 | / / \ V /| _/ _/ | 00005 | / /__ | | | | | | | 00006 | /_____||_| |_| |_| | 00007 | | 00008 \---------------------------------------------------------------------*/ 00012 #ifndef ZYPP_SAT_DETAIL_POOLMEMBER_H 00013 #define ZYPP_SAT_DETAIL_POOLMEMBER_H 00014 00015 #include "zypp/base/Tr1hash.h" 00016 #include "zypp/base/Iterator.h" 00017 #include "zypp/base/String.h" 00018 #include "zypp/base/Easy.h" 00019 00020 extern "C" 00021 { 00022 struct _Solvable; 00023 struct _Repo; 00024 struct _Pool; 00025 } 00026 00028 namespace zypp 00029 { 00030 00031 class IdString; 00032 class Capability; 00033 class Capabilities; 00034 class Repository; 00035 class RepoInfo; 00036 00038 namespace detail 00039 { 00040 class RepoIterator; 00041 class ByRepository; 00042 } 00043 00045 namespace sat 00046 { 00047 00048 class Pool; 00049 class Solvable; 00050 00052 namespace detail 00053 { 00054 00055 class PoolImpl; 00056 00058 // 00059 // CLASS NAME : PoolMember 00060 // 00066 struct PoolMember 00067 { 00068 static PoolImpl & myPool(); 00069 }; 00071 00073 } // namespace detail 00075 00076 00078 namespace detail 00079 { 00080 00082 typedef int IdType; 00083 static const IdType noId( 0 ); 00084 static const IdType emptyId( 1 ); 00085 00089 static const IdType solvablePrereqMarker( 15 ); 00090 static const IdType solvableFileMarker ( 16 ); 00092 inline bool isDepMarkerId( IdType id_r ) 00093 { return( id_r == solvablePrereqMarker || id_r == solvableFileMarker ); } 00094 00098 typedef unsigned SolvableIdType; 00099 typedef SolvableIdType size_type; 00101 static const SolvableIdType noSolvableId( 0 ); 00103 static const SolvableIdType systemSolvableId( 1 ); 00104 00106 typedef ::_Repo * RepoIdType; 00108 static const RepoIdType noRepoId( 0 ); 00109 00111 } // namespace detail 00113 00114 00116 namespace detail 00117 { 00118 00119 class SolvableIterator; 00120 00122 } // namespace detail 00124 00126 } // namespace sat 00129 } // namespace zypp 00131 #endif // ZYPP_SAT_DETAIL_POOLMEMBER_H