*/
#include <rpm/rpmtypes.h>
+#include <rpm/argv.h>
#ifdef __cplusplus
extern "C" {
#endif
-/**
- */
-extern int _rpmte_debug;
-
/** \ingroup rpmte
* Transaction element type.
*/
TR_REMOVED = (1 << 1) /*!< Package will be removed. */
} rpmElementType;
-/** \ingroup rpmte
- * Destroy a transaction element.
- * @param te transaction element
- * @return NULL always
- */
-rpmte rpmteFree(rpmte te);
-
-/** \ingroup rpmte
- * Create a transaction element.
- * @param ts unused
- * @param h header
- * @param type TR_ADDED/TR_REMOVED
- * @param key (TR_ADDED) package retrieval key (e.g. file name)
- * @param relocs (TR_ADDED) package file relocations
- * @param dboffset unused
- * @return new transaction element
- */
-rpmte rpmteNew(const rpmts ts, Header h, rpmElementType type,
- fnpyKey key,
- rpmRelocation * relocs,
- int dboffset);
+typedef rpmFlags rpmElementTypes;
/** \ingroup rpmte
* Retrieve header from transaction element.
* @param te transaction element
- * @return header
+ * @return header (new reference)
*/
Header rpmteHeader(rpmte te);
rpmte rpmteSetParent(rpmte te, rpmte pte);
/** \ingroup rpmte
+ * Return problem set info of transaction element.
+ * @param te transaction element
+ * @return problem set (or NULL if none)
+ */
+rpmps rpmteProblems(rpmte te);
+
+/** \ingroup rpmte
+ * Destroy problem set info of transaction element.
+ * @param te transaction element
+ */
+void rpmteCleanProblems(rpmte te);
+
+/** \ingroup rpmte
* Destroy dependency set info of transaction element.
* @param te transaction element
*/
* @param tag dependency tag
* @return dependency tag set
*/
-rpmds rpmteDS(rpmte te, rpmTag tag);
+rpmds rpmteDS(rpmte te, rpmTagVal tag);
/** \ingroup rpmte
* Retrieve file info tag set from transaction element.
rpmfi rpmteFI(rpmte te);
/** \ingroup rpmte
- * Calculate transaction element dependency colors/refs from file info.
+ * Retrieve list of collections
* @param te transaction element
- * @param tag dependency tag (RPMTAG_PROVIDENAME, RPMTAG_REQUIRENAME)
+ * @return list of collections
*/
-void rpmteColorDS(rpmte te, rpmTag tag);
+ARGV_const_t rpmteCollections(rpmte te);
+
+/** \ingroup rpmte
+ * Determine a transaction element is part of a collection
+ * @param te transaction element
+ * @param collname collection name
+ * @return 1 if collname is part of a collection, 0 if not
+ */
+int rpmteHasCollection(rpmte te, const char * collname);
+
#ifdef __cplusplus
}