/[LeafOK_CVS]/lbbs/include/section_list_loader.h
ViewVC logotype

Diff of /lbbs/include/section_list_loader.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.3 by sysadm, Tue May 27 00:54:59 2025 UTC Revision 1.21 by sysadm, Tue Nov 4 14:58:55 2025 UTC
# Line 1  Line 1 
1  /***************************************************************************  /* SPDX-License-Identifier: GPL-3.0-or-later */
2                                          section_list_loader.h  -  description  /*
3                                                           -------------------   * section_list_loader
4          Copyright            : (C) 2004-2025 by Leaflet   *   - load and query operations of section articles
5          Email                : leaflet@leafok.com   *
6   ***************************************************************************/   * Copyright (C) 2004-2025  Leaflet <leaflet@leafok.com>
7     */
 /***************************************************************************  
  *                                                                         *  
  *   This program is free software; you can redistribute it and/or modify  *  
  *   it under the terms of the GNU General Public License as published by  *  
  *   the Free Software Foundation; either version 3 of the License, or     *  
  *   (at your option) any later version.                                   *  
  *                                                                         *  
  ***************************************************************************/  
8    
9    #ifndef _SECTION_LIST_LOADER_H_
10    #define _SECTION_LIST_LOADER_H_
11    
12    #include "menu.h"
13  #include "section_list.h"  #include "section_list.h"
14  #include <mysql.h>  #include <mysql/mysql.h>
15    
16    #define ERR_UNKNOWN_SECTION -101
17    #define LOAD_ARTICLE_COUNT_LIMIT 1000
18    
19  extern int load_section_config_from_db(void);  extern int section_list_loader_pid;
20    extern int last_article_op_log_mid;
21    
22    extern int load_section_config_from_db(int update_gen_ex);
23    
24  // Input global_lock = 0 : lock / unlock corresponding section per article  // Input global_lock = 0 : lock / unlock corresponding section per article
25  //                     1 : lock / unlock all sections per invocation  //                     1 : lock / unlock all sections per invocation
26  // Return on success : last article aid (> 0)  // Return on success : count of appended articles (>= 0)
27  //                   : no article append (= 0)  //           failure : lock / unlock error (-1)
28    //                   : unknown section found (ERR_UNKNOWN_SECTION)
29    extern int append_articles_from_db(int32_t start_aid, int global_lock, int article_count_limit);
30    
31    extern int set_last_article_op_log_from_db(void);
32    
33    // Return on success : count of appended articles (>= 0)
34  //           failure : lock / unlock error (-1)  //           failure : lock / unlock error (-1)
35  //                   : unknown section found (-4)  //                   : unknown section found (ERR_UNKNOWN_SECTION)
36  extern int append_articles_from_db(int32_t start_aid, int global_lock);  extern int apply_article_op_log_from_db(int op_count_limit);
37    
38    extern int section_list_loader_launch(void);
39    
40  // Return on success : real page_id (>= 0)  // Return on success : real page_id (>= 0)
41  //           failure : error number (< 0)  //           failure : error number (< 0)
42  extern int query_section_articles(SECTION_LIST *p_section, int32_t page_id, ARTICLE *p_articles[], int32_t *p_article_count);  extern int query_section_articles(SECTION_LIST *p_section, int page_id, ARTICLE *p_articles[],
43                                                                      int *p_article_count, int *p_page_count, int *p_ontop_start_offset);
44    
45    // Input direction =  0 : locate p_article_cur
46    //                   -1 :        p_article_cur->p_topic_prior
47    //                    1 :        p_article_cur->p_topic_next
48    // Return on success : found (1)
49    //                   : not found (0)
50    //           failure : error number (< 0)
51    extern int locate_article_in_section(SECTION_LIST *p_section, const ARTICLE *p_article_cur, int direction, int step,
52                                                                             int *p_page_id, int *p_visible_offset, int *p_article_count);
53    
54    extern int last_article_in_section(SECTION_LIST *p_section, const ARTICLE **pp_article);
55    
56    // Return on success : found (1)
57    //                   : not found (0)
58    //           failure : error number (< 0)
59    extern int scan_unread_article_in_section(SECTION_LIST *p_section, const ARTICLE *p_article_cur, const ARTICLE **pp_article_unread);
60    
61    extern int scan_article_in_section_by_uid(SECTION_LIST *p_section, const ARTICLE *p_article_cur,
62                                                                                      int direction, int32_t uid, const ARTICLE **pp_article);
63    extern int scan_article_in_section_by_username(SECTION_LIST *p_section, const ARTICLE *p_article_cur,
64                                                                                               int direction, const char *username, const ARTICLE **pp_article);
65    extern int scan_article_in_section_by_title(SECTION_LIST *p_section, const ARTICLE *p_article_cur,
66                                                                                            int direction, const char *title, const ARTICLE **pp_article);
67    
68    extern int get_section_ex_menu_set(SECTION_LIST *p_section, MENU_SET *p_ex_menu_set);
69    
70    #endif //_SECTION_LIST_LOADER_H_


Legend:
Removed lines/characters  
Changed lines/characters
  Added lines/characters

webmaster@leafok.com
ViewVC Help
Powered by ViewVC 1.3.0-beta1