mirror of
https://github.com/itsPLK/ps5-payload-manager.git
synced 2026-10-19 02:19:53 -05:00
Split two monolithic files (main.c 1538→233 lines, payload_mgr.c 2355→467 lines) into 8 single-responsibility modules: - http_server.c: MHD request router and all route handlers - repository.c: repo cache, download, install/commit, self-update - sources.c: multi-source repository management - config.c: PldmgrConfig struct, read/write, JSON config handler - log_server.c: ring buffer, SSE streaming, pldmgr_log() - json_helpers.c: JsonListBuilder, JSON parser, file I/O utilities - sha256.c: SHA256 hash implementation - process_mgr.c: process listing and kill Introduces PldmgrConfig struct to replace the 8-out-param read_next_config_values() pattern. Renames extracted functions to match their new modules (e.g. repository_install_download, sources_add, process_kill). No HTTP route changes — frontend is unaffected.
31 lines
784 B
C
31 lines
784 B
C
#ifndef LOG_SERVER_H
|
|
#define LOG_SERVER_H
|
|
|
|
#include <stddef.h>
|
|
#include <stdint.h>
|
|
#include <microhttpd.h>
|
|
|
|
#define MAX_LOG_LINES 100
|
|
#define MAX_LOG_LINE_LEN 256
|
|
|
|
/* SSE log stream connection state */
|
|
struct LogSSEConnection {
|
|
int last_log_version;
|
|
int sent_initial;
|
|
};
|
|
|
|
/* MHD content reader callback for SSE log streaming */
|
|
ssize_t log_stream_callback(void *cls, uint64_t pos, char *buf, size_t max);
|
|
|
|
/* MHD free callback for SSE connections */
|
|
void log_stream_cleanup(void *cls);
|
|
|
|
/* Build the /log JSON response into buf. Returns bytes written. */
|
|
size_t log_build_json(char *buf, size_t buf_size);
|
|
|
|
/* Track whether any browser client has connected */
|
|
void log_server_set_active(void);
|
|
/* pldmgr_server_is_active() and pldmgr_log() are declared in pldmgr.h */
|
|
|
|
#endif
|