- add pool_addvendorclass and solver_solutionelement_internalid
[platform/upstream/libsolv.git] / src / pool.h
index 535fd69..ee9f256 100644 (file)
@@ -37,7 +37,7 @@ extern "C" {
 /* how many strings to maintain (round robin) */
 #define POOL_TMPSPACEBUF 16
 
-//-----------------------------------------------
+/*----------------------------------------------- */
 
 struct _Repo;
 struct _Repodata;
@@ -82,7 +82,10 @@ struct _Pool {
   Id *languagecache;
   int languagecacheother;
 
-  /* flags to tell the library how the installed rpm works */
+  /* package manager type, deb/rpm */
+  int disttype;
+
+  /* flags to tell the library how the installed package manager works */
   int promoteepoch;            /* true: missing epoch is replaced by epoch of dependency   */
   int obsoleteusesprovides;    /* true: obsoletes are matched against provides, not names */
   int implicitobsoleteusesprovides;    /* true: implicit obsoletes due to same name are matched against provides, not names */
@@ -90,10 +93,6 @@ struct _Pool {
   int noinstalledobsoletes;    /* true: ignore obsoletes of installed packages */
   int allowselfconflicts;      /* true: packages which conflict with itself are installable */
 
-#ifdef MULTI_SEMANTICS
-  int disttype;
-#endif
-
   Id *id2arch;                 /* map arch ids to scores */
   unsigned char *id2color;     /* map arch ids to colors */
   Id lastarch;                 /* last valid entry in id2arch/id2color */
@@ -116,6 +115,7 @@ struct _Pool {
      bitmap for solving.  If zero, consider all solvables.  */
   Map *considered;
 
+  /* callback for REL_NAMESPACE dependencies handled by the application  */
   Id (*nscallback)(struct _Pool *, void *data, Id name, Id evr);
   void *nscallbackdata;
 
@@ -135,10 +135,8 @@ struct _Pool {
   Datapos pos;
 };
 
-#ifdef MULTI_SEMANTICS
-# define DISTTYPE_RPM  0
-# define DISTTYPE_DEB  1
-#endif
+#define DISTTYPE_RPM   0
+#define DISTTYPE_DEB   1
 
 #define SOLV_FATAL                     (1<<0)
 #define SOLV_ERROR                     (1<<1)
@@ -157,7 +155,7 @@ struct _Pool {
 
 #define SOLV_DEBUG_TO_STDERR           (1<<30)
 
-//-----------------------------------------------
+/* ----------------------------------------------- */
 
 
 /* mark dependencies with relation by setting bit31 */
@@ -177,6 +175,7 @@ struct _Pool {
 #define REL_NAMESPACE  19
 #define REL_ARCH       20
 #define REL_FILECONFLICT       21
+#define REL_COND       22
 
 #if !defined(__GNUC__) && !defined(__attribute__)
 # define __attribute__(x)
@@ -227,20 +226,6 @@ static inline const char *pool_solvid2str(Pool *pool, Id p)
 void pool_set_languages(Pool *pool, const char **languages, int nlanguages);
 Id pool_id2langid(Pool *pool, Id id, const char *lang, int create);
 
-Id solvable_lookup_id(Solvable *s, Id keyname);
-unsigned int solvable_lookup_num(Solvable *s, Id keyname, unsigned int notfound);
-const char *solvable_lookup_str(Solvable *s, Id keyname);
-const char *solvable_lookup_str_poollang(Solvable *s, Id keyname);
-const char *solvable_lookup_str_lang(Solvable *s, Id keyname, const char *lang, int usebase);
-int solvable_lookup_bool(Solvable *s, Id keyname);
-int solvable_lookup_void(Solvable *s, Id keyname);
-char * solvable_get_location(Solvable *s, unsigned int *medianrp);
-const unsigned char *solvable_lookup_bin_checksum(Solvable *s, Id keyname, Id *typep);
-const char *solvable_lookup_checksum(Solvable *s, Id keyname, Id *typep);
-int solvable_lookup_idarray(Solvable *s, Id keyname, Queue *q);
-int solvable_identical(Solvable *s1, Solvable *s2);
-Id solvable_selfprovidedep(Solvable *s);
-
 int solvable_trivial_installable_map(Solvable *s, Map *installedmap, Map *conflictsmap);
 int solvable_trivial_installable_repo(Solvable *s, struct _Repo *installed);
 int solvable_trivial_installable_queue(Solvable *s, Queue *installed);
@@ -264,7 +249,7 @@ static inline int pool_match_nevr(Pool *pool, Solvable *s, Id d)
  */
 extern void pool_createwhatprovides(Pool *pool);
 extern void pool_addfileprovides(Pool *pool);
-extern void pool_addfileprovides_ids(Pool *pool, struct _Repo *installed, Id **idp);
+extern void pool_addfileprovides_queue(Pool *pool, Queue *idq);
 extern void pool_freewhatprovides(Pool *pool);
 extern Id pool_queuetowhatprovides(Pool *pool, Queue *q);