mirror of
https://github.com/chatmail/core.git
synced 2026-04-06 15:42:10 +03:00
add some incoming/outgoing message hooks
This commit is contained in:
@@ -63,11 +63,22 @@ class Account(object):
|
||||
|
||||
@hookspec.account_hookimpl
|
||||
def process_ffi_event(self, ffi_event):
|
||||
if ffi_event.name == "DC_EVENT_CONFIGURE_PROGRESS":
|
||||
name = ffi_event.name
|
||||
if name == "DC_EVENT_CONFIGURE_PROGRESS":
|
||||
data1 = ffi_event.data1
|
||||
if data1 == 0 or data1 == 1000:
|
||||
success = data1 == 1000
|
||||
self._pm.hook.configure_completed(success=success)
|
||||
elif name == "DC_EVENT_INCOMING_MSG":
|
||||
msg = self.get_message_by_id(ffi_event.data2)
|
||||
self._pm.hook.process_incoming_message(message=msg)
|
||||
elif name == "DC_EVENT_MSGS_CHANGED":
|
||||
if ffi_event.data2 != 0:
|
||||
msg = self.get_message_by_id(ffi_event.data2)
|
||||
self._pm.hook.process_incoming_message(message=msg)
|
||||
elif name == "DC_EVENT_MSG_DELIVERED":
|
||||
msg = self.get_message_by_id(ffi_event.data2)
|
||||
self._pm.hook.process_message_delivered(message=msg)
|
||||
|
||||
def add_account_plugin(self, plugin):
|
||||
""" add an account plugin whose hookimpls are called. """
|
||||
|
||||
@@ -39,6 +39,14 @@ class PerAccount:
|
||||
def configure_completed(self, success):
|
||||
""" Called when a configure process completed. """
|
||||
|
||||
@account_hookspec
|
||||
def process_incoming_message(self, message):
|
||||
""" Called on any incoming message (to deaddrop or chat). """
|
||||
|
||||
@account_hookspec
|
||||
def process_message_delivered(self, message):
|
||||
""" Called when an outgoing message has been delivered to SMTP. """
|
||||
|
||||
@account_hookspec
|
||||
def after_shutdown(self):
|
||||
""" Called after the account has been shutdown. """
|
||||
|
||||
Reference in New Issue
Block a user