mirror of https://github.com/bqv/weechat-xmpp
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
1.0 KiB
C++
43 lines
1.0 KiB
C++
// This Source Code Form is subject to the terms of the Mozilla Public
|
|
// License, version 2.0. If a copy of the MPL was not distributed with this
|
|
// file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
|
|
#pragma once
|
|
|
|
#include <optional>
|
|
#include <string>
|
|
|
|
#include "node.hh"
|
|
#pragma GCC visibility push(default)
|
|
#include "ns.hh"
|
|
#pragma GCC visibility pop
|
|
|
|
namespace stanza {
|
|
|
|
/* Private XML Storage */
|
|
struct xep0049 {
|
|
struct storage : virtual public spec {
|
|
storage() : spec("storage") {
|
|
xmlns<::storage::bookmarks>();
|
|
}
|
|
};
|
|
|
|
struct query : virtual public spec {
|
|
query() : spec("query") {
|
|
xmlns<jabber::iq::private_>();
|
|
}
|
|
|
|
query& bookmarks(storage s = xep0049::storage()) { child(s); return *this; }
|
|
};
|
|
|
|
struct iq : virtual public spec {
|
|
iq() : spec("iq") {}
|
|
|
|
iq& xep0049() { return *this; }
|
|
|
|
iq& query(xep0049::query q = {}) { child(q); return *this; }
|
|
};
|
|
};
|
|
|
|
}
|