summaryrefslogtreecommitdiff
path: root/src/gypsy-parser.h
blob: 5b5801c4d1d49c6619991e16ef125141caf8c393 (plain)
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
#ifndef __GYPSY_PARSER_H__
#define __GYPSY_PARSER_H__

#include <glib-object.h>
#include <gypsy-client.h>

G_BEGIN_DECLS

#define GYPSY_TYPE_PARSER                                               \
   (gypsy_parser_get_type())
#define GYPSY_PARSER(obj)                                               \
   (G_TYPE_CHECK_INSTANCE_CAST ((obj),                                  \
                                GYPSY_TYPE_PARSER,                      \
                                GypsyParser))
#define GYPSY_PARSER_CLASS(klass)                                       \
   (G_TYPE_CHECK_CLASS_CAST ((klass),                                   \
                             GYPSY_TYPE_PARSER,                         \
                             GypsyParserClass))
#define GYPSY_IS_PARSER(obj)                                            \
   (G_TYPE_CHECK_INSTANCE_TYPE ((obj),                                  \
                                GYPSY_TYPE_PARSER))
#define GYPSY_IS_PARSER_CLASS(klass)                                    \
   (G_TYPE_CHECK_CLASS_TYPE ((klass),                                   \
                             GYPSY_TYPE_PARSER))
#define GYPSY_PARSER_GET_CLASS(obj)                                     \
   (G_TYPE_INSTANCE_GET_CLASS ((obj),                                   \
                               GYPSY_TYPE_PARSER,                       \
                               GypsyParserClass))

typedef struct _GypsyParserPrivate GypsyParserPrivate;
typedef struct _GypsyParser      GypsyParser;
typedef struct _GypsyParserClass GypsyParserClass;

struct _GypsyParser
{
    GObject parent;

    GypsyParserPrivate *priv;
};

struct _GypsyParserClass
{
    GObjectClass parent_class;

    gboolean (*received_data) (GypsyParser  *parser,
                               const guchar *data,
                               gsize         length,
                               GError      **error);
    gsize (*get_space_in_buffer) (GypsyParser *parser);
};

GType gypsy_parser_get_type (void) G_GNUC_CONST;
gboolean gypsy_parser_received_data (GypsyParser  *parser,
                                     const guchar *data,
                                     guint         length,
                                     GError      **error);
gsize gypsy_parser_get_space_in_buffer (GypsyParser *parser);
GypsyClient *gypsy_parser_get_client (GypsyParser *parser);

G_END_DECLS

#endif /* __GYPSY_PARSER_H__ */