GcrComparable

GcrComparable — Interface for comparing objects

Synopsis

                    GcrComparable;
struct              GcrComparableIface;
gint                gcr_comparable_compare              (GcrComparable *self,
                                                         GcrComparable *other);
gint                gcr_comparable_memcmp               (gconstpointer mem1,
                                                         gsize size1,
                                                         gconstpointer mem2,
                                                         gsize size2);

Object Hierarchy

  GInterface
   +----GcrComparable

Prerequisites

GcrComparable requires GObject.

Known Derived Interfaces

GcrComparable is required by GcrCertificate.

Known Implementations

GcrComparable is implemented by GcrCertificateRenderer, GcrPkcs11Certificate and GcrSimpleCertificate.

Description

The GcrComparable interface is implemented by objects when they should be comparable against one another.

Details

GcrComparable

typedef struct _GcrComparable GcrComparable;

The GcrComparable interface is implemented by comparable objects.


struct GcrComparableIface

struct GcrComparableIface {
	GTypeInterface parent;
	gint (*compare) (GcrComparable *self, GcrComparable *other);
};

The interface to implement for GcrComparable

GTypeInterface parent;

type interface

compare ()

Compare whether tow objects represent the same thing.

gcr_comparable_compare ()

gint                gcr_comparable_compare              (GcrComparable *self,
                                                         GcrComparable *other);

Compare whether two objects represent the same thing. The return value can also be used to sort the objects.

self :

The comparable object

other :

Another comparable object. [allow-none]

Returns :

Zero if the two objects represent the same thing, non-zero if not.

gcr_comparable_memcmp ()

gint                gcr_comparable_memcmp               (gconstpointer mem1,
                                                         gsize size1,
                                                         gconstpointer mem2,
                                                         gsize size2);

Compare two blocks of memory. The return value can be used to sort the blocks of memory.

mem1 :

First block of memory. [array length=size1][element-type guint8]

size1 :

Length of first block

mem2 :

Second block of memory. [array length=size2][element-type guint8]

size2 :

Length of second block

Returns :

Zero if the blocks are identical, negative if first less than secend, possitive otherwise.