about summary refs log tree commit diff stats
path: root/arc/.traces/default-space-and-get-indirect
blob: 9046aa3d5fd71dbbb6a2da8bc1151ae4c4591450 (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
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
c{0: 0 (((default-space space-address)) <- ((new)) ((space literal)) ((5 literal))) -- nil
c{0: 1 (((1 integer-boolean-pair-address)) <- ((new)) ((integer-boolean-pair literal))) -- nil
c{0: 2 (((2 integer-address)) <- ((get-address)) ((1 integer-boolean-pair-address) (deref)) ((0 offset))) -- nil
c{0: 3 (((2 integer-address) (deref)) <- ((copy)) ((34 literal))) -- nil
c{0: 4 (((3 integer) (raw)) <- ((get)) ((1 integer-boolean-pair-address) (deref)) ((0 offset))) -- nil
c{1: 0 ✓ (((default-space space-address)) <- ((new)) ((space literal)) ((5 literal)))
c{1: 1 ✓ (((1 integer-boolean-pair-address)) <- ((new)) ((integer-boolean-pair literal)))
c{1: 2 ✓ (((2 integer-address)) <- ((get-address)) ((1 integer-boolean-pair-address) (deref)) ((0 offset)))
c{1: 3 ✓ (((2 integer-address) (deref)) <- ((copy)) ((34 literal)))
c{1: 4 ✓ (((3 integer) (raw)) <- ((get)) ((1 integer-boolean-pair-address) (deref)) ((0 offset)))
cn0: convert-names in main
cn0: (((default-space space-address)) <- ((new)) ((space literal)) ((5 literal))) nil nil
cn0: checking arg ((space literal))
cn0: checking arg ((5 literal))
cn0: checking oarg ((default-space space-address))
maybe-add: ((default-space space-address))
cn0: (((1 integer-boolean-pair-address)) <- ((new)) ((integer-boolean-pair literal))) nil nil
cn0: checking arg ((integer-boolean-pair literal))
cn0: checking oarg ((1 integer-boolean-pair-address))
maybe-add: ((1 integer-boolean-pair-address))
cn0: (((2 integer-address)) <- ((get-address)) ((1 integer-boolean-pair-address) (deref)) ((0 offset))) nil nil
cn0: field-access 0 in 1integer-boolean-pair-addressderef of type integer-boolean-pair
cn0: checking arg ((1 integer-boolean-pair-address) (deref))
maybe-add: ((1 integer-boolean-pair-address) (deref))
cn0: checking arg ((0 offset))
cn0: checking oarg ((2 integer-address))
maybe-add: ((2 integer-address))
cn0: (((2 integer-address) (deref)) <- ((copy)) ((34 literal))) nil nil
cn0: checking arg ((34 literal))
cn0: checking oarg ((2 integer-address) (deref))
maybe-add: ((2 integer-address) (deref))
cn0: (((3 integer) (raw)) <- ((get)) ((1 integer-boolean-pair-address) (deref)) ((0 offset))) nil nil
cn0: field-access 0 in 1integer-boolean-pair-addressderef of type integer-boolean-pair
cn0: checking arg ((1 integer-boolean-pair-address) (deref))
maybe-add: ((1 integer-boolean-pair-address) (deref))
cn0: checking arg ((0 offset))
cn0: checking oarg ((3 integer) (raw))
maybe-add: ((3 integer) (raw))
cn1: (((default-space space-address)) <- ((new)) ((space literal)) ((5 literal)))
cn1: (((1 integer-boolean-pair-address)) <- ((new)) ((integer-boolean-pair literal)))
cn1: (((2 integer-address)) <- ((get-address)) ((1 integer-boolean-pair-address) (deref)) ((0 offset)))
cn1: (((2 integer-address) (deref)) <- ((copy)) ((34 literal)))
cn1: (((3 integer) (raw)) <- ((get)) ((1 integer-boolean-pair-address) (deref)) ((0 offset)))
schedule: main
run: main 0: (((default-space space-address)) <- ((new)) ((space literal)) ((5 literal)))
run: main 0: 1000 => ((default-space space-address))
run: main 1: (((1 integer-boolean-pair-address)) <- ((new)) ((integer-boolean-pair literal)))
run: main 1: 1006 => ((1 integer-boolean-pair-address))
mem: ((1 integer-boolean-pair-address)): 1002 <= 1006
run: main 2: (((2 integer-address)) <- ((get-address)) ((1 integer-boolean-pair-address) (deref)) ((0 offset)))
run: main 2: 1006 => ((2 integer-address))
mem: ((2 integer-address)): 1003 <= 1006
run: main 3: (((2 integer-address) (deref)) <- ((copy)) ((34 literal)))
run: main 3: 34 => ((2 integer-address) (deref))
mem: ((2 integer-address) (deref)): 1006 <= 34
run: main 4: (((3 integer) (raw)) <- ((get)) ((1 integer-boolean-pair-address) (deref)) ((0 offset)))
mem: ((1006 integer) (raw)) => 34
run: main 4: 34 => ((3 integer) (raw))
mem: ((3 integer) (raw)): 3 <= 34
schedule: done with routine nil
357'>357 358 359 360
"""
This page describes functions that plugins may implement to be called from Profanity on certain events. All functions are optional.

Examples:
::
    def prof_on_start():
        prof.cons_show("Profanity has started...")

    def prof_pre_room_message_display(room, nick, message):
        prof.cons_show("Manipulating chat room message before display...")
        new_message = message + " (added by plugin)"
        return new_message

    def prof_on_contact_presence(barejid, resource, presence, status, priority):
        notify_message = barejid + " is " + presence
        prof.notify(notify_message, 5, "Presence")
"""

def prof_init(version, status, account_name, fulljid):
    """Called when a plugin is loaded, either when profanity is started, or when the ``/plugins load`` or ``/plugins install`` commands are called

    :param version: the version of Profanity
    :param status: the package status of Profanity, ``"development"`` or ``"release"``
    :param account_name: account name of the currently logged in account, or ``None`` if not logged in
    :param fulljid: the users full Jabber ID (barejid and resource) if logged in, ``None`` otherwise
    :type version: str or unicode
    :type status: str or unicode
    :type account_name: str, unicode or None
    :type fulljid: str, unicode or None
    """
    pass


def prof_on_start():
    """Called when Profanity is started
    """
    pass


def prof_on_shutdown():
    """Called when the user quits Profanity
    """
    pass


def prof_on_unload():
    """Called when a plugin is unloaded with the ``/plugins unload`` command
    """
    pass


def prof_on_connect(account_name, fulljid):
    """Called when the user connects with an account

    :param account_name: account name of the account used for logging in
    :param fulljid: the full Jabber ID (barejid and resource) of the account
    :type account_name: str or unicode
    :type fulljid: str or unicode
    """
    pass


def prof_on_disconnect(account_name, fulljid):
    """Called when the user disconnects an account

    :param account_name: account name of the account being disconnected
    :param fulljid: the full Jabber ID (barejid and resource) of the account
    :type account_name: str or unicode
    :type fulljid: str or unicode
    """
    pass


def prof_pre_chat_message_display(barejid, resource, message):
    """Called before a chat message is displayed

    :param barejid: Jabber ID of the message sender
    :param resource: resource of the message sender
    :param message: the received message
    :type barejid: str or unicode
    :type resource: str or unicode
    :type message: str or unicode
    :return: the new message to display, or ``None`` to preserve the original message 
    :rtype: str or unicode
    """
    pass


def prof_post_chat_message_display(barejid, resource, message):
    """Called after a chat message is displayed

    :param barejid: Jabber ID of the message sender
    :param resource: resource of the message sender
    :param message: the received message
    :type barejid: str or unicode
    :type resource: str or unicode
    :type message: str or unicode
    """
    pass


def prof_pre_chat_message_send(barejid, message):
    """Called before a chat message is sent

    :param barejid: Jabber ID of the message recipient
    :param message: the message to be sent
    :type barejid: str or unicode
    :type message: str or unicode
    :return: the modified or original message to send, or ``None`` to cancel sending of the message
    :rtype: str or unicode
    """
    pass


def prof_post_chat_message_send(barejid, message):
    """Called after a chat message has been sent

    :param barejid: Jabber ID of the message recipient
    :param message: the sent message
    :type barejid: str or unicode
    :type message: str or unicode
    """
    pass


def prof_pre_room_message_display(barejid, nick, message):
    """Called before a chat room message is displayed

    :param barejid: Jabber ID of the room
    :param nick: nickname of message sender
    :param message: the received message
    :type barejid: str or unicode
    :type nick: str or unicode
    :type message: str or unicode
    :return: the new message to display, or ``None`` to preserve the original message 
    :rtype: str or unicode
    """
    pass


def prof_post_room_message_display(barejid, nick, message):
    """Called after a chat room message is displayed

    :param barejid: Jabber ID of the room
    :param nick: nickname of the message sender 
    :param message: the received message
    :type barejid: str or unicode
    :type nick: str or unicode
    :type message: str or unicode
    """
    pass


def prof_pre_room_message_send(barejid, message):
    """Called before a chat room message is sent

    :param barejid: Jabber ID of the room
    :param message: the message to be sent
    :type barejid: str or unicode
    :type message: str or unicode
    :return: the modified or original message to send, or ``None`` to cancel sending of the message
    :rtype: str or unicode
    """
    pass


def prof_post_room_message_send(barejid, message):
    """Called after a chat room message has been sent

    :param barejid: Jabber ID of the room
    :param message: the sent message
    :type barejid: str or unicode
    :type message: str or unicode
    """
    pass


def prof_on_room_history_message(barejid, nick, message, timestamp):
    """Called when the server sends a chat room history message

    :param barejid: Jabber ID of the room
    :param nick: nickname of the message sender
    :param message: the message to be sent
    :param timestamp: time the message was originally sent to the room, in ISO8601 format
    :type barejid: str or unicode
    :type nick: str or unicode
    :type message: str or unicode
    :type timestamp: str or unicode
    """
    pass


def prof_pre_priv_message_display(barejid, nick, message):
    """Called before a private chat room message is displayed

    :param barejid: Jabber ID of the room
    :param nick: nickname of message sender
    :param message: the received message
    :type barejid: str or unicode
    :type nick: str or unicode
    :type message: str or unicode
    :return: the new message to display, or ``None`` to preserve the original message 
    :rtype: str or unicode
    """
    pass


def prof_post_priv_message_display(barejid, nick, message):
    """Called after a private chat room message is displayed

    :param barejid: Jabber ID of the room
    :param nick: nickname of the message sender 
    :param message: the received message
    :type barejid: str or unicode
    :type nick: str or unicode
    :type message: str or unicode
    """
    pass


def prof_pre_priv_message_send(barejid, nick, message):
    """Called before a private chat room message is sent

    :param barejid: Jabber ID of the room
    :param nick: nickname of message recipient
    :param message: the message to be sent
    :type barejid: str or unicode
    :type nick: str or unicode
    :type message: str or unicode
    :return: the modified or original message to send, or ``None`` to cancel sending of the message
    :rtype: str or unicode
    """
    pass


def prof_post_priv_message_send(barejid, nick, message):
    """Called after a private chat room message has been sent

    :param barejid: Jabber ID of the room
    :param nick: nickname of the message recipient
    :param message: the sent message
    :type barejid: str or unicode
    :type nick: str or unicode
    :type message: str or unicode
    """
    pass


def prof_on_message_stanza_send(stanza):
    """Called before an XMPP message stanza is sent

    :param stanza: The stanza to send
    :type stanza: str or unicode
    :return: The new stanza to send, or ``None`` to preserve the original stanza
    :rtype: str or unicode
    """
    pass


def prof_on_message_stanza_receive(stanza):
    """Called when an XMPP message stanza is received

    :param stanza: The stanza received
    :type stanza: str or unicode
    :return: ``True`` if Profanity should continue to process the message stanza, ``False`` otherwise
    :rtype: boolean
    """
    pass


def prof_on_presence_stanza_send(stanza):
    """Called before an XMPP presence stanza is sent

    :param stanza: The stanza to send
    :type stanza: str or unicode
    :return: The new stanza to send, or ``None`` to preserve the original stanza
    :rtype: str or unicode
    """
    pass


def prof_on_presence_stanza_receive(stanza):
    """Called when an XMPP presence stanza is received

    :param stanza: The stanza received
    :type stanza: str or unicode
    :return: ``True`` if Profanity should continue to process the presence stanza, ``False`` otherwise
    :rtype: boolean
    """
    pass


def prof_on_iq_stanza_send(stanza):
    """Called before an XMPP iq stanza is sent

    :param stanza: The stanza to send
    :type stanza: str or unicode
    :return: The new stanza to send, or ``None`` to preserve the original stanza
    :rtype: str or unicode
    """
    pass


def prof_on_iq_stanza_receive(stanza):
    """Called when an XMPP iq stanza is received

    :param stanza: The stanza received
    :type stanza: str or unicode
    :return: ``True`` if Profanity should continue to process the iq stanza, ``False`` otherwise
    :rtype: boolean
    """
    pass


def prof_on_contact_offline(barejid, resource, status):
    """Called when a contact goes offline

    :param barejid: Jabber ID of the contact
    :param resource: the resource being disconnected
    :param status: the status message received with the offline presence, or ``None``
    :type barejid: str or unicode
    :type resource: str or unicode
    :type status: str or unicode
    """
    pass


def prof_on_contact_presence(barejid, resource, presence, status, priority):
    """Called when a presence notification is received from a contact

    :param barejid: Jabber ID of the contact
    :param resource: the resource being disconnected
    :param presence: presence of the contact, one of ``"chat"``, ``"online"``, ``"away"``, ``"xa"`` or ``"dnd"``
    :param status: the status message received with the presence, or ``None``
    :param priority: the priority associated with the resource
    :type barejid: str or unicode
    :type resource: str or unicode
    :type presence: str or unicode
    :type status: str or unicode
    :type priority: int
    """
    pass


def prof_on_chat_win_focus(barejid):
    """Called when a chat window is focussed

    :param barejid: Jabber ID of the chat window recipient
    :type barejid: str or unicode
    """
    pass


def prof_on_room_win_focus(barejid):
    """Called when a chat room window is focussed

    :param barejid: Jabber ID of the room
    :type barejid: str or unicode
    """
    pass