Imported Upstream version 0.6.35
[platform/upstream/libsolv.git] / src / solvable.h
index fce2b2f..090b758 100644 (file)
@@ -7,7 +7,7 @@
 
 /*
  * solvable.h
- * 
+ *
  * A solvable represents an object with name-epoch:version-release.arch
  * and dependencies
  */
 
 #include "pooltypes.h"
 #include "queue.h"
+#include "bitmap.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
 
 struct _Repo;
 
@@ -52,7 +57,8 @@ 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);
-const char *solvable_get_location(Solvable *s, unsigned int *medianrp);
+const char *solvable_get_location(Solvable *s, unsigned int *medianrp);        /* old name */
+const char *solvable_lookup_location(Solvable *s, unsigned int *medianrp);
 const char *solvable_lookup_sourcepkg(Solvable *s);
 const unsigned char *solvable_lookup_bin_checksum(Solvable *s, Id keyname, Id *typep);
 const char *solvable_lookup_checksum(Solvable *s, Id keyname, Id *typep);
@@ -69,8 +75,20 @@ void solvable_add_idarray(Solvable *s, Id keyname, Id id);
 void solvable_add_deparray(Solvable *s, Id keyname, Id dep, Id marker);
 void solvable_set_idarray(Solvable *s, Id keyname, Queue *q);
 void solvable_set_deparray(Solvable *s, Id keyname, Queue *q, Id marker);
+void solvable_unset(Solvable *s, Id keyname);
 
 int solvable_identical(Solvable *s1, Solvable *s2);
-Id solvable_selfprovidedep(Solvable *s); 
+Id solvable_selfprovidedep(Solvable *s);
+int solvable_matchesdep(Solvable *s, Id keyname, Id dep, int marker);
+
+/* weird suse stuff */
+int solvable_is_irrelevant_patch(Solvable *s, Map *installedmap);
+int solvable_trivial_installable_map(Solvable *s, Map *installedmap, Map *conflictsmap, Map *multiversionmap);
+int solvable_trivial_installable_queue(Solvable *s, Queue *installed, Map *multiversionmap);
+int solvable_trivial_installable_repo(Solvable *s, struct _Repo *installed, Map *multiversionmap);
+
+#ifdef __cplusplus
+}
+#endif
 
 #endif /* LIBSOLV_SOLVABLE_H */