# Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: albert.merono@est.fib.upc.edu-20110315161516-\ # qy5z8yv7682y4tds # target_branch: bzr://bzr.sv.gnu.org/pdf/libgnupdf/trunk/ # testament_sha1: ebfa7fb9a3813d380b83326ac3ce96f99d3f63d4 # timestamp: 2011-03-15 17:20:05 +0100 # base_revision_id: aleksander@gnu.org-20110310202209-n109f6wwc0092qgc # # Begin patch === modified file 'configure.ac' --- configure.ac 2011-01-27 23:21:59 +0000 +++ configure.ac 2011-03-15 16:15:16 +0000 @@ -102,6 +102,9 @@ dnl Some of the libraries are mandatory, and some are optional. See dnl the section "Report errors" below. +dnl libuuid +AC_LIB_HAVE_LINKFLAGS([uuid]) + dnl libpthread AC_LIB_HAVE_LINKFLAGS([pthread]) @@ -394,6 +397,10 @@ missing_libs="$missing_libs libpthread" fi +if test "x$HAVE_LIBUUID" != "xyes"; then + missing_libs="$missing_libs + libuuid" +fi if test "x$HAVE_LIBGPG_ERROR" != "xyes"; then missing_libs="$missing_libs libgpg-error" === modified file 'src/Makefile.am' --- src/Makefile.am 2011-01-27 23:21:59 +0000 +++ src/Makefile.am 2011-03-15 16:15:16 +0000 @@ -32,7 +32,8 @@ TYPES_MODULE_SOURCES = base/pdf-types.h \ base/pdf-types-buffer.c base/pdf-types-buffer.h \ - base/pdf-types-pmon.h + base/pdf-types-pmon.h \ + base/pdf-types-uuid.c base/pdf-types-uuid.h ERROR_MODULE_SOURCES = base/pdf-error.c base/pdf-error.h @@ -96,7 +97,7 @@ BASE_LAYER_SOURCES = base/pdf-base.c base/pdf-base.h \ $(ALLOC_MODULE_SOURCES) \ - $(TYPES_MODULE_SOURCES) \ +OA $(TYPES_MODULE_SOURCES) \ $(FP_MODULE_SOURCES) \ $(FILESYSTEM_MODULE_SOURCES) \ $(STM_MODULE_SOURCES) \ @@ -118,7 +119,7 @@ endif libgnupdf_la_LDFLAGS = $(top_builddir)/lib/libgnu.la \ - $(LTLIBPTHREAD) $(LTLIBM) \ + $(LTLIBUUID) $(LTLIBPTHREAD) $(LTLIBM) \ $(LTLIBJBIG2DEC) $(LTLIBJPEG) $(LTLIBCURL) \ $(LIBGCRYPT_LIBS) $(LTLIBGPG_ERROR) $(LTLIBGCRYPT) \ $(LTLIBCHECK) $(LTLIBICONV) @@ -149,6 +150,7 @@ base/pdf-error.h \ base/pdf-types-buffer.h \ base/pdf-types-pmon.h \ + base/pdf-types-uuid.h \ base/pdf-fp.h \ base/pdf-alloc.h \ base/pdf-list.h \ === added file 'src/base/pdf-types-uuid.c' --- src/base/pdf-types-uuid.c 1970-01-01 00:00:00 +0000 +++ src/base/pdf-types-uuid.c 2011-03-15 16:15:16 +0000 @@ -0,0 +1,79 @@ +/* -*- mode: C -*- + * + * File: pdf-types-uuid.c + * Date: Tue Feb 8 18:38:34 2011 + * + * GNU PDF Library - UUID generation and utilities + * + */ + +/* Copyright (C) 2008-2011 Free Software Foundation, Inc. */ + +/* This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include + +#include + +#include +#include + +pdf_uuid_t +pdf_uuid_generate (enum pdf_uuid_type_e type) +{ + pdf_uuid_t new_uuid; + + if (type == PDF_UUID_TIME) + { + uuid_generate_time (new_uuid.uuid); + } + else if (type == PDF_UUID_RANDOM) + { + uuid_generate_random (new_uuid.uuid); + } + else + { + uuid_generate (new_uuid.uuid); + } + + return new_uuid; +} + +const char * +pdf_uuid_string (pdf_uuid_t uuid) +{ + static char ascii_rep[PDF_UUID_CHAR_LENGTH]; + + uuid_unparse (uuid.uuid, ascii_rep); + + return ascii_rep; +} + +pdf_bool_t +pdf_uuid_equal_p (pdf_uuid_t uuid1, + pdf_uuid_t uuid2) +{ + pdf_bool_t b; + + if (uuid_compare (uuid1.uuid, uuid2.uuid) == 0) + b = PDF_TRUE; + else + b = PDF_FALSE; + + return b; + +} + +/* End of pdf-types-uuid.c */ === added file 'src/base/pdf-types-uuid.h' --- src/base/pdf-types-uuid.h 1970-01-01 00:00:00 +0000 +++ src/base/pdf-types-uuid.h 2011-03-15 16:15:16 +0000 @@ -0,0 +1,79 @@ +/* -*- mode: C -*- + * + * File: pdf-types-uuid.h + * Date: Tue Feb 8 16:48:00 2011 + * + * GNU PDF Library - UUID generation and utilities + * + */ + +/* Copyright (C) 2008-2011 Free Software Foundation, Inc. */ + +/* This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#ifndef PDF_TYPES_UUID_H +#define PDF_TYPES_UUID_H + +#include + +/* BEGIN PUBLIC */ + +#include + +/* END PUBLIC */ + +#include + +#define PDF_UUID_CHAR_LENGTH 45 + +/* BEGIN PUBLIC */ + +/* Types of UUIDs */ +/* Currently only time-based and random-based UUIDs are supported */ +enum pdf_uuid_type_e +{ + /* Time-based */ + PDF_UUID_TIME, + /* Random-based */ + PDF_UUID_RANDOM +}; + +/* END PUBLIC*/ + +struct pdf_uuid_s +{ + uuid_t uuid; +}; + +/* BEGIN PUBLIC */ + +typedef struct pdf_uuid_s pdf_uuid_t; + +/* UUID creation */ +pdf_uuid_t pdf_uuid_generate (enum pdf_uuid_type_e type); + +/* Printed ASCII representation of an UUID */ +/* NOTE: The returned pointer is to static data, which is overwritten with each call */ +const char * pdf_uuid_string (pdf_uuid_t uuid); + +/* Determine if two UUIDs are equal */ +pdf_bool_t pdf_uuid_equal_p (pdf_uuid_t uuid1, + pdf_uuid_t uuid2); + +/* END PUBLIC */ + +#endif /* !PDF_TYPES_UUID_H */ + +/* End of pdf-types-uuid.h */ # Begin bundle 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