summaryrefslogtreecommitdiff
path: root/plugins/test.h
blob: cfd441f55f7cd6c9ee05fa9f3790ff6a95e53cef (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
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
#include <glib-object.h>

#include <gio/gio.h>
#include <wocky/wocky-session.h>
#include <gabble/gabble.h>
#include <gabble/plugin-connection.h>

/* Plugin */
typedef struct _TestPluginClass TestPluginClass;
typedef struct _TestPlugin TestPlugin;

struct _TestPluginClass {
    GObjectClass parent;
};

struct _TestPlugin {
    GObject parent;
};

GType test_plugin_get_type (void);

#define TEST_TYPE_PLUGIN \
  (test_plugin_get_type ())
#define TEST_PLUGIN(obj) \
  (G_TYPE_CHECK_INSTANCE_CAST((obj), TEST_TYPE_PLUGIN, TestPlugin))
#define TEST_PLUGIN_CLASS(klass) \
  (G_TYPE_CHECK_CLASS_CAST((klass), TEST_TYPE_PLUGIN, \
                           TestPluginClass))
#define TEST_IS_PLUGIN(obj) \
  (G_TYPE_CHECK_INSTANCE_TYPE((obj), TEST_TYPE_PLUGIN))
#define TEST_IS_PLUGIN_CLASS(klass) \
  (G_TYPE_CHECK_CLASS_TYPE((klass), TEST_TYPE_PLUGIN))
#define TEST_PLUGIN_GET_CLASS(obj) \
  (G_TYPE_INSTANCE_GET_CLASS ((obj), TEST_TYPE_PLUGIN, \
                              TestPluginClass))

/* Sidecar */
typedef struct _TestSidecarClass TestSidecarClass;
typedef struct _TestSidecar TestSidecar;

struct _TestSidecarClass {
    GObjectClass parent;
};

struct _TestSidecar {
    GObject parent;
};

GType test_sidecar_get_type (void);

#define TEST_TYPE_SIDECAR \
  (test_sidecar_get_type ())
#define TEST_SIDECAR(obj) \
  (G_TYPE_CHECK_INSTANCE_CAST((obj), TEST_TYPE_SIDECAR, TestSidecar))
#define TEST_SIDECAR_CLASS(klass) \
  (G_TYPE_CHECK_CLASS_CAST((klass), TEST_TYPE_SIDECAR, \
                           TestSidecarClass))
#define TEST_IS_SIDECAR(obj) \
  (G_TYPE_CHECK_INSTANCE_TYPE((obj), TEST_TYPE_SIDECAR))
#define TEST_IS_SIDECAR_CLASS(klass) \
  (G_TYPE_CHECK_CLASS_TYPE((klass), TEST_TYPE_SIDECAR))
#define TEST_SIDECAR_GET_CLASS(obj) \
  (G_TYPE_INSTANCE_GET_CLASS ((obj), TEST_TYPE_SIDECAR, \
                              TestSidecarClass))

/* Sidecar with properties */
typedef struct _TestSidecarPropsClass TestSidecarPropsClass;
typedef struct _TestSidecarProps TestSidecarProps;

struct _TestSidecarPropsClass {
    GObjectClass parent;
};

struct _TestSidecarProps {
    GObject parent;
    GHashTable *props;
};

GType test_sidecar_props_get_type (void);

#define TEST_TYPE_SIDECAR_PROPS \
  (test_sidecar_props_get_type ())
#define TEST_SIDECAR_PROPS(obj) \
  (G_TYPE_CHECK_INSTANCE_CAST((obj), TEST_TYPE_SIDECAR_PROPS, TestSidecarProps))
#define TEST_SIDECAR_PROPS_CLASS(klass) \
  (G_TYPE_CHECK_CLASS_CAST((klass), TEST_TYPE_SIDECAR_PROPS, \
                           TestSidecarPropsClass))
#define TEST_IS_SIDECAR_PROPS(obj) \
  (G_TYPE_CHECK_INSTANCE_TYPE((obj), TEST_TYPE_SIDECAR_PROPS))
#define TEST_IS_SIDECAR_PROPS_CLASS(klass) \
  (G_TYPE_CHECK_CLASS_TYPE((klass), TEST_TYPE_SIDECAR_PROPS))
#define TEST_SIDECAR_PROPS_GET_CLASS(obj) \
  (G_TYPE_INSTANCE_GET_CLASS ((obj), TEST_TYPE_SIDECAR_PROPS, \
                              TestSidecarPropsClass))

/* Sidecar which sends an IQ and waits for a reply before being ready. */
typedef struct _TestSidecarIQClass TestSidecarIQClass;
typedef struct _TestSidecarIQ TestSidecarIQ;

struct _TestSidecarIQClass {
    GObjectClass parent;
};

struct _TestSidecarIQ {
    GObject parent;
    GSimpleAsyncResult *result;
    WockySession *session;
    GabblePluginConnection *connection;
};

GType test_sidecar_iq_get_type (void);

#define TEST_TYPE_SIDECAR_IQ \
  (test_sidecar_iq_get_type ())
#define TEST_SIDECAR_IQ(obj) \
  (G_TYPE_CHECK_INSTANCE_CAST((obj), TEST_TYPE_SIDECAR_IQ, TestSidecarIQ))
#define TEST_SIDECAR_IQ_CLASS(klass) \
  (G_TYPE_CHECK_CLASS_CAST((klass), TEST_TYPE_SIDECAR_IQ, \
                           TestSidecarIQClass))
#define TEST_IS_SIDECAR_IQ(obj) \
  (G_TYPE_CHECK_INSTANCE_TYPE((obj), TEST_TYPE_SIDECAR_IQ))
#define TEST_IS_SIDECAR_IQ_CLASS(klass) \
  (G_TYPE_CHECK_CLASS_TYPE((klass), TEST_TYPE_SIDECAR_IQ))
#define TEST_SIDECAR_IQ_GET_CLASS(obj) \
  (G_TYPE_INSTANCE_GET_CLASS ((obj), TEST_TYPE_SIDECAR_IQ, \
                              TestSidecarIQClass))

/* Test channel manager */
typedef struct _TestChannelManager TestChannelManager;
typedef struct _TestChannelManagerClass TestChannelManagerClass;

struct _TestChannelManagerClass {
  GObjectClass parent_class;
};

struct _TestChannelManager {
  GObject parent;
  GabblePluginConnection *plugin_connection;
};

GType test_channel_manager_get_type (void);

/* TYPE MACROS */
#define TEST_TYPE_CHANNEL_MANAGER \
  (test_channel_manager_get_type ())
#define TEST_CHANNEL_MANAGER(obj) \
  (G_TYPE_CHECK_INSTANCE_CAST((obj), TEST_TYPE_CHANNEL_MANAGER, TestChannelManager))
#define TEST_CHANNEL_MANAGER_CLASS(klass) \
  (G_TYPE_CHECK_CLASS_CAST((klass), TEST_TYPE_CHANNEL_MANAGER,\
                           TestChannelManagerClass))
#define TEST_IS_CHANNEL_MANAGER(obj) \
  (G_TYPE_CHECK_INSTANCE_TYPE((obj), TEST_TYPE_CHANNEL_MANAGER))
#define TEST_IS_CHANNEL_MANAGER_CLASS(klass) \
  (G_TYPE_CHECK_CLASS_TYPE((klass), TEST_TYPE_CHANNEL_MANAGER))
#define TEST_CHANNEL_MANAGER_GET_CLASS(obj) \
  (G_TYPE_INSTANCE_GET_CLASS ((obj), TEST_TYPE_CHANNEL_MANAGER,\
                              TestChannelManagerClass))