aboutsummaryrefslogtreecommitdiff
path: root/xmpp-vala/src/module/xep/0166_jingle/content_description.vala
blob: 1a24e52ee99ee2f3d5291423adeb611d08cd1fa4 (plain) (blame)
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
using Gee;
using Xmpp.Xep;
using Xmpp;

namespace Xmpp.Xep.Jingle {

    public interface ContentType : Object {
        public abstract string ns_uri { get; }
        public abstract TransportType required_transport_type { get; }
        public abstract uint8 required_components { get; }
        public abstract ContentParameters parse_content_parameters(StanzaNode description) throws IqError;
    }

    public interface ContentParameters : Object {
        /** Called when the counterpart proposes the content */
        public abstract async void handle_proposed_content(XmppStream stream, Jingle.Session session, Content content);

        /** Called when we accept the content that was proposed by the counterpart */
        public abstract void accept(XmppStream stream, Jingle.Session session, Jingle.Content content);
        /** Called when the counterpart accepts the content that was proposed by us*/
        public abstract void handle_accept(XmppStream stream, Jingle.Session session, Jingle.Content content, StanzaNode description_node);

        public abstract void terminate(bool we_terminated, string? reason_name, string? reason_text);

        public abstract StanzaNode get_description_node();
    }
}