4 /** \ingroup rpmts rpmte
6 * Structures used for an "rpmte" transaction element.
9 #include <rpm/rpmtypes.h>
16 * Transaction element type.
18 typedef enum rpmElementType_e {
19 TR_ADDED = (1 << 0), /*!< Package will be installed. */
20 TR_REMOVED = (1 << 1) /*!< Package will be removed. */
24 * Retrieve header from transaction element.
25 * @param te transaction element
26 * @return header (new reference)
28 Header rpmteHeader(rpmte te);
31 * Save header into transaction element.
32 * @param te transaction element
36 Header rpmteSetHeader(rpmte te, Header h);
39 * Retrieve type of transaction element.
40 * @param te transaction element
43 rpmElementType rpmteType(rpmte te);
46 * Retrieve name string of transaction element.
47 * @param te transaction element
50 const char * rpmteN(rpmte te);
53 * Retrieve epoch string of transaction element.
54 * @param te transaction element
55 * @return epoch string
57 const char * rpmteE(rpmte te);
60 * Retrieve version string of transaction element.
61 * @param te transaction element
62 * @return version string
64 const char * rpmteV(rpmte te);
67 * Retrieve release string of transaction element.
68 * @param te transaction element
69 * @return release string
71 const char * rpmteR(rpmte te);
74 * Retrieve arch string of transaction element.
75 * @param te transaction element
78 const char * rpmteA(rpmte te);
81 * Retrieve os string of transaction element.
82 * @param te transaction element
85 const char * rpmteO(rpmte te);
88 * Retrieve isSource attribute of transaction element.
89 * @param te transaction element
90 * @return isSource attribute
92 int rpmteIsSource(rpmte te);
95 * Retrieve color bits of transaction element.
96 * @param te transaction element
99 rpm_color_t rpmteColor(rpmte te);
102 * Set color bits of transaction element.
103 * @param te transaction element
104 * @param color new color bits
105 * @return previous color bits
107 rpm_color_t rpmteSetColor(rpmte te, rpm_color_t color);
110 * Retrieve last instance installed to the database.
111 * @param te transaction element
112 * @return last install instance.
114 unsigned int rpmteDBInstance(rpmte te);
117 * Set last instance installed to the database.
118 * @param te transaction element
119 * @param instance Database instance of last install element.
120 * @return last install instance.
122 void rpmteSetDBInstance(rpmte te, unsigned int instance);
125 * Retrieve size in bytes of package file.
126 * @todo Signature header is estimated at 256b.
127 * @param te transaction element
128 * @return size in bytes of package file.
130 rpm_loff_t rpmtePkgFileSize(rpmte te);
133 * Retrieve parent transaction element.
134 * @param te transaction element
135 * @return parent transaction element
137 rpmte rpmteParent(rpmte te);
140 * Set parent transaction element.
141 * @param te transaction element
142 * @param pte new parent transaction element
143 * @return previous parent transaction element
145 rpmte rpmteSetParent(rpmte te, rpmte pte);
148 * Return problem set info of transaction element.
149 * @param te transaction element
150 * @return problem set (or NULL if none)
152 rpmps rpmteProblems(rpmte te);
155 * Destroy problem set info of transaction element.
156 * @param te transaction element
158 void rpmteCleanProblems(rpmte te);
161 * Destroy dependency set info of transaction element.
162 * @param te transaction element
164 void rpmteCleanDS(rpmte te);
167 * Set dependent element of TR_REMOVED transaction element.
168 * @param te transaction element
169 * @param depends dependent transaction element
171 void rpmteSetDependsOn(rpmte te, rpmte depends);
174 * Retrieve dependent element of TR_REMOVED transaction element.
175 * @param te transaction element
176 * @return dependent transaction element
178 rpmte rpmteDependsOn(rpmte te);
181 * Retrieve rpmdb instance of TR_REMOVED transaction element.
182 * @param te transaction element
183 * @return rpmdb instance
185 int rpmteDBOffset(rpmte te);
188 * Retrieve [epoch:]version-release string from transaction element.
189 * @param te transaction element
190 * @return [epoch:]version-release string
192 const char * rpmteEVR(rpmte te);
195 * Retrieve name-[epoch:]version-release string from transaction element.
196 * @param te transaction element
197 * @return name-[epoch:]version-release string
199 const char * rpmteNEVR(rpmte te);
202 * Retrieve name-[epoch:]version-release.arch string from transaction element.
203 * @param te transaction element
204 * @return name-[epoch:]version-release.arch string
206 const char * rpmteNEVRA(rpmte te);
209 * Retrieve key from transaction element.
210 * @param te transaction element
213 fnpyKey rpmteKey(rpmte te);
216 * Return failure status of transaction element.
217 * If the element itself failed, this is 1, larger count means one of
218 * it's parents failed.
219 * @param te transaction element
220 * @return number of failures for this transaction element
222 int rpmteFailed(rpmte te);
225 * Retrieve dependency tag set from transaction element.
226 * @param te transaction element
227 * @param tag dependency tag
228 * @return dependency tag set
230 rpmds rpmteDS(rpmte te, rpmTag tag);
233 * Retrieve file info tag set from transaction element.
234 * @param te transaction element
235 * @return file info tag set
237 rpmfi rpmteFI(rpmte te);