/usr/share/idl/thunderbird/imIConversationsService.idl is in thunderbird-dev 1:52.8.0-1~deb8u1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 | /* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 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/. */
#include "nsISupports.idl"
#include "prplIConversation.idl"
#include "prplIMessage.idl"
#include "imIContactsService.idl"
interface imIMessage;
[scriptable, uuid(81b8d9a9-4715-4109-b522-84b9d31493a3)]
interface imIConversation: prplIConversation {
// Will be null for MUCs and IMs from people not in the contacts list.
readonly attribute imIContact contact;
// Write a system message into the conversation.
// Note: this will not be logged.
void systemMessage(in AUTF8String aMessage, [optional] in boolean aIsError);
attribute prplIConversation target;
// Number of unread messages (all messages, including system
// messages are counted).
readonly attribute unsigned long unreadMessageCount;
// Number of unread incoming messages targeted at the user (= IMs or
// message containing the user's nick in MUCs).
readonly attribute unsigned long unreadTargetedMessageCount;
// Number of unread incoming messages (both targeted and untargeted
// messages are counted).
readonly attribute unsigned long unreadIncomingMessageCount;
// Reset all unread message counts.
void markAsRead();
// Can be used instead of the topic when no topic is set.
readonly attribute AUTF8String noTopicString;
// Call this to give the core an opportunity to close an inactive
// conversation. If the conversation is a left MUC or an IM
// conversation without unread message, the implementation will call
// close().
// The returned value indicates if the conversation was closed.
boolean checkClose();
// Get an array of all messages of the conversation.
void getMessages([optional] out unsigned long messageCount,
[retval, array, size_is(messageCount)] out imIMessage messages);
};
[scriptable, uuid(984e182c-d395-4fba-ba6e-cc80c71f57bf)]
interface imIConversationsService: nsISupports {
void initConversations();
void unInitConversations();
// Register a conversation. This will create a unique id for the
// conversation and set it.
void addConversation(in prplIConversation aConversation);
void removeConversation(in prplIConversation aConversation);
void getUIConversations([optional] out unsigned long conversationCount,
[retval, array, size_is(conversationCount)] out imIConversation conversations);
imIConversation getUIConversation(in prplIConversation aConversation);
imIConversation getUIConversationByContactId(in long aId);
nsISimpleEnumerator getConversations();
prplIConversation getConversationById(in unsigned long aId);
prplIConversation getConversationByNameAndAccount(in AUTF8String aName,
in imIAccount aAccount,
in boolean aIsChat);
};
// Because of limitations in libpurple (write_conv is called without context),
// there's an implicit contract that whatever message string the conversation
// service passes to a protocol, it'll get back as the originalMessage when
// "new-text" is notified. This is required for the OTR extensions to work.
// A cancellable outgoing message. Before handing a message off to a protocol,
// the conversation service notifies observers of `preparing-message` and
// `sending-message` (typically add-ons) of an outgoing message, which can be
// transformed or cancelled.
[scriptable, uuid(f88535b1-0b99-433b-a6de-c1a4bf8b43ea)]
interface imIOutgoingMessage: nsISupports {
attribute AUTF8String message;
attribute boolean cancelled;
// Outgoing message is an action command.
readonly attribute boolean action;
readonly attribute prplIConversation conversation;
};
// A cancellable message to be displayed. When the conversation service is
// notified of a `new-text` (ie. an incoming or outgoing message to be
// displayed), it in turn notifies observers of `received-message`
// (again, typically add-ons), which have the opportunity to swap or cancel
// the message.
[scriptable, uuid(3f88cc5c-6940-4eb5-a576-c65770f49ce9)]
interface imIMessage: prplIMessage {
attribute boolean cancelled;
// Holds the sender color for Chats.
// Empty string by default, it is set by the conversation binding.
attribute AUTF8String color;
// What eventually gets shown to the user.
attribute AUTF8String displayMessage;
};
|