2013-10-23 10:26:17 -04:00
|
|
|
/*
|
2014-08-21 18:02:43 -04:00
|
|
|
This file is part of telegram-cli.
|
2013-10-23 10:26:17 -04:00
|
|
|
|
2014-08-21 18:02:43 -04:00
|
|
|
Telegram-cli is free software: you can redistribute it and/or modify
|
2013-10-23 10:26:17 -04:00
|
|
|
it under the terms of the GNU General Public License as published by
|
|
|
|
the Free Software Foundation, either version 2 of the License, or
|
|
|
|
(at your option) any later version.
|
|
|
|
|
2014-08-21 18:02:43 -04:00
|
|
|
Telegram-cli is distributed in the hope that it will be useful,
|
2013-10-23 10:26:17 -04:00
|
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
GNU General Public License for more details.
|
|
|
|
|
|
|
|
You should have received a copy of the GNU General Public License
|
2014-08-21 18:02:43 -04:00
|
|
|
along with this telegram-cli. If not, see <http://www.gnu.org/licenses/>.
|
2013-10-23 10:26:17 -04:00
|
|
|
|
2014-08-21 18:02:43 -04:00
|
|
|
Copyright Vitaly Valtman 2013-2014
|
2013-10-23 10:26:17 -04:00
|
|
|
*/
|
2013-10-03 08:38:25 -04:00
|
|
|
#ifndef __INTERFACE_H__
|
|
|
|
#define __INTERFACE_H__
|
2013-10-31 19:18:34 -04:00
|
|
|
#include "structures.h"
|
2014-08-13 11:55:16 -04:00
|
|
|
#include "tgl-layout.h"
|
2013-10-13 06:18:08 -04:00
|
|
|
|
2013-10-23 06:24:59 -04:00
|
|
|
#define COLOR_RED "\033[0;31m"
|
|
|
|
#define COLOR_REDB "\033[1;31m"
|
2013-10-13 06:18:08 -04:00
|
|
|
#define COLOR_NORMAL "\033[0m"
|
|
|
|
#define COLOR_GREEN "\033[32;1m"
|
|
|
|
#define COLOR_GREY "\033[37;1m"
|
2013-10-16 15:19:39 -04:00
|
|
|
#define COLOR_YELLOW "\033[33;1m"
|
2013-10-18 12:00:47 -04:00
|
|
|
#define COLOR_BLUE "\033[34;1m"
|
2013-10-18 15:30:24 -04:00
|
|
|
#define COLOR_MAGENTA "\033[35;1m"
|
2013-11-04 12:34:27 -05:00
|
|
|
#define COLOR_CYAN "\033[36;1m"
|
2013-11-04 18:15:24 -05:00
|
|
|
#define COLOR_LCYAN "\033[0;36m"
|
|
|
|
|
|
|
|
#define COLOR_INVERSE "\033[7m"
|
2013-10-13 06:18:08 -04:00
|
|
|
|
2013-10-03 08:38:25 -04:00
|
|
|
char *get_default_prompt (void);
|
|
|
|
char *complete_none (const char *text, int state);
|
|
|
|
char **complete_text (char *text, int start, int end);
|
|
|
|
void interpreter (char *line);
|
2014-09-20 18:22:35 -04:00
|
|
|
void interpreter_ex (char *line, void *ex);
|
2013-10-11 16:52:20 -04:00
|
|
|
|
|
|
|
void rprintf (const char *format, ...) __attribute__ ((format (printf, 1, 2)));
|
2013-10-13 06:18:08 -04:00
|
|
|
void logprintf (const char *format, ...) __attribute__ ((format (printf, 1, 2)));
|
2014-08-13 08:56:55 -04:00
|
|
|
|
|
|
|
#define vlogprintf(v,...) \
|
|
|
|
do { \
|
2014-08-13 11:55:16 -04:00
|
|
|
if (tgl_state.verbosity >= (v)) {\
|
2014-08-13 08:56:55 -04:00
|
|
|
logprintf (__VA_ARGS__);\
|
|
|
|
}\
|
|
|
|
} while (0);\
|
|
|
|
|
|
|
|
|
2014-08-20 21:56:53 -04:00
|
|
|
//void hexdump (int *in_ptr, int *in_end);
|
2013-10-16 15:19:39 -04:00
|
|
|
|
2014-09-20 18:22:35 -04:00
|
|
|
struct bufferevent;
|
|
|
|
struct in_ev {
|
|
|
|
struct bufferevent *bev;
|
|
|
|
char in_buf[4096];
|
|
|
|
int in_buf_pos;
|
|
|
|
int refcnt;
|
|
|
|
int error;
|
2014-09-21 05:18:12 -04:00
|
|
|
int fd;
|
2014-09-20 18:22:35 -04:00
|
|
|
};
|
|
|
|
|
|
|
|
|
2014-08-13 11:55:16 -04:00
|
|
|
struct tgl_message;
|
2014-09-20 18:22:35 -04:00
|
|
|
struct in_ev;
|
|
|
|
void print_message (struct in_ev *ev, struct tgl_message *M);
|
|
|
|
void print_chat_name (struct in_ev *ev, tgl_peer_id_t id, tgl_peer_t *C);
|
|
|
|
void print_user_name (struct in_ev *ev, tgl_peer_id_t id, tgl_peer_t *U);
|
|
|
|
void print_encr_chat_name_full (struct in_ev *ev, tgl_peer_id_t id, tgl_peer_t *C);
|
|
|
|
void print_encr_chat_name (struct in_ev *ev, tgl_peer_id_t id, tgl_peer_t *C);
|
2014-08-13 11:55:16 -04:00
|
|
|
//void print_media (struct tgl_message_media *M);
|
2014-09-20 18:22:35 -04:00
|
|
|
//
|
2013-10-21 14:24:31 -04:00
|
|
|
void pop_color (void);
|
|
|
|
void push_color (const char *color);
|
|
|
|
void print_start (void);
|
|
|
|
void print_end (void);
|
2014-09-20 18:22:35 -04:00
|
|
|
void print_date_full (struct in_ev *ev, long t);
|
|
|
|
void print_date (struct in_ev *ev, long t);
|
2013-10-28 18:33:13 -04:00
|
|
|
|
2014-02-27 03:48:05 -05:00
|
|
|
void play_sound (void);
|
2013-10-28 18:33:13 -04:00
|
|
|
void update_prompt (void);
|
2013-11-09 17:47:19 -05:00
|
|
|
void set_interface_callbacks (void);
|
2013-10-03 08:38:25 -04:00
|
|
|
#endif
|