mirror of
https://github.com/deltachat/deltachat-core.git
synced 2025-10-05 19:42:04 +02:00
convert self-not-in-group-error-code to an event
This commit is contained in:
parent
99b99cbc46
commit
32ca326d58
4 changed files with 29 additions and 20 deletions
|
@ -1630,7 +1630,8 @@ int dc_set_chat_name(dc_context_t* context, uint32_t chat_id, const char* new_na
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!IS_SELF_IN_GROUP) {
|
if (!IS_SELF_IN_GROUP) {
|
||||||
dc_log_error(context, DC_ERROR_SELF_NOT_IN_GROUP, NULL);
|
dc_log_event(context, DC_EVENT_ERROR_SELF_NOT_IN_GROUP, 0,
|
||||||
|
"Cannot set chat name; self not in group");
|
||||||
goto cleanup; /* we shoud respect this - whatever we send to the group, it gets discarded anyway! */
|
goto cleanup; /* we shoud respect this - whatever we send to the group, it gets discarded anyway! */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1694,7 +1695,8 @@ int dc_set_chat_profile_image(dc_context_t* context, uint32_t chat_id, const cha
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!IS_SELF_IN_GROUP) {
|
if (!IS_SELF_IN_GROUP) {
|
||||||
dc_log_error(context, DC_ERROR_SELF_NOT_IN_GROUP, NULL);
|
dc_log_event(context, DC_EVENT_ERROR_SELF_NOT_IN_GROUP, 0,
|
||||||
|
"Cannot set chat profile image; self not in group.");
|
||||||
goto cleanup; /* we shoud respect this - whatever we send to the group, it gets discarded anyway! */
|
goto cleanup; /* we shoud respect this - whatever we send to the group, it gets discarded anyway! */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1798,7 +1800,8 @@ int dc_add_contact_to_chat_ex(dc_context_t* context, uint32_t chat_id, uint32_t
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!IS_SELF_IN_GROUP) {
|
if (!IS_SELF_IN_GROUP) {
|
||||||
dc_log_error(context, DC_ERROR_SELF_NOT_IN_GROUP, NULL);
|
dc_log_event(context, DC_EVENT_ERROR_SELF_NOT_IN_GROUP, 0,
|
||||||
|
"Cannot add contact to group; self not in group.");
|
||||||
goto cleanup; /* we shoud respect this - whatever we send to the group, it gets discarded anyway! */
|
goto cleanup; /* we shoud respect this - whatever we send to the group, it gets discarded anyway! */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1914,7 +1917,8 @@ int dc_remove_contact_from_chat(dc_context_t* context, uint32_t chat_id, uint32_
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!IS_SELF_IN_GROUP) {
|
if (!IS_SELF_IN_GROUP) {
|
||||||
dc_log_error(context, DC_ERROR_SELF_NOT_IN_GROUP, NULL);
|
dc_log_event(context, DC_EVENT_ERROR_SELF_NOT_IN_GROUP, 0,
|
||||||
|
"Cannot remove contact from chat; self not in group.");
|
||||||
goto cleanup; /* we shoud respect this - whatever we send to the group, it gets discarded anyway! */
|
goto cleanup; /* we shoud respect this - whatever we send to the group, it gets discarded anyway! */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2053,7 +2057,8 @@ static uint32_t send_msg_raw(dc_context_t* context, dc_chat_t* chat, const dc_ms
|
||||||
}
|
}
|
||||||
|
|
||||||
if (DC_CHAT_TYPE_IS_MULTI(chat->type) && !dc_is_contact_in_chat(context, chat->id, DC_CONTACT_ID_SELF)) {
|
if (DC_CHAT_TYPE_IS_MULTI(chat->type) && !dc_is_contact_in_chat(context, chat->id, DC_CONTACT_ID_SELF)) {
|
||||||
dc_log_error(context, DC_ERROR_SELF_NOT_IN_GROUP, NULL);
|
dc_log_event(context, DC_EVENT_ERROR_SELF_NOT_IN_GROUP, 0,
|
||||||
|
"Cannot send message; self not in group.");
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -20,11 +20,7 @@ static void log_vprintf(dc_context_t* context, int event, int code, const char*
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (code==DC_ERROR_SELF_NOT_IN_GROUP) // TODO: this should also be better a separate event
|
if (msg_format)
|
||||||
{
|
|
||||||
msg = dc_stock_str(context, DC_STR_SELFNOTINGRP);
|
|
||||||
}
|
|
||||||
else if (msg_format)
|
|
||||||
{
|
{
|
||||||
#define BUFSIZE 1024
|
#define BUFSIZE 1024
|
||||||
char tempbuf[BUFSIZE+1];
|
char tempbuf[BUFSIZE+1];
|
||||||
|
|
|
@ -29,7 +29,6 @@ static char* default_string(int id)
|
||||||
case DC_STR_MSGADDMEMBER: return dc_strdup("Member %1$s added.");
|
case DC_STR_MSGADDMEMBER: return dc_strdup("Member %1$s added.");
|
||||||
case DC_STR_MSGDELMEMBER: return dc_strdup("Member %1$s removed.");
|
case DC_STR_MSGDELMEMBER: return dc_strdup("Member %1$s removed.");
|
||||||
case DC_STR_MSGGROUPLEFT: return dc_strdup("Left group.");
|
case DC_STR_MSGGROUPLEFT: return dc_strdup("Left group.");
|
||||||
case DC_STR_SELFNOTINGRP: return dc_strdup("You must be a member of the group to perform this action.");
|
|
||||||
case DC_STR_E2E_AVAILABLE: return dc_strdup("End-to-end encryption available.");
|
case DC_STR_E2E_AVAILABLE: return dc_strdup("End-to-end encryption available.");
|
||||||
case DC_STR_ENCR_TRANSP: return dc_strdup("Transport-encryption.");
|
case DC_STR_ENCR_TRANSP: return dc_strdup("Transport-encryption.");
|
||||||
case DC_STR_ENCR_NONE: return dc_strdup("No encryption.");
|
case DC_STR_ENCR_NONE: return dc_strdup("No encryption.");
|
||||||
|
|
|
@ -825,6 +825,22 @@ time_t dc_lot_get_timestamp (const dc_lot_t*);
|
||||||
#define DC_EVENT_ERROR_NETWORK 401
|
#define DC_EVENT_ERROR_NETWORK 401
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* An action cannot be performed because the user is not in the group.
|
||||||
|
* Reported eg. after a call to
|
||||||
|
* dc_set_chat_name(), dc_set_chat_profile_image(),
|
||||||
|
* dc_add_contact_to_chat(), dc_remove_contact_from_chat(),
|
||||||
|
* dc_send_text_msg() or another sending function.
|
||||||
|
*
|
||||||
|
* @param data1 0
|
||||||
|
* @param data2 (const char*) Info string in english language.
|
||||||
|
* Must not be free()'d or modified
|
||||||
|
* and is valid only until the callback returns.
|
||||||
|
* @return 0
|
||||||
|
*/
|
||||||
|
#define DC_EVENT_ERROR_SELF_NOT_IN_GROUP 410
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Messages or chats changed. One or more messages or chats changed for various
|
* Messages or chats changed. One or more messages or chats changed for various
|
||||||
* reasons in the database:
|
* reasons in the database:
|
||||||
|
@ -1016,6 +1032,8 @@ time_t dc_lot_get_timestamp (const dc_lot_t*);
|
||||||
|
|
||||||
#define DC_EVENT_FILE_COPIED 2055 // deprecated
|
#define DC_EVENT_FILE_COPIED 2055 // deprecated
|
||||||
#define DC_EVENT_IS_OFFLINE 2081 // deprecated
|
#define DC_EVENT_IS_OFFLINE 2081 // deprecated
|
||||||
|
#define DC_ERROR_SELF_NOT_IN_GROUP 1 // deprecated
|
||||||
|
#define DC_STR_SELFNOTINGRP 21 // deprecated
|
||||||
#define DC_EVENT_DATA1_IS_STRING(e) ((e)==DC_EVENT_HTTP_GET || (e)==DC_EVENT_IMEX_FILE_WRITTEN || (e)==DC_EVENT_FILE_COPIED)
|
#define DC_EVENT_DATA1_IS_STRING(e) ((e)==DC_EVENT_HTTP_GET || (e)==DC_EVENT_IMEX_FILE_WRITTEN || (e)==DC_EVENT_FILE_COPIED)
|
||||||
#define DC_EVENT_DATA2_IS_STRING(e) ((e)==DC_EVENT_INFO || (e) == DC_EVENT_WARNING || (e) == DC_EVENT_ERROR || (e) == DC_EVENT_SMTP_CONNECTED || (e) == DC_EVENT_SMTP_MESSAGE_SENT || (e) == DC_EVENT_IMAP_CONNECTED)
|
#define DC_EVENT_DATA2_IS_STRING(e) ((e)==DC_EVENT_INFO || (e) == DC_EVENT_WARNING || (e) == DC_EVENT_ERROR || (e) == DC_EVENT_SMTP_CONNECTED || (e) == DC_EVENT_SMTP_MESSAGE_SENT || (e) == DC_EVENT_IMAP_CONNECTED)
|
||||||
#define DC_EVENT_RETURNS_INT(e) ((e)==DC_EVENT_IS_OFFLINE)
|
#define DC_EVENT_RETURNS_INT(e) ((e)==DC_EVENT_IS_OFFLINE)
|
||||||
|
@ -1041,14 +1059,6 @@ time_t dc_lot_get_timestamp (const dc_lot_t*);
|
||||||
#define DC_ERROR_SEE_STRING 0
|
#define DC_ERROR_SEE_STRING 0
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The action cannot be performed because the user is not in the group.
|
|
||||||
* Reported by #DC_EVENT_ERROR eg. after a call to dc_set_chat_name(), dc_set_chat_profile_image(),
|
|
||||||
* dc_add_contact_to_chat(), dc_remove_contact_from_chat(), dc_send_text_msg() or another sending function.
|
|
||||||
*/
|
|
||||||
#define DC_ERROR_SELF_NOT_IN_GROUP 1
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @}
|
* @}
|
||||||
*/
|
*/
|
||||||
|
@ -1082,7 +1092,6 @@ time_t dc_lot_get_timestamp (const dc_lot_t*);
|
||||||
#define DC_STR_MSGADDMEMBER 17
|
#define DC_STR_MSGADDMEMBER 17
|
||||||
#define DC_STR_MSGDELMEMBER 18
|
#define DC_STR_MSGDELMEMBER 18
|
||||||
#define DC_STR_MSGGROUPLEFT 19
|
#define DC_STR_MSGGROUPLEFT 19
|
||||||
#define DC_STR_SELFNOTINGRP 21
|
|
||||||
#define DC_STR_GIF 23
|
#define DC_STR_GIF 23
|
||||||
#define DC_STR_ENCRYPTEDMSG 24
|
#define DC_STR_ENCRYPTEDMSG 24
|
||||||
#define DC_STR_E2E_AVAILABLE 25
|
#define DC_STR_E2E_AVAILABLE 25
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue