Commit f344aec7 authored by vvaltman's avatar vvaltman

Updates in lua callbacks

parent 5ca596f0
...@@ -68,6 +68,7 @@ ...@@ -68,6 +68,7 @@
#define ALLOW_MULT 1 #define ALLOW_MULT 1
char *default_prompt = "> "; char *default_prompt = "> ";
int disable_auto_accept;
int msg_num_mode; int msg_num_mode;
int disable_colors; int disable_colors;
int alert_sound; int alert_sound;
...@@ -947,6 +948,10 @@ void secret_chat_update_gw (struct tgl_secret_chat *U, unsigned flags) { ...@@ -947,6 +948,10 @@ void secret_chat_update_gw (struct tgl_secret_chat *U, unsigned flags) {
if (!binlog_read) { return; } if (!binlog_read) { return; }
if ((flags & TGL_UPDATE_REQUESTED) && !disable_auto_accept) {
tgl_do_accept_encr_chat_request (U, 0, 0);
}
if (!(flags & TGL_UPDATE_CREATED)) { if (!(flags & TGL_UPDATE_CREATED)) {
print_start (); print_start ();
push_color (COLOR_YELLOW); push_color (COLOR_YELLOW);
...@@ -1426,7 +1431,7 @@ void interpreter (char *line UU) { ...@@ -1426,7 +1431,7 @@ void interpreter (char *line UU) {
} }
struct tgl_message *M = tgl_message_get (num); struct tgl_message *M = tgl_message_get (num);
if (M && !M->service && M->media.type == tgl_message_media_audio) { if (M && !M->service && M->media.type == tgl_message_media_audio) {
tgl_do_load_audio (&M->media.video, print_filename_gw, 0); tgl_do_load_audio (&M->media.audio, print_filename_gw, 0);
} else if (M && !M->service && M->media.type == tgl_message_media_audio_encr) { } else if (M && !M->service && M->media.type == tgl_message_media_audio_encr) {
tgl_do_load_encr_video (&M->media.encr_video, print_filename_gw, 0); tgl_do_load_encr_video (&M->media.encr_video, print_filename_gw, 0);
} else { } else {
...@@ -1441,7 +1446,7 @@ void interpreter (char *line UU) { ...@@ -1441,7 +1446,7 @@ void interpreter (char *line UU) {
} }
struct tgl_message *M = tgl_message_get (num); struct tgl_message *M = tgl_message_get (num);
if (M && !M->service && M->media.type == tgl_message_media_audio) { if (M && !M->service && M->media.type == tgl_message_media_audio) {
tgl_do_load_audio (&M->media.video, open_filename_gw, 0); tgl_do_load_audio (&M->media.audio, open_filename_gw, 0);
} else if (M && !M->service && M->media.type == tgl_message_media_audio_encr) { } else if (M && !M->service && M->media.type == tgl_message_media_audio_encr) {
tgl_do_load_encr_video (&M->media.encr_video, open_filename_gw, 0); tgl_do_load_encr_video (&M->media.encr_video, open_filename_gw, 0);
} else { } else {
......
...@@ -414,7 +414,6 @@ int loop (void) { ...@@ -414,7 +414,6 @@ int loop (void) {
read_state_file (); read_state_file ();
} }
binlog_read = 1; binlog_read = 1;
//exit (0);
#ifdef USE_LUA #ifdef USE_LUA
lua_binlog_end (); lua_binlog_end ();
#endif #endif
......
This diff is collapsed.
...@@ -903,7 +903,7 @@ void tgl_do_send_encr_msg_action (struct tgl_message *M, void (*callback)(void * ...@@ -903,7 +903,7 @@ void tgl_do_send_encr_msg_action (struct tgl_message *M, void (*callback)(void *
switch (M->action.type) { switch (M->action.type) {
case tgl_message_action_notify_layer: case tgl_message_action_notify_layer:
out_int (M->action.type); out_int (CODE_decrypted_message_action_notify_layer);
out_int (M->action.layer); out_int (M->action.layer);
break; break;
default: default:
...@@ -1011,7 +1011,7 @@ void tgl_do_send_text (tgl_peer_id_t id, char *file_name, void (*callback)(void ...@@ -1011,7 +1011,7 @@ void tgl_do_send_text (tgl_peer_id_t id, char *file_name, void (*callback)(void
} else { } else {
buf[x] = 0; buf[x] = 0;
tgl_do_send_message (id, buf, x, callback, callback_extra); tgl_do_send_message (id, buf, x, callback, callback_extra);
tfree_str (file_name); //tfree_str (file_name);
close (fd); close (fd);
} }
} }
...@@ -1467,9 +1467,10 @@ static void send_part (struct send_file *f, void *callback, void *callback_extra ...@@ -1467,9 +1467,10 @@ static void send_part (struct send_file *f, void *callback, void *callback_extra
} }
out_long (f->id); out_long (f->id);
out_int (f->part_num); out_int (f->part_num);
char *s = f->file_name + strlen (f->file_name); /*char *s = f->file_name + strlen (f->file_name);
while (s >= f->file_name && *s != '/') { s --;} while (s >= f->file_name && *s != '/') { s --;}
out_string (s + 1); out_string (s + 1);*/
out_string ("");
if (f->size < (16 << 20)) { if (f->size < (16 << 20)) {
out_string (""); out_string ("");
} }
...@@ -2196,7 +2197,7 @@ void tgl_do_load_video (struct tgl_video *V, void (*callback)(void *callback_ext ...@@ -2196,7 +2197,7 @@ void tgl_do_load_video (struct tgl_video *V, void (*callback)(void *callback_ext
load_next_part (D, callback, callback_extra); load_next_part (D, callback, callback_extra);
} }
void tgl_do_load_audio (struct tgl_video *V, void (*callback)(void *callback_extra, int success, char *filename), void *callback_extra) { void tgl_do_load_audio (struct tgl_audio *V, void (*callback)(void *callback_extra, int success, char *filename), void *callback_extra) {
assert (V); assert (V);
struct download *D = talloc0 (sizeof (*D)); struct download *D = talloc0 (sizeof (*D));
D->offset = 0; D->offset = 0;
...@@ -3069,7 +3070,7 @@ void tgl_do_create_secret_chat (tgl_peer_id_t id, void (*callback)(void *callbac ...@@ -3069,7 +3070,7 @@ void tgl_do_create_secret_chat (tgl_peer_id_t id, void (*callback)(void *callbac
/* {{{ Create group chat */ /* {{{ Create group chat */
static struct query_methods create_group_chat_methods = { static struct query_methods create_group_chat_methods = {
.on_answer = fwd_msg_on_answer, .on_answer = fwd_msg_on_answer,
.type = TYPE_TO_PARAM(message_action) .type = TYPE_TO_PARAM(messages_stated_message)
}; };
void tgl_do_create_group_chat (tgl_peer_id_t id, char *chat_topic, void (*callback)(void *callback_extra, int success, struct tgl_message *M), void *callback_extra) { void tgl_do_create_group_chat (tgl_peer_id_t id, char *chat_topic, void (*callback)(void *callback_extra, int success, struct tgl_message *M), void *callback_extra) {
......
...@@ -1175,7 +1175,10 @@ void tglf_fetch_encrypted_message (struct tgl_message *M) { ...@@ -1175,7 +1175,10 @@ void tglf_fetch_encrypted_message (struct tgl_message *M) {
end = in_ptr; end = in_ptr;
} else { } else {
start = in_ptr; start = in_ptr;
assert (skip_type_any (TYPE_TO_PARAM (decrypted_message_action)) >= 0); if (skip_type_any (TYPE_TO_PARAM (decrypted_message_action)) < 0) {
vlogprintf (E_ERROR, "Skipped %ld int out of %ld. Magic = 0x%08x\n", in_ptr - start, in_end - start, *start);
assert (0);
}
end = in_ptr; end = in_ptr;
} }
in_ptr = save_in_ptr; in_ptr = save_in_ptr;
......
...@@ -248,7 +248,7 @@ void tgl_do_get_chat_info (tgl_peer_id_t id, int offline_mode, void (*callback)( ...@@ -248,7 +248,7 @@ void tgl_do_get_chat_info (tgl_peer_id_t id, int offline_mode, void (*callback)(
void tgl_do_get_user_info (tgl_peer_id_t id, int offline_mode, void (*callback)(void *callback_extra, int success, struct tgl_user *U), void *callback_extra); void tgl_do_get_user_info (tgl_peer_id_t id, int offline_mode, void (*callback)(void *callback_extra, int success, struct tgl_user *U), void *callback_extra);
void tgl_do_load_photo (struct tgl_photo *photo, void (*callback)(void *callback_extra, int success, char *filename), void *callback_extra); void tgl_do_load_photo (struct tgl_photo *photo, void (*callback)(void *callback_extra, int success, char *filename), void *callback_extra);
void tgl_do_load_video_thumb (struct tgl_video *video, void (*callback)(void *callback_extra, int success, char *filename), void *callback_extra); void tgl_do_load_video_thumb (struct tgl_video *video, void (*callback)(void *callback_extra, int success, char *filename), void *callback_extra);
void tgl_do_load_audio (struct tgl_video *V, void (*callback)(void *callback_extra, int success, char *filename), void *callback_extra); void tgl_do_load_audio (struct tgl_audio *V, void (*callback)(void *callback_extra, int success, char *filename), void *callback_extra);
void tgl_do_load_video (struct tgl_video *V, void (*callback)(void *callback_extra, int success, char *filename), void *callback_extra); void tgl_do_load_video (struct tgl_video *V, void (*callback)(void *callback_extra, int success, char *filename), void *callback_extra);
void tgl_do_load_document (struct tgl_document *V, void (*callback)(void *callback_extra, int success, char *filename), void *callback_extra); void tgl_do_load_document (struct tgl_document *V, void (*callback)(void *callback_extra, int success, char *filename), void *callback_extra);
void tgl_do_load_document_thumb (struct tgl_document *video, void (*callback)(void *callback_extra, int success, char *filename), void *callback_extra); void tgl_do_load_document_thumb (struct tgl_document *video, void (*callback)(void *callback_extra, int success, char *filename), void *callback_extra);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment