fix decisioncnt handling
[platform/upstream/libsolv.git] / src / repodata.h
index 3951ddd..3b3eb19 100644 (file)
 #include "repopage.h"
 #endif
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 #define SIZEOF_MD5     16
 #define SIZEOF_SHA1    20
 #define SIZEOF_SHA256  32
@@ -96,6 +100,7 @@ typedef struct _Repodata {
   Id lastverticaloffset;       /* end of verticals */
 
   Repopagestore store;         /* our page store */
+  Id storestate;               /* incremented every time the store might change */
 
   unsigned char *vincore;      /* internal vertical data */
   unsigned int vincorelen;     /* data size */
@@ -262,8 +267,8 @@ void repodata_add_poolstr_array(Repodata *data, Id solvid, Id keyname, const cha
 void repodata_add_fixarray(Repodata *data, Id solvid, Id keyname, Id ghandle);
 void repodata_add_flexarray(Repodata *data, Id solvid, Id keyname, Id ghandle);
 
-void repodata_set_deleted(Repodata *data, Id solvid, Id keyname);
-void repodata_set_deleted_uninternalized(Repodata *data, Id solvid, Id keyname);
+void repodata_unset(Repodata *data, Id solvid, Id keyname);
+void repodata_unset_uninternalized(Repodata *data, Id solvid, Id keyname);
 
 /* 
  merge/swap attributes from one solvable to another
@@ -273,8 +278,7 @@ void repodata_merge_attrs(Repodata *data, Id dest, Id src);
 void repodata_merge_some_attrs(Repodata *data, Id dest, Id src, Map *keyidmap, int overwrite);
 void repodata_swap_attrs(Repodata *data, Id dest, Id src);
 
-void repodata_create_stubs(Repodata *data);
-void repodata_join(Repodata *data, Id joinkey);
+Repodata *repodata_create_stubs(Repodata *data);
 
 /*
  * load all paged data, used to speed up copying in repo_rpmdb
@@ -284,6 +288,8 @@ void repodata_disable_paging(Repodata *data);
 /* helper functions */
 Id repodata_globalize_id(Repodata *data, Id id, int create);
 Id repodata_localize_id(Repodata *data, Id id, int create);
+Id repodata_translate_id(Repodata *data, Repodata *fromdata, Id id, int create);
+
 Id repodata_str2dir(Repodata *data, const char *dir, int create);
 const char *repodata_dir2str(Repodata *data, Id did, const char *suf);
 const char *repodata_chk2str(Repodata *data, Id type, const unsigned char *buf);
@@ -295,4 +301,8 @@ Id repodata_lookup_id_uninternalized(Repodata *data, Id solvid, Id keyname, Id v
 /* stats */
 unsigned int repodata_memused(Repodata *data);
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif /* LIBSOLV_REPODATA_H */