Changeset 978ccaf1 in mainline for uspace/app/bithenge/transform.h


Ignore:
Timestamp:
2012-06-27T03:35:43Z (12 years ago)
Author:
Sean Bartell <wingedtachikoma@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
600f5d1
Parents:
04a7435f
Message:

Bithenge: various cleanup and tweaks

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/app/bithenge/transform.h

    r04a7435f r978ccaf1  
    5151typedef struct bithenge_transform_ops {
    5252        /** @copydoc bithenge_transform_t::bithenge_transform_apply */
    53         int (*apply)(bithenge_transform_t *xform, bithenge_node_t *in, bithenge_node_t **out);
     53        int (*apply)(bithenge_transform_t *self, bithenge_node_t *in, bithenge_node_t **out);
    5454        /** @copydoc bithenge_transform_t::bithenge_transform_prefix_length */
    55         int (*prefix_length)(bithenge_transform_t *xform, bithenge_blob_t *blob, aoff64_t *out);
     55        int (*prefix_length)(bithenge_transform_t *self, bithenge_blob_t *blob, aoff64_t *out);
    5656        /** Destroy the transform.
    57          * @param xform The transform.
    58          * @return EOK on success or an error code from errno.h. */
    59         int (*destroy)(bithenge_transform_t *xform);
     57         * @param self The transform. */
     58        void (*destroy)(bithenge_transform_t *self);
    6059} bithenge_transform_ops_t;
    6160
    6261/** Apply a transform.
    6362 * @memberof bithenge_transform_t
    64  * @param xform The transform.
     63 * @param self The transform.
    6564 * @param in The input tree.
    6665 * @param[out] out Where the output tree will be stored.
    6766 * @return EOK on success or an error code from errno.h. */
    68 static inline int bithenge_transform_apply(bithenge_transform_t *xform,
     67static inline int bithenge_transform_apply(bithenge_transform_t *self,
    6968    bithenge_node_t *in, bithenge_node_t **out)
    7069{
    71         assert(xform);
    72         assert(xform->ops);
    73         return xform->ops->apply(xform, in, out);
     70        assert(self);
     71        assert(self->ops);
     72        return self->ops->apply(self, in, out);
    7473}
    7574
     
    7978 * subtransforms.
    8079 * @memberof bithenge_transform_t
    81  * @param xform The transform.
     80 * @param self The transform.
    8281 * @param blob The blob.
    8382 * @param[out] out Where the prefix length will be stored.
    8483 * @return EOK on success, ENOTSUP if not supported, or another error code from
    8584 * errno.h. */
    86 static inline int bithenge_transform_prefix_length(bithenge_transform_t *xform,
     85static inline int bithenge_transform_prefix_length(bithenge_transform_t *self,
    8786    bithenge_blob_t *blob, aoff64_t *out)
    8887{
    89         assert(xform);
    90         assert(xform->ops);
    91         if (!xform->ops->prefix_length)
     88        assert(self);
     89        assert(self->ops);
     90        if (!self->ops->prefix_length)
    9291                return ENOTSUP;
    93         return xform->ops->prefix_length(xform, blob, out);
     92        return self->ops->prefix_length(self, blob, out);
    9493}
    9594
    9695/** Increment a transform's reference count.
    97  * @param xform The transform to reference.
    98  * @return EOK on success or an error code from errno.h. */
    99 static inline int bithenge_transform_inc_ref(bithenge_transform_t *xform)
     96 * @param self The transform to reference. */
     97static inline void bithenge_transform_inc_ref(bithenge_transform_t *self)
    10098{
    101         assert(xform);
    102         xform->refs++;
    103         return EOK;
     99        assert(self);
     100        self->refs++;
    104101}
    105102
    106103/** Decrement a transform's reference count and free it if appropriate.
    107  * @param xform The transform to dereference, or NULL.
    108  * @return EOK on success or an error code from errno.h. */
    109 static inline int bithenge_transform_dec_ref(bithenge_transform_t *xform)
     104 * @param self The transform to dereference, or NULL. */
     105static inline void bithenge_transform_dec_ref(bithenge_transform_t *self)
    110106{
    111         if (!xform)
    112                 return EOK;
    113         assert(xform->ops);
    114         if (--xform->refs == 0)
    115                 return xform->ops->destroy(xform);
    116         return EOK;
     107        if (!self)
     108                return;
     109        assert(self->ops);
     110        if (--self->refs == 0)
     111                self->ops->destroy(self);
    117112}
    118113
     
    127122extern bithenge_named_transform_t *bithenge_primitive_transforms;
    128123
    129 int bithenge_new_transform(bithenge_transform_t *xform,
     124int bithenge_init_transform(bithenge_transform_t *self,
    130125    const bithenge_transform_ops_t *ops);
    131126
Note: See TracChangeset for help on using the changeset viewer.