Patch for selecting limited records of messages
[apps/native/telegram-tizen.git] / TelegramTizen / db_manager / tg_db_manager.h
1 /*
2  * tg_db_manager.h
3  *
4  *  Created on: Jun 30, 2015
5  *      Author: sandeep
6  */
7
8 #ifndef TG_DB_MANAGER_H_
9 #define TG_DB_MANAGER_H_
10
11 #include "tg_common.h"
12 #include <sqlite3.h>
13 extern sqlite3* create_database(char* database_name);
14 extern Eina_Bool close_database(sqlite3* db);
15 extern Eina_Bool create_table(const char* table_name, Eina_List* column_names, Eina_List* column_types);
16 extern Eina_Bool insert_table(const char* table_name, Eina_List* column_names, Eina_List* column_types, Eina_List* column_values);
17 extern Eina_Bool update_table(const char* table_name, Eina_List* column_names, Eina_List* column_types, Eina_List* column_values, const char* where_clause);
18 extern Eina_Bool get_values_from_table(const char* table_name, Eina_List* column_names, int (*callback)(void*,int,char**,char**), const char* where_clause, void* data_to_callback);
19 extern Eina_List* get_values_from_table_sync(const char* table_name, Eina_List* column_names, Eina_List* column_types, const char* where_clause, int limit, int offset);
20 extern Eina_List* get_values_from_table_sync_order_by(const char* table_name, Eina_List* column_names, Eina_List* column_types, const char* order_column, Eina_Bool is_asc, const char* where_clause);
21 extern int get_number_of_rows(char* table_name, char* where_clause);
22 extern Eina_List *tg_db_get_user_info(tgl_peer_id_t *user_id);
23 extern Eina_List *tg_db_get_chat_info(const char *table_name);
24 extern tg_peer_info_s *tg_db_get_peer_info(const char *table, int peer_id);
25 extern Eina_List *tg_db_get_messages(const char *table_name);
26 extern Eina_Bool delete_all_records(char *tablename);
27
28 extern int tg_db_init(void);
29 extern int tg_db_fini(void);
30
31 #endif /* TG_DB_MANAGER_H_ */