/usr/include/mimedir-1.0/mimedir/mimedir-attribute.h is in libmimedir-gnome-dev 0.4.2-6.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 | /* RFC 2425 MIME Directory Attribute Object
* Copyright (C) 2002-2005 Sebastian Rittau <srittau@jroger.in-berlin.de>
*
* $Id: mimedir-attribute.h 209 2005-08-31 14:35:02Z srittau $
*
* This library 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.
*
* This library 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#ifndef __MIMEDIR_ATTRIBUTE_H__
#define __MIMEDIR_ATTRIBUTE_H__
#include <stdlib.h>
#include <time.h>
#include <glib.h>
#include <glib-object.h>
#include "mimedir/mimedir-datetime.h"
#define MIMEDIR_ATTRIBUTE_ERROR mimedir_attribute_error_quark ()
typedef enum {
MIMEDIR_ATTRIBUTE_ERROR_SYNTAX,
MIMEDIR_ATTRIBUTE_ERROR_ILLEGAL_CHAR,
MIMEDIR_ATTRIBUTE_ERROR_INVALID_FORMAT,
MIMEDIR_ATTRIBUTE_ERROR_UNKNOWN_ENCODING,
MIMEDIR_ATTRIBUTE_ERROR_INVALID_VALUE,
MIMEDIR_ATTRIBUTE_ERROR_PARAMETER_NOT_UNIQUE,
MIMEDIR_ATTRIBUTE_ERROR_INVALID_BASE64,
MIMEDIR_ATTRIBUTE_ERROR_INVALID_QP,
MIMEDIR_ATTRIBUTE_ERROR_LIST_TOO_SHORT,
MIMEDIR_ATTRIBUTE_ERROR_LIST_TOO_LONG
} MIMEDirAttributeError;
#define MIMEDIR_ATTRIBUTE_ERROR_SYNTAX_STR _("syntax error (%s)")
#define MIMEDIR_ATTRIBUTE_ERROR_ILLEGAL_CHAR_STR _("illegal character 0x%02x for type \"%s\"")
#define MIMEDIR_ATTRIBUTE_ERROR_INVALID_FORMAT_STR _("invalid format for type \"%s\" in attribute %s")
#define MIMEDIR_ATTRIBUTE_ERROR_UNKNOWN_ENCODING_STR _("attribute %s could not be decoded, since its encoding is unknown")
#define MIMEDIR_ATTRIBUTE_ERROR_INVALID_VALUE_STR _("invalid value in attribute %s")
#define MIMEDIR_ATTRIBUTE_ERROR_PARAMETER_NOT_UNIQUE_STR _("parameter \"%s\" must not be used more than once in attribute %s")
#define MIMEDIR_ATTRIBUTE_ERROR_INVALID_BASE64_STR _("invalid Base64 sequence")
#define MIMEDIR_ATTRIBUTE_ERROR_INVALID_QP_STR _("invalid quoted-printable sequence")
#define MIMEDIR_ATTRIBUTE_ERROR_LIST_TOO_SHORT_STR _("attribute list of %s is too short")
#define MIMEDIR_ATTRIBUTE_ERROR_LIST_TOO_LONG_STR _("attribute list of %s is too long")
typedef enum {
MIMEDIR_ATTRIBUTE_TYPE_UNKNOWN,
MIMEDIR_ATTRIBUTE_TYPE_URI,
MIMEDIR_ATTRIBUTE_TYPE_TEXT,
MIMEDIR_ATTRIBUTE_TYPE_DATE,
MIMEDIR_ATTRIBUTE_TYPE_TIME,
MIMEDIR_ATTRIBUTE_TYPE_DATETIME,
MIMEDIR_ATTRIBUTE_TYPE_INTEGER,
MIMEDIR_ATTRIBUTE_TYPE_FLOAT,
MIMEDIR_ATTRIBUTE_TYPE_BOOLEAN,
/* VCard */
MIMEDIR_ATTRIBUTE_TYPE_STRUCTURED_TEXT,
MIMEDIR_ATTRIBUTE_TYPE_PARAMETERS,
} MIMEDirAttributeType;
typedef enum {
MIMEDIR_ATTRIBUTE_ENCODING_UNKNOWN,
MIMEDIR_ATTRIBUTE_ENCODING_BASE64,
MIMEDIR_ATTRIBUTE_ENCODING_QP, /* read-only */
} MIMEDirAttributeEncoding;
#define MIMEDIR_ATTRIBUTE_ENCODING_NONE MIMEDIR_ATTRIBUTE_ENCODING_UNKNOWN
#define MIMEDIR_TYPE_ATTRIBUTE (mimedir_attribute_get_type())
#define MIMEDIR_ATTRIBUTE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MIMEDIR_TYPE_ATTRIBUTE, MIMEDirAttribute))
#define MIMEDIR_ATTRIBUTE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MIMEDIR_TYPE_ATTRIBUTE, MIMEDirAttributeClass))
#define MIMEDIR_IS_ATTRIBUTE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MIMEDIR_TYPE_ATTRIBUTE))
#define MIMEDIR_IS_ATTRIBUTE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MIMEDIR_TYPE_ATTRIBUTE))
typedef struct _MIMEDirAttribute MIMEDirAttribute;
typedef struct _MIMEDirAttributeClass MIMEDirAttributeClass;
typedef struct _MIMEDirAttributePriv MIMEDirAttributePriv;
struct _MIMEDirAttribute
{
GObject parent;
MIMEDirAttributePriv *priv;
};
struct _MIMEDirAttributeClass
{
GObjectClass parent_class;
};
GQuark mimedir_attribute_error_quark (void);
GType mimedir_attribute_get_type (void);
MIMEDirAttribute *mimedir_attribute_new (void);
MIMEDirAttribute *mimedir_attribute_new_with_name (const gchar *name);
const gchar *mimedir_attribute_get_name (MIMEDirAttribute *attribute);
void mimedir_attribute_set_group (MIMEDirAttribute *attribute, const gchar *group);
const gchar *mimedir_attribute_get_group (MIMEDirAttribute *attribute);
void mimedir_attribute_set_charset (MIMEDirAttribute *attribute, const gchar *charset);
const gchar *mimedir_attribute_get_charset (MIMEDirAttribute *attribute);
void mimedir_attribute_append_parameter (MIMEDirAttribute *attribute, const gchar *name, GSList *values);
void mimedir_attribute_append_parameter_simple (MIMEDirAttribute *attribute, const gchar *name, const gchar *value);
gboolean mimedir_attribute_has_parameter (MIMEDirAttribute *attribute, const gchar *parameter);
GSList *mimedir_attribute_get_parameter_values (MIMEDirAttribute *attribute, const gchar *parameter);
const gchar *mimedir_attribute_get_parameter_value (MIMEDirAttribute *attribute, const gchar *parameter);
void mimedir_attribute_free_parameter_values (MIMEDirAttribute *attribute, GSList *list);
void mimedir_attribute_set_value (MIMEDirAttribute *attribute, const gchar *value);
const gchar *mimedir_attribute_get_value (MIMEDirAttribute *attribute);
void mimedir_attribute_set_value_data (MIMEDirAttribute *attribute, const gchar *uri, gssize len);
gchar *mimedir_attribute_get_value_data (MIMEDirAttribute *attribute, gssize *len);
void mimedir_attribute_set_value_uri (MIMEDirAttribute *attribute, const gchar *uri);
gchar *mimedir_attribute_get_value_uri (MIMEDirAttribute *attribute, GError **error);
void mimedir_attribute_set_value_text (MIMEDirAttribute *attribute, const gchar *text);
void mimedir_attribute_set_value_text_unescaped (MIMEDirAttribute *attribute, const gchar *text);
gchar *mimedir_attribute_get_value_text (MIMEDirAttribute *attribute, GError **error);
void mimedir_attribute_set_value_text_list (MIMEDirAttribute *attribute, GSList *list);
GSList *mimedir_attribute_get_value_text_list (MIMEDirAttribute *attribute, GError **error);
void mimedir_attribute_set_value_datetime (MIMEDirAttribute *attribute, MIMEDirDateTime *datetime);
MIMEDirDateTime *mimedir_attribute_get_value_datetime (MIMEDirAttribute *attribute, GError **error);
void mimedir_attribute_set_value_datetime_list (MIMEDirAttribute *attribute, GSList *list);
GSList *mimedir_attribute_get_value_datetime_list (MIMEDirAttribute *attribute, GError **error);
void mimedir_attribute_free_datetime_list (GSList *list);
void mimedir_attribute_set_value_bool (MIMEDirAttribute *attribute, gboolean b);
gboolean mimedir_attribute_get_value_bool (MIMEDirAttribute *attribute, GError **error);
void mimedir_attribute_set_value_int (MIMEDirAttribute *attribute, gint i);
gint mimedir_attribute_get_value_int (MIMEDirAttribute *attribute, GError **error);
void mimedir_attribute_set_value_int_list (MIMEDirAttribute *attribute, GSList *list);
GSList *mimedir_attribute_get_value_int_list (MIMEDirAttribute *attribute, GError **error);
void mimedir_attribute_set_value_float_list (MIMEDirAttribute *attribute, GSList *list);
GSList *mimedir_attribute_get_value_float_list (MIMEDirAttribute *attribute, GError **error);
void mimedir_attribute_set_value_structured_text (MIMEDirAttribute *attribute, GSList *list);
GSList *mimedir_attribute_get_value_structured_text (MIMEDirAttribute *attribute, GError **error);
void mimedir_attribute_set_value_parameters (MIMEDirAttribute *attribute, GSList *list);
GSList *mimedir_attribute_get_value_parameters (MIMEDirAttribute *attribute, GError **error);
void mimedir_attribute_free_list (GSList *list);
#define mimedir_attribute_free_text_list(list) mimedir_attribute_free_list(list)
void mimedir_attribute_free_int_list (GSList *list);
void mimedir_attribute_free_float_list (GSList *list);
void mimedir_attribute_free_string_list (GSList *list);
void mimedir_attribute_free_structured_text_list (GSList *list);
void mimedir_attribute_set_attribute_type (MIMEDirAttribute *attribute, MIMEDirAttributeType type);
MIMEDirAttributeType
mimedir_attribute_get_attribute_type (MIMEDirAttribute *attribute);
ssize_t mimedir_attribute_parse (MIMEDirAttribute *attribute, const gchar *string, GError **error);
gboolean mimedir_attribute_write_to_channel (MIMEDirAttribute *attribute, GIOChannel *channel, GError **error);
#endif /* __MIMEDIR_ATTRIBUTE_H__ */
|