Skip to content

Commit b18a774

Browse files
committed
api: add TransportsModified event
1 parent 0d97a5b commit b18a774

File tree

4 files changed

+20
-3
lines changed

4 files changed

+20
-3
lines changed

deltachat-ffi/src/lib.rs

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -559,6 +559,7 @@ pub unsafe extern "C" fn dc_event_get_id(event: *mut dc_event_t) -> libc::c_int
559559
EventType::IncomingCallAccepted { .. } => 2560,
560560
EventType::OutgoingCallAccepted { .. } => 2570,
561561
EventType::CallEnded { .. } => 2580,
562+
EventType::TransportsModified => 2600,
562563
#[allow(unreachable_patterns)]
563564
#[cfg(test)]
564565
_ => unreachable!("This is just to silence a rust_analyzer false-positive"),
@@ -593,7 +594,8 @@ pub unsafe extern "C" fn dc_event_get_data1_int(event: *mut dc_event_t) -> libc:
593594
| EventType::AccountsBackgroundFetchDone
594595
| EventType::ChatlistChanged
595596
| EventType::AccountsChanged
596-
| EventType::AccountsItemChanged => 0,
597+
| EventType::AccountsItemChanged
598+
| EventType::TransportsModified => 0,
597599
EventType::IncomingReaction { contact_id, .. }
598600
| EventType::IncomingWebxdcNotify { contact_id, .. } => contact_id.to_u32() as libc::c_int,
599601
EventType::MsgsChanged { chat_id, .. }
@@ -681,7 +683,8 @@ pub unsafe extern "C" fn dc_event_get_data2_int(event: *mut dc_event_t) -> libc:
681683
| EventType::IncomingCallAccepted { .. }
682684
| EventType::OutgoingCallAccepted { .. }
683685
| EventType::CallEnded { .. }
684-
| EventType::EventChannelOverflow { .. } => 0,
686+
| EventType::EventChannelOverflow { .. }
687+
| EventType::TransportsModified => 0,
685688
EventType::MsgsChanged { msg_id, .. }
686689
| EventType::ReactionsChanged { msg_id, .. }
687690
| EventType::IncomingReaction { msg_id, .. }
@@ -780,7 +783,8 @@ pub unsafe extern "C" fn dc_event_get_data2_str(event: *mut dc_event_t) -> *mut
780783
| EventType::AccountsChanged
781784
| EventType::AccountsItemChanged
782785
| EventType::IncomingCallAccepted { .. }
783-
| EventType::WebxdcRealtimeAdvertisementReceived { .. } => ptr::null_mut(),
786+
| EventType::WebxdcRealtimeAdvertisementReceived { .. }
787+
| EventType::TransportsModified => ptr::null_mut(),
784788
EventType::IncomingCall {
785789
place_call_info, ..
786790
} => {

deltachat-jsonrpc/src/api/types/events.rs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -460,6 +460,11 @@ pub enum EventType {
460460
/// ID of the chat which the message belongs to.
461461
chat_id: u32,
462462
},
463+
464+
/// One or more transports has changed.
465+
///
466+
/// Transport list should be refreshed.
467+
TransportsModified,
463468
}
464469

465470
impl From<CoreEventType> for EventType {
@@ -642,6 +647,8 @@ impl From<CoreEventType> for EventType {
642647
msg_id: msg_id.to_u32(),
643648
chat_id: chat_id.to_u32(),
644649
},
650+
CoreEventType::TransportsModified => TransportsModified,
651+
645652
#[allow(unreachable_patterns)]
646653
#[cfg(test)]
647654
_ => unreachable!("This is just to silence a rust_analyzer false-positive"),

deltachat-rpc-client/src/deltachat_rpc_client/const.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@ class EventType(str, Enum):
8080
CONFIG_SYNCED = "ConfigSynced"
8181
WEBXDC_REALTIME_DATA = "WebxdcRealtimeData"
8282
WEBXDC_REALTIME_ADVERTISEMENT_RECEIVED = "WebxdcRealtimeAdvertisementReceived"
83+
TRANSPORTS_MODIFIED = "TransportsModified"
8384

8485

8586
class ChatId(IntEnum):

src/events/payload.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -417,6 +417,11 @@ pub enum EventType {
417417
chat_id: ChatId,
418418
},
419419

420+
/// One or more transports has changed.
421+
///
422+
/// Transport list should be refreshed.
423+
TransportsModified,
424+
420425
/// Event for using in tests, e.g. as a fence between normally generated events.
421426
#[cfg(test)]
422427
Test,

0 commit comments

Comments
 (0)