LeechCraft Azoth  0.6.70-15082-g543737046d
Modular multiprotocol IM plugin for LeechCraft
LC::Azoth::IUpdatableChatEntry Class Referenceabstract

Interface for entries that can modify messages bodies. More...

#include "iupdatablechatentry.h"

Public Member Functions

virtual ~IUpdatableChatEntry ()
 

Protected Member Functions

virtual void performJS (const QString &js)=0
 Emitted when a message body is to be changed. More...
 

Detailed Description

Interface for entries that can modify messages bodies.

This interface is to be implemented by entries (implementing ICLEntry) that can modify the bodies of the messages after the messages were received and handled by Azoth.

When the body of the message is to be changed, the performJS() should be emitted with the corresponding JavaScript code that changes the message in the opened chat tabs. IMessage::GetBody() should also return the new message body after this signal.

For example, a social network protocol plugin may emit an ICLEntry::gotMessage() signal when the message is received, but request additional information from the social network about the attachments, emitting IUpdatableChatEntry::performJS() after that info is fetched.

See also
ICLEntry

Definition at line 48 of file iupdatablechatentry.h.

Constructor & Destructor Documentation

◆ ~IUpdatableChatEntry()

virtual LC::Azoth::IUpdatableChatEntry::~IUpdatableChatEntry ( )
inlinevirtual

Definition at line 57 of file iupdatablechatentry.h.

Member Function Documentation

◆ performJS()

virtual void LC::Azoth::IUpdatableChatEntry::performJS ( const QString &  js)
protectedpure virtual

Emitted when a message body is to be changed.

This signal should be emitted by entries when the contents of one or more messages should be changed. The corresponding js code is executed in an opened chat tab corresponding to the entry (if any).

Typically, a message will contain a div or a span element with an unique id attribute which is to be manipulated by the js code.

Note
This function is expected to be a signal.
Parameters
[out]jsThe code to execute in a chat tab corresponding to this entry, if any.

The documentation for this class was generated from the following file: