chenqiyang
2021-08-16 d98a16782ce455ebf4624c6d29e4311598b7eead
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
/*
 * Copyright (c) 2010-2019 Belledonne Communications SARL.
 *
 * This file is part of Liblinphone.
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * 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.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program. If not, see <http://www.gnu.org/licenses/>.
 */
 
#ifndef LINPHONE_IM_NOTIF_POLICY_H_
#define LINPHONE_IM_NOTIF_POLICY_H_
 
 
#include "linphone/types.h"
 
 
#ifdef __cplusplus
extern "C" {
#endif
 
 
/**
 * @addtogroup chatroom
 * @{
 */
 
/**
 * Acquire a reference to the #LinphoneImNotifPolicy object.
 * @param[in] policy #LinphoneImNotifPolicy object.
 * @return The same #LinphoneImNotifPolicy object.
**/
LINPHONE_PUBLIC LinphoneImNotifPolicy * linphone_im_notif_policy_ref(LinphoneImNotifPolicy *policy);
 
/**
 * Release reference to the #LinphoneImNotifPolicy object.
 * @param[in] policy #LinphoneImNotifPolicy object.
**/
LINPHONE_PUBLIC void linphone_im_notif_policy_unref(LinphoneImNotifPolicy *policy);
 
/**
 * Retrieve the user pointer associated with the #LinphoneImNotifPolicy object.
 * @param[in] policy #LinphoneImNotifPolicy object.
 * @return The user pointer associated with the #LinphoneImNotifPolicy object.
**/
LINPHONE_PUBLIC void *linphone_im_notif_policy_get_user_data(const LinphoneImNotifPolicy *policy);
 
/**
 * Assign a user pointer to the #LinphoneImNotifPolicy object.
 * @param[in] policy #LinphoneImNotifPolicy object.
 * @param[in] ud The user pointer to associate with the #LinphoneImNotifPolicy object.
**/
LINPHONE_PUBLIC void linphone_im_notif_policy_set_user_data(LinphoneImNotifPolicy *policy, void *ud);
 
/**
 * Clear an IM notif policy (deactivate all receiving and sending of notifications).
 * @param[in] policy #LinphoneImNotifPolicy object.
 */
LINPHONE_PUBLIC void linphone_im_notif_policy_clear(LinphoneImNotifPolicy *policy);
 
/**
 * Enable all receiving and sending of notifications.
 * @param[in] policy #LinphoneImNotifPolicy object.
 */
LINPHONE_PUBLIC void linphone_im_notif_policy_enable_all(LinphoneImNotifPolicy *policy);
 
/**
 * Tell whether is_composing notifications are being sent.
 * @param[in] policy #LinphoneImNotifPolicy object
 * @return Boolean value telling whether is_composing notifications are being sent.
 */
LINPHONE_PUBLIC bool_t linphone_im_notif_policy_get_send_is_composing(const LinphoneImNotifPolicy *policy);
 
/**
 * Enable is_composing notifications sending.
 * @param[in] policy #LinphoneImNotifPolicy object
 * @param[in] enable Boolean value telling whether to send is_composing notifications.
 */
LINPHONE_PUBLIC void linphone_im_notif_policy_set_send_is_composing(LinphoneImNotifPolicy *policy, bool_t enable);
 
/**
 * Tell whether is_composing notifications are being notified when received.
 * @param[in] policy #LinphoneImNotifPolicy object
 * @return Boolean value telling whether is_composing notifications are being notified when received.
 */
LINPHONE_PUBLIC bool_t linphone_im_notif_policy_get_recv_is_composing(const LinphoneImNotifPolicy *policy);
 
/**
 * Enable is_composing notifications receiving.
 * @param[in] policy #LinphoneImNotifPolicy object
 * @param[in] enable Boolean value telling whether to notify received is_composing notifications.
 */
LINPHONE_PUBLIC void linphone_im_notif_policy_set_recv_is_composing(LinphoneImNotifPolicy *policy, bool_t enable);
 
/**
 * Tell whether imdn delivered notifications are being sent.
 * @param[in] policy #LinphoneImNotifPolicy object
 * @return Boolean value telling whether imdn delivered notifications are being sent.
 */
LINPHONE_PUBLIC bool_t linphone_im_notif_policy_get_send_imdn_delivered(const LinphoneImNotifPolicy *policy);
 
/**
 * Enable imdn delivered notifications sending.
 * @param[in] policy #LinphoneImNotifPolicy object
 * @param[in] enable Boolean value telling whether to send imdn delivered notifications.
 */
LINPHONE_PUBLIC void linphone_im_notif_policy_set_send_imdn_delivered(LinphoneImNotifPolicy *policy, bool_t enable);
 
/**
 * Tell whether imdn delivered notifications are being notified when received.
 * @param[in] policy #LinphoneImNotifPolicy object
 * @return Boolean value telling whether imdn delivered notifications are being notified when received.
 */
LINPHONE_PUBLIC bool_t linphone_im_notif_policy_get_recv_imdn_delivered(const LinphoneImNotifPolicy *policy);
 
/**
 * Enable imdn delivered notifications receiving.
 * @param[in] policy #LinphoneImNotifPolicy object
 * @param[in] enable Boolean value telling whether to notify received imdn delivered notifications.
 */
LINPHONE_PUBLIC void linphone_im_notif_policy_set_recv_imdn_delivered(LinphoneImNotifPolicy *policy, bool_t enable);
 
/**
 * Tell whether imdn displayed notifications are being sent.
 * @param[in] policy #LinphoneImNotifPolicy object
 * @return Boolean value telling whether imdn displayed notifications are being sent.
 */
LINPHONE_PUBLIC bool_t linphone_im_notif_policy_get_send_imdn_displayed(const LinphoneImNotifPolicy *policy);
 
/**
 * Enable imdn displayed notifications sending.
 * @param[in] policy #LinphoneImNotifPolicy object
 * @param[in] enable Boolean value telling whether to send imdn displayed notifications.
 */
LINPHONE_PUBLIC void linphone_im_notif_policy_set_send_imdn_displayed(LinphoneImNotifPolicy *policy, bool_t enable);
 
/**
 * Tell whether imdn displayed notifications are being notified when received.
 * @param[in] policy #LinphoneImNotifPolicy object
 * @return Boolean value telling whether imdn displayed notifications are being notified when received.
 */
LINPHONE_PUBLIC bool_t linphone_im_notif_policy_get_recv_imdn_displayed(const LinphoneImNotifPolicy *policy);
 
/**
 * Enable imdn displayed notifications receiving.
 * @param[in] policy #LinphoneImNotifPolicy object
 * @param[in] enable Boolean value telling whether to notify received imdn displayed notifications.
 */
LINPHONE_PUBLIC void linphone_im_notif_policy_set_recv_imdn_displayed(LinphoneImNotifPolicy *policy, bool_t enable);
 
/**
 * @}
 */
 
 
#ifdef __cplusplus
}
#endif
 
#endif /* LINPHONE_IM_NOTIF_POLICY_H_ */