1.1 --- a/librazor/razor.h Mon Jun 16 15:40:30 2008 -0400
1.2 +++ b/librazor/razor.h Fri Jun 20 14:18:52 2008 -0400
1.3 @@ -26,21 +26,31 @@
1.4 struct razor_package;
1.5 struct razor_property;
1.6
1.7 -enum razor_property_type {
1.8 - RAZOR_PROPERTY_REQUIRES,
1.9 - RAZOR_PROPERTY_PROVIDES,
1.10 - RAZOR_PROPERTY_CONFLICTS,
1.11 - RAZOR_PROPERTY_OBSOLETES
1.12 +enum razor_property_flags {
1.13 + RAZOR_PROPERTY_LESS = 1 << 0,
1.14 + RAZOR_PROPERTY_GREATER = 1 << 1,
1.15 + RAZOR_PROPERTY_EQUAL = 1 << 2,
1.16 + RAZOR_PROPERTY_RELATION_MASK =
1.17 + RAZOR_PROPERTY_LESS |
1.18 + RAZOR_PROPERTY_GREATER |
1.19 + RAZOR_PROPERTY_EQUAL,
1.20 +
1.21 + RAZOR_PROPERTY_REQUIRES = 0 << 3,
1.22 + RAZOR_PROPERTY_PROVIDES = 1 << 3,
1.23 + RAZOR_PROPERTY_CONFLICTS = 2 << 3,
1.24 + RAZOR_PROPERTY_OBSOLETES = 3 << 3,
1.25 + RAZOR_PROPERTY_TYPE_MASK = 3 << 3,
1.26 +
1.27 + RAZOR_PROPERTY_PRE = 1 << 5,
1.28 + RAZOR_PROPERTY_POST = 1 << 6,
1.29 + RAZOR_PROPERTY_PREUN = 1 << 7,
1.30 + RAZOR_PROPERTY_POSTUN = 1 << 8
1.31 };
1.32
1.33 -enum razor_version_relation {
1.34 - RAZOR_VERSION_LESS,
1.35 - RAZOR_VERSION_LESS_OR_EQUAL,
1.36 - RAZOR_VERSION_EQUAL,
1.37 - RAZOR_VERSION_GREATER_OR_EQUAL,
1.38 - RAZOR_VERSION_GREATER
1.39 -};
1.40 -extern const char * const razor_version_relations[];
1.41 +const char *
1.42 +razor_property_relation_to_string(struct razor_property *p);
1.43 +const char *
1.44 +razor_property_type_to_string(struct razor_property *p);
1.45
1.46 struct razor_set *razor_set_create(void);
1.47 struct razor_set *razor_set_open(const char *filename);
1.48 @@ -86,9 +96,8 @@
1.49 int razor_property_iterator_next(struct razor_property_iterator *pi,
1.50 struct razor_property **property,
1.51 const char **name,
1.52 - enum razor_version_relation *relation,
1.53 - const char **version,
1.54 - enum razor_property_type *type);
1.55 + uint32_t *flags,
1.56 + const char **version);
1.57 void
1.58 razor_property_iterator_destroy(struct razor_property_iterator *pi);
1.59
1.60 @@ -125,9 +134,8 @@
1.61 /* Temporary helper for test suite. */
1.62 int razor_transaction_unsatisfied_property(struct razor_transaction *trans,
1.63 const char *name,
1.64 - enum razor_version_relation rel,
1.65 - const char *version,
1.66 - enum razor_property_type type);
1.67 + uint32_t flags,
1.68 + const char *version);
1.69
1.70 /* Importer interface; for building a razor set from external sources,
1.71 * like yum, rpmdb or razor package files. */
1.72 @@ -143,9 +151,8 @@
1.73 const char *arch);
1.74 void razor_importer_add_property(struct razor_importer *importer,
1.75 const char *name,
1.76 - enum razor_version_relation relation,
1.77 - const char *version,
1.78 - enum razor_property_type type);
1.79 + uint32_t flags,
1.80 + const char *version);
1.81 void razor_importer_add_file(struct razor_importer *importer,
1.82 const char *name);
1.83 void razor_importer_finish_package(struct razor_importer *importer);