summaryrefslogtreecommitdiff
path: root/src/fruits/cmsrv
diff options
context:
space:
mode:
authorAndrew Opalach <andrew@akon.city> 2024-12-24 14:52:51 -0500
committerAndrew Opalach <andrew@akon.city> 2024-12-24 14:52:51 -0500
commit5206f05fdf77bb65c125ddb133cf46a59608c671 (patch)
tree69707685b0245f1db508a6bce98d8ab5399a932c /src/fruits/cmsrv
parent3d55d2722a3129449ab1418e73abd97caa7fd2ae (diff)
downloadcamu-5206f05fdf77bb65c125ddb133cf46a59608c671.tar.gz
camu-5206f05fdf77bb65c125ddb133cf46a59608c671.tar.bz2
camu-5206f05fdf77bb65c125ddb133cf46a59608c671.zip
Bring in line with dependency changes
Signed-off-by: Andrew Opalach <andrew@akon.city>
Diffstat (limited to 'src/fruits/cmsrv')
-rw-r--r--src/fruits/cmsrv/cmsrv.c94
-rw-r--r--src/fruits/cmsrv/ui.c12
2 files changed, 63 insertions, 43 deletions
diff --git a/src/fruits/cmsrv/cmsrv.c b/src/fruits/cmsrv/cmsrv.c
index 5eb9fee..53555d3 100644
--- a/src/fruits/cmsrv/cmsrv.c
+++ b/src/fruits/cmsrv/cmsrv.c
@@ -1,32 +1,34 @@
#define CAMU_LOCAL_SOCKET
#include <al/log.h>
-#include <aki/common.h>
+#include <nnwt/common.h>
#ifdef CAMU_LOCAL_SOCKET
-#include <aki/line_processor.h>
+#include <nnwt/line_processor.h>
#endif
-#include <aki/timer.h>
+#include <nnwt/timer.h>
#include "../../server/server.h"
#include "../../server/common.h"
#include "../../cache/handlers/cdio.h"
#include "../../codec/ffmpeg/common.h"
+#include "../common.h"
+
#include "ui.h"
struct cmsrv {
- struct aki_event_loop loop;
- struct aki_signal quit_signal;
+ struct nn_event_loop loop;
+ struct nn_signal quit_signal;
struct camu_server server;
#ifdef CAMU_LOCAL_SOCKET
struct {
- struct aki_socket sock;
- struct aki_line_processor cli;
+ struct nn_socket sock;
+ struct nn_line_processor cli;
} local;
#endif
struct cmsrv_ui ui;
- struct aki_poll input_poll;
- struct aki_timer render_timer;
+ struct nn_poll input_poll;
+ struct nn_timer render_timer;
};
#ifdef CAMU_LOCAL_SOCKET
@@ -49,25 +51,34 @@ static u8 server_line_callback(void *userdata, str *line)
} else if (al_str_eq(line, al_str_c(";CLEAR"))) {
lia_list_clear(list);
} else {
- struct aki_packet *packet = aki_packet_create();
+ struct nn_packet *packet = nn_packet_create();
+#ifdef CAMU_HAVE_PORTAL
if (al_str_at(line, 0) == ';' || camu_is_url(line, 0)) {
- aki_packet_write_u8(packet, CAMU_RESOURCE_SIMPLE_SEARCH);
+ nn_packet_write_u8(packet, CAMU_RESOURCE_SIMPLE_SEARCH);
+#elif defined NAUNET_HAS_CURL
+ if (camu_is_url(line, 0)) {
+ nn_packet_write_u8(packet, CAMU_RESOURCE_HTTP);
+#endif
+#if CACHE_HAVE_CDIO
+ } else if (al_str_cmp(line, al_str_c("cdda://"), 0, 7) == 0) {
+ nn_packet_write_u8(packet, CAMU_RESOURCE_CDIO);
+#endif
} else {
- aki_packet_write_u8(packet, CAMU_RESOURCE_FILE);
+ nn_packet_write_u8(packet, CAMU_RESOURCE_FILE);
}
- aki_packet_write_str(packet, line);
+ nn_packet_write_str(packet, line);
camu_server_local_add(&s->server, packet);
}
- return AKI_LINE_PROCESSOR_CONTINUE;
+ return NNWT_LINE_PROCESSOR_CONTINUE;
}
#endif
-static void render_timer_callback(void *userdata, struct aki_timer *timer)
+static void render_timer_callback(void *userdata, struct nn_timer *timer)
{
struct cmsrv *s = (struct cmsrv *)userdata;
(void)timer;
cmsrv_ui_render(&s->ui);
- aki_timer_again(&s->render_timer);
+ nn_timer_again(&s->render_timer);
}
static void input_poll_callback(void *userdata, s32 revents)
@@ -80,7 +91,7 @@ static void input_poll_callback(void *userdata, s32 revents)
if (input.evtype == NCTYPE_PRESS || input.evtype == NCTYPE_UNKNOWN) {
switch (input.id) {
case 'q':
- aki_event_loop_break_one(&s->loop);
+ nn_event_loop_break_one(&s->loop);
break;
case '1':
cmsrv_ui_set_pane(&s->ui, CMSRV_UI_LISTS);
@@ -99,13 +110,13 @@ static void input_poll_callback(void *userdata, s32 revents)
static void quit_signal_callback(void *userdata)
{
struct cmsrv *s = (struct cmsrv *)userdata;
- aki_event_loop_break_one(&s->loop);
+ nn_event_loop_break_one(&s->loop);
}
-static s32 log_callback(void *userdata, char *message, const char *color)
+static s32 log_callback(void *userdata, u8 level, char *message)
{
struct cmsrv *s = (struct cmsrv *)userdata;
- (void)color;
+ (void)level;
cmsrv_ui_push_message(&s->ui, message);
return al_strlen(message);
}
@@ -115,7 +126,7 @@ static struct cmsrv s = { 0 };
static void sigint_handler(s32 signum)
{
(void)signum;
- aki_signal_send(&s.quit_signal);
+ nn_signal_send(&s.quit_signal);
}
#ifndef _WIN32
@@ -126,7 +137,7 @@ s32 wmain(s32 argc, wchar_t **argv)
{
(void)argc;
(void)argv;
- if (!aki_common_init() || !cmsrv_ui_init(&s.ui, &s.server)) return EXIT_FAILURE;
+ if (!nn_common_init() || !cmsrv_ui_init(&s.ui, &s.server)) return EXIT_FAILURE;
signal(SIGINT, sigint_handler);
@@ -136,36 +147,35 @@ s32 wmain(s32 argc, wchar_t **argv)
camu_ff_set_default_log_callback();
#endif
- aki_event_loop_init(&s.loop);
+ nn_event_loop_init(&s.loop);
- aki_signal_init(&s.quit_signal, &s.loop, quit_signal_callback, &s);
- aki_signal_start(&s.quit_signal);
+ nn_signal_init(&s.quit_signal, &s.loop, quit_signal_callback, &s);
+ nn_signal_start(&s.quit_signal);
- if (!camu_server_init(&s.server, CAMU_LOCAL_TYPE, &s.loop)) return EXIT_FAILURE;
- camu_server_listen(&s.server, CAMU_LOCAL_ADDR, CAMU_PORT);
+ if (!camu_server_init(&s.server, CAMU_TEST_TYPE, &s.loop)) return EXIT_FAILURE;
+ camu_server_listen(&s.server, CAMU_TEST_ADDR, CAMU_PORT);
#ifdef CAMU_LOCAL_SOCKET
- s.local.sock.type = AKI_SOCKET_UNIX;
- aki_socket_init(&s.local.sock);
- aki_socket_set_blocking(&s.local.sock, false);
+ s.local.sock.type = NNWT_SOCKET_UNIX;
+ nn_socket_init(&s.local.sock, NNWT_SOCKET_NONBLOCKING);
s.local.cli.callback = server_line_callback;
s.local.cli.userdata = &s;
- aki_line_processor_init(&s.local.cli, al_str_c("\n"));
- aki_line_processor_open_socket(&s.local.cli, &s.local.sock);
- if (aki_socket_bind(&s.local.sock, CAMU_UNIX_LOCAL, 0) && aki_socket_listen(&s.local.sock)) {
- aki_line_processor_run(&s.local.cli, &s.loop);
+ nn_line_processor_init(&s.local.cli, al_str_c("\n"));
+ nn_line_processor_open_socket(&s.local.cli, &s.local.sock);
+ if (nn_socket_bind(&s.local.sock, CAMU_TEST_CONTROL_PATH, 0) && nn_socket_listen(&s.local.sock)) {
+ nn_line_processor_run(&s.local.cli, &s.loop);
}
#endif
- aki_poll_init(&s.input_poll, input_poll_callback, &s);
- aki_poll_set(&s.input_poll, cmsrv_ui_get_input_fd(&s.ui), AKI_POLL_READ);
- aki_poll_start(&s.input_poll, &s.loop);
+ nn_poll_init(&s.input_poll, input_poll_callback, &s);
+ nn_poll_set(&s.input_poll, cmsrv_ui_get_input_fd(&s.ui), NNWT_POLL_READ);
+ nn_poll_start(&s.input_poll, &s.loop);
- aki_timer_init(&s.render_timer, &s.loop, render_timer_callback, &s);
- aki_timer_set_repeat(&s.render_timer, AKI_TS_FROM_USEC(100000));
- aki_timer_again(&s.render_timer);
+ nn_timer_init(&s.render_timer, &s.loop, render_timer_callback, &s);
+ nn_timer_set_repeat(&s.render_timer, NNWT_TS_FROM_USEC(100000));
+ nn_timer_again(&s.render_timer);
- aki_event_loop_run(&s.loop);
+ nn_event_loop_run(&s.loop);
cmsrv_ui_close(&s.ui);
@@ -173,7 +183,7 @@ s32 wmain(s32 argc, wchar_t **argv)
camu_ff_free_default_log_callback();
#endif
- aki_common_close();
+ nn_common_close();
return EXIT_SUCCESS;
}
diff --git a/src/fruits/cmsrv/ui.c b/src/fruits/cmsrv/ui.c
index 0c26881..5d35380 100644
--- a/src/fruits/cmsrv/ui.c
+++ b/src/fruits/cmsrv/ui.c
@@ -1,6 +1,8 @@
#include <al/lib.h>
#include <al/log.h>
+#include "../../server/common.h"
+
#include "ui.h"
#define LOG_RATIO 1.5
@@ -145,7 +147,15 @@ static void render_lists(struct cmsrv_ui *ui)
ncplane_putchar_yx(n, y, 1, '>');
x += 2;
}
- putnwstr_maxwidth_yx(n, y, x, max_width - x, &entry->name);
+ wstr *name = &entry->name;
+#ifdef CAMU_HAVE_PORTAL
+ struct camu_resource *resource = (struct camu_resource *)entry->opaque;
+ if (resource->type == CAMU_RESOURCE_PORTAL) {
+ struct camu_resource_portal *portal = (struct camu_resource_portal *)resource;
+ name = &portal->post->title;
+ }
+#endif
+ putnwstr_maxwidth_yx(n, y, x, max_width - x, name);
if (++current_line >= max_height) break;
}
}