/* patch.h:
*
* vim:smartindent ts=8:sts=2:sta:et:ai:shiftwidth=2
****************************************************************
* Copyright (C) 2005 Canonical Limited
* Authors: Robert Collins <robert.collins@canonical.com>
*
* See the file "COPYING" for further information about
* the copyright and warranty status of this work.
*/
#ifndef INCLUDE__LIBARCH__PATCH_H
#define INCLUDE__LIBARCH__PATCH_H
#include "libarch/patch-id.h"
/**
* A patch - i.e. foo@example.com/foo--bar--0--base-0
* with metadata, contents,
* and memory mgmt
*/
typedef struct arch_patch_
{
arch_patch_id patch_id;
t_uchar *creator;
} arch_patch_t;
extern void arch_patch_init (arch_patch_t *patch, t_uchar const *patch_id);
extern void arch_patch_finalise (arch_patch_t *patch);
extern arch_patch_t * arch_patch_new (t_uchar const *patch_id);
extern void arch_patch_delete (arch_patch_t **patch);
extern arch_patch_t * arch_patch_copy (arch_patch_t *patch);
/* should be const ! */
extern t_uchar * arch_patch_creator (arch_patch_t *patch);
extern void arch_patch_creator_set (arch_patch_t *patch, t_uchar const *creator);
extern arch_patch_id * arch_patch_patch_id (arch_patch_t *patch);
#endif /* INCLUDE__LIBARCH__PATCH_H */
syntax highlighted by Code2HTML, v. 0.9.1