diff options
Diffstat (limited to 'librarian/rarian-reg-full.h')
-rw-r--r-- | librarian/rarian-reg-full.h | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/librarian/rarian-reg-full.h b/librarian/rarian-reg-full.h new file mode 100644 index 0000000..59f339c --- /dev/null +++ b/librarian/rarian-reg-full.h @@ -0,0 +1,86 @@ +/* + * rarian-reg-full.h + * This file is part of Rarian + * + * Copyright (C) 2006 - Don Scorgie + * + * Rarian is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * Rarian 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#ifndef __RARIAN_REG_FULL_H +#define __RARIAN_REG_FULL_H + +#ifdef __cplusplus +extern "C" { +#endif + +/* A special type of RrnReg that contains all the translations + * of all the fields, instead of the interesting ones + */ +typedef struct _RrnRegFull RrnRegFull; +typedef struct _RrnListEntry RrnListEntry; + +typedef struct _RrnSectFull RrnSectFull; + +struct _RrnListEntry +{ + RrnListEntry * next; + char *text; + char *lang; +}; + +struct _RrnRegFull +{ + RrnListEntry *name; + RrnListEntry *uri; + RrnListEntry *comment; + char *icon; + char *identifier; + char *type; + char **categories; + int weight; + char *heritage; + char *lang; + char *default_section; + int hidden; + RrnSectFull *children; +}; + +struct _RrnSectFull +{ + RrnListEntry *name; + char *identifier; + RrnListEntry *uri; + char *owner; + RrnSectFull *next; + RrnSectFull *prev; + RrnSectFull *children; +}; + +RrnRegFull * rrn_reg_new_full (); + +RrnRegFull * rrn_reg_parse_file_full (char *filename); + +RrnRegFull *rrn_find_series_full (char * series_id); + +RrnListEntry *rrn_full_add_field (RrnListEntry *current, char *text, char *lang); + +void rrn_reg_free_full (RrnRegFull *reg); + +#ifdef __cplusplus +} +#endif + +#endif /*__RARIAN_REG_FULL_H */ |