[4.0] Use strip (instead of eu-strip) to support --strip-debug of *.so at build time
[platform/upstream/rpm.git] / lib / rpmte.h
index f1edfe4..a66c1e9 100644 (file)
@@ -7,20 +7,12 @@
  */
 
 #include <rpm/rpmtypes.h>
+#include <rpm/argv.h>
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
-/**
- */
-extern int _rpmte_debug;
-
-/** \ingroup rpmte
- * Transaction element ordering chain linkage.
- */
-typedef struct tsortInfo_s *           tsortInfo;
-
 /** \ingroup rpmte
  * Transaction element type.
  */
@@ -29,32 +21,12 @@ typedef enum rpmElementType_e {
     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);
 
@@ -176,23 +148,17 @@ rpmte rpmteParent(rpmte te);
 rpmte rpmteSetParent(rpmte te, rpmte pte);
 
 /** \ingroup rpmte
- * Retrieve tsort info for transaction element.
- * @param te           transaction element
- * @return             tsort info
- */
-tsortInfo rpmteTSI(rpmte te);
-
-/** \ingroup rpmte
- * Destroy tsort info of transaction element.
+ * Return problem set info of transaction element.
  * @param te           transaction element
+ * @return             problem set (or NULL if none)
  */
-void rpmteFreeTSI(rpmte te);
+rpmps rpmteProblems(rpmte te);
 
 /** \ingroup rpmte
- * Initialize tsort info of transaction element.
+ * Destroy problem set info of transaction element.
  * @param te           transaction element
  */
-void rpmteNewTSI(rpmte te);
+void rpmteCleanProblems(rpmte te);
 
 /** \ingroup rpmte
  * Destroy dependency set info of transaction element.
@@ -250,9 +216,11 @@ const char * rpmteNEVRA(rpmte te);
 fnpyKey rpmteKey(rpmte te);
 
 /** \ingroup rpmte
- * Return failed status of transaction element.
+ * Return failure status of transaction element.
+ * If the element itself failed, this is 1, larger count means one of
+ * it's parents failed.
  * @param te           transaction element
- * @return             1 if transaction element (or its parents) failed
+ * @return             number of failures for this transaction element
  */
 int rpmteFailed(rpmte te);
 
@@ -262,7 +230,7 @@ int rpmteFailed(rpmte te);
  * @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.
@@ -272,11 +240,20 @@ rpmds rpmteDS(rpmte te, rpmTag tag);
 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
 }