/
mms_dispatcher.h
112 lines (95 loc) · 2.43 KB
/
mms_dispatcher.h
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
/*
* Copyright (C) 2013-2014 Jolla Ltd.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*
* This program 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 General Public License for more details.
*
*/
#ifndef JOLLA_MMS_DISPATCHER_H
#define JOLLA_MMS_DISPATCHER_H
#include "mms_lib_types.h"
/* Delegate (one per dispatcher) */
typedef struct mms_dispatcher_delegate MMSDispatcherDelegate;
struct mms_dispatcher_delegate {
/* Dispatcher deactivated because it has nothing to do */
void (*fn_done)(
MMSDispatcherDelegate* delegate,
MMSDispatcher* dispatcher);
};
MMSDispatcher*
mms_dispatcher_new(
const MMSConfig* config,
MMSConnMan* cm,
MMSHandler* handler);
MMSDispatcher*
mms_dispatcher_ref(
MMSDispatcher* dispatcher);
void
mms_dispatcher_unref(
MMSDispatcher* dispatcher);
void
mms_dispatcher_set_delegate(
MMSDispatcher* dispatcher,
MMSDispatcherDelegate* delegate);
gboolean
mms_dispatcher_is_active(
MMSDispatcher* dispatcher);
gboolean
mms_dispatcher_start(
MMSDispatcher* dispatcher);
gboolean
mms_dispatcher_handle_push(
MMSDispatcher* dispatcher,
const char* imsi,
GBytes* push,
GError** error);
gboolean
mms_dispatcher_receive_message(
MMSDispatcher* dispatcher,
const char* id,
const char* imsi,
gboolean automatic,
GBytes* push,
GError** error);
gboolean
mms_dispatcher_send_read_report(
MMSDispatcher* dispatcher,
const char* id,
const char* imsi,
const char* message_id,
const char* to,
MMSReadStatus status,
GError** error);
char*
mms_dispatcher_send_message(
MMSDispatcher* dispatcher,
const char* id,
const char* imsi,
const char* to,
const char* cc,
const char* bcc,
const char* subject,
unsigned int flags,
const MMSAttachmentInfo* parts,
unsigned int nparts,
GError** error);
#define MMS_SEND_FLAG_REQUEST_DELIVERY_REPORT (0x01)
#define MMS_SEND_FLAG_REQUEST_READ_REPORT (0x02)
void
mms_dispatcher_cancel(
MMSDispatcher* dispatcher,
const char* id);
#endif /* JOLLA_MMS_DISPATCHER_H */
/*
* Local Variables:
* mode: C
* c-basic-offset: 4
* indent-tabs-mode: nil
* End:
*/