Sha256: b4729dc9e79fc4f07325b61b6ea7c0868461d11fb47f15a8c9702c98bd258281

Contents?: true

Size: 1.85 KB

Versions: 12

Compression:

Stored size: 1.85 KB

Contents

/*
 * libxlsxwriter
 *
 * Copyright 2014-2017, John McNamara, jmcnamara@cpan.org. See LICENSE.txt.
 *
 * relationships - A libxlsxwriter library for creating Excel XLSX
 *                 relationships files.
 *
 */
#ifndef __LXW_RELATIONSHIPS_H__
#define __LXW_RELATIONSHIPS_H__

#include <stdint.h>

#include "common.h"

/* Define the queue.h STAILQ structs for the generic data structs. */
STAILQ_HEAD(lxw_rel_tuples, lxw_rel_tuple);

typedef struct lxw_rel_tuple {

    char *type;
    char *target;
    char *target_mode;

    STAILQ_ENTRY (lxw_rel_tuple) list_pointers;

} lxw_rel_tuple;

/*
 * Struct to represent a relationships.
 */
typedef struct lxw_relationships {

    FILE *file;

    uint32_t rel_id;
    struct lxw_rel_tuples *relationships;

} lxw_relationships;



/* *INDENT-OFF* */
#ifdef __cplusplus
extern "C" {
#endif
/* *INDENT-ON* */

lxw_relationships *lxw_relationships_new();
void lxw_free_relationships(lxw_relationships *relationships);
void lxw_relationships_assemble_xml_file(lxw_relationships *self);

void lxw_add_document_relationship(lxw_relationships *self, const char *type,
                                   const char *target);
void lxw_add_package_relationship(lxw_relationships *self, const char *type,
                                  const char *target);
void lxw_add_ms_package_relationship(lxw_relationships *self,
                                     const char *type, const char *target);
void lxw_add_worksheet_relationship(lxw_relationships *self, const char *type,
                                    const char *target,
                                    const char *target_mode);

/* Declarations required for unit testing. */
#ifdef TESTING

STATIC void _relationships_xml_declaration(lxw_relationships *self);

#endif /* TESTING */

/* *INDENT-OFF* */
#ifdef __cplusplus
}
#endif
/* *INDENT-ON* */

#endif /* __LXW_RELATIONSHIPS_H__ */

Version data entries

12 entries across 12 versions & 3 rubygems

Version Path
fast_excel-0.2.3 libxlsxwriter/include/xlsxwriter/relationships.h
xlsxwriter-0.0.4 ext/xlsxwriter/libxlsxwriter/include/xlsxwriter/relationships.h
xlsxwriter-0.0.4.pre.2 ext/xlsxwriter/libxlsxwriter/include/xlsxwriter/relationships.h
fast_excel-0.2.2 libxlsxwriter/include/xlsxwriter/relationships.h
kmadej_fast_excel_fork-0.2.2 libxlsxwriter/include/xlsxwriter/relationships.h
fast_excel-0.2.1 libxlsxwriter/include/xlsxwriter/relationships.h
fast_excel-0.2.0 libxlsxwriter/include/xlsxwriter/relationships.h
fast_excel-0.1.7 libxlsxwriter/include/xlsxwriter/relationships.h
fast_excel-0.1.6 libxlsxwriter/include/xlsxwriter/relationships.h
fast_excel-0.1.5 libxlsxwriter/include/xlsxwriter/relationships.h
xlsxwriter-0.0.3 ext/xlsxwriter/libxlsxwriter/include/xlsxwriter/relationships.h
xlsxwriter-0.0.2 ext/xlsxwriter/libxlsxwriter/include/xlsxwriter/relationships.h