add can_send_edit_request() api

This commit is contained in:
B. Petersen
2025-02-22 22:12:03 +01:00
parent fbf3ff0112
commit b455344a14
5 changed files with 103 additions and 13 deletions

View File

@@ -1039,6 +1039,20 @@ uint32_t dc_send_msg_sync (dc_context_t* context, uint32
uint32_t dc_send_text_msg (dc_context_t* context, uint32_t chat_id, const char* text_to_send);
/**
* Check if a message can be edited using dc_send_edit_request().
*
* Messages that cannot be edited are eg. info messages or messages not sent by self.
* UI will usually check this function whether to display an "Edit" option or not.
*
* @memberof dc_context_t
* @param context The context object.
* @param msg_id The message ID to check.
* @return 1=message can be edited, 0=message cannot be edited.
*/
int dc_can_send_edit_request (dc_context_t* context, uint32_t msg_id);
/**
* Send chat members a request to edit the given message's text.
*

View File

@@ -1041,6 +1041,23 @@ pub unsafe extern "C" fn dc_send_text_msg(
})
}
#[no_mangle]
pub unsafe extern "C" fn dc_can_send_edit_request(
context: *mut dc_context_t,
msg_id: u32,
new_text: *const libc::c_char,
) -> libc::c_int {
if context.is_null() || new_text.is_null() {
eprintln!("ignoring careless call to dc_can_send_edit_request()");
return 0;
}
let ctx = &*context;
block_on(message::can_send_edit_request(ctx, MsgId::new(msg_id)))
.log_err(ctx)
.unwrap_or_default() as libc::c_int
}
#[no_mangle]
pub unsafe extern "C" fn dc_send_edit_request(
context: *mut dc_context_t,