createPrivacyList method
Implementation
Future<void> createPrivacyList(PrivacyList privacyList) {
if (!isPrivacyListsSupported()) {
return Future.error(Exception(feature_not_supported_error));
}
var completer = Completer<void>();
var iqStanza = IqStanza(AbstractStanza.getRandomId(), IqStanzaType.SET)
..fromJid = _connection.fullJid;
var queryStanza = QueryElement();
queryStanza.setXmlns('jabber:iq:privacy');
var listStanza = ListElement(privacyList.name);
if (privacyList.items != null && privacyList.items!.isNotEmpty) {
privacyList.items?.forEach((privacyListItem) {
listStanza.addItem(PrivacyListItemElement(item: privacyListItem));
});
}
queryStanza.addChild(listStanza);
iqStanza.addChild(queryStanza);
_unrespondedStanzas[iqStanza.id!] = Tuple2((resultStanza) {
return;
}, completer);
_connection.writeStanza(iqStanza);
return completer.future;
}