summaryrefslogtreecommitdiff
path: root/src/fruits/cmv
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/cmv
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/cmv')
-rw-r--r--src/fruits/cmv/cmv.c70
1 files changed, 44 insertions, 26 deletions
diff --git a/src/fruits/cmv/cmv.c b/src/fruits/cmv/cmv.c
index 0fe33ad..8509485 100644
--- a/src/fruits/cmv/cmv.c
+++ b/src/fruits/cmv/cmv.c
@@ -1,18 +1,21 @@
#include <al/log.h>
-#include <aki/event_loop.h>
-#include <aki/thread.h>
+#include <nnwt/event_loop.h>
+#include <nnwt/thread.h>
#include "../../sink/desktop.h"
#include "../../server/common.h"
#include "../../codec/ffmpeg/common.h"
#ifndef CAMU_SINK_ONLY
#include "../../server/server.h"
-#else
-#include "../../server/common.c"
#endif
+#include "../../server/common.h"
+
+#include "../common.h"
+
+static str *CMV_UNIX_PATH = al_str_c("/tmp/cmv_sock");
struct cmv {
- struct aki_event_loop loop;
+ struct nn_event_loop loop;
struct camu_desktop desktop;
#ifndef CAMU_SINK_ONLY
struct camu_server server;
@@ -28,10 +31,10 @@ static void exit_callback(void *userdata, struct camu_desktop *desktop)
}
#endif
-static aki_thread_result AKI_THREADCALL event_loop_thread(void *userdata)
+static nn_thread_result NNWT_THREADCALL event_loop_thread(void *userdata)
{
struct cmv *c = (struct cmv *)userdata;
- aki_event_loop_run(&c->loop);
+ nn_event_loop_run(&c->loop);
return 0;
}
@@ -53,7 +56,7 @@ s32 main(s32 argc, char *argv[])
s32 wmain(s32 argc, wchar_t **argv)
#endif
{
- if (!aki_common_init() || !stl_global_init(false)) {
+ if (!nn_common_init() || !stl_global_init(false)) {
return EXIT_FAILURE;
}
@@ -65,22 +68,26 @@ s32 wmain(s32 argc, wchar_t **argv)
camu_ff_set_default_log_callback();
#endif
- aki_event_loop_init(&c.loop);
+ nn_event_loop_init(&c.loop);
u8 type;
str *addr;
#ifndef CAMU_SINK_ONLY
bool local = argc > 1;
if (local) {
- type = AKI_SOCKET_UNIX; addr = CAMU_UNIX_LOCAL;
+#ifndef _WIN32
+ type = NNWT_SOCKET_UNIX; addr = CMV_UNIX_PATH;
+#else
+ type = NNWT_SOCKET_TCP; addr = CAMU_LOCALHOST;
+#endif
if (!camu_server_init(&c.server, type, &c.loop)) failure();
if (!camu_server_listen(&c.server, addr, CAMU_PORT)) failure();
} else {
- type = CAMU_LOCAL_TYPE;
- addr = CAMU_LOCAL_ADDR;
+ type = CAMU_TEST_TYPE;
+ addr = CAMU_TEST_ADDR;
}
#else
- type = AKI_SOCKET_TCP; addr = CAMU_SERVER_IP;
+ type = NNWT_SOCKET_TCP; addr = CAMU_SERVER_IP;
#endif
#ifndef CAMU_SINK_ONLY
@@ -90,18 +97,29 @@ s32 wmain(s32 argc, wchar_t **argv)
str arg = *al_str_cr(argv[i]);
#else
str arg;
- al_wstr_to_str(al_wstr_cr(argv[i]), &arg);
+ if (!al_wstr_to_str(al_wstr_cr(argv[i]), &arg)) {
+ al_log_error("cmv", "Failed to parse argument #%i.", i);
+ continue;
+ }
+#endif
+ struct nn_packet *packet = nn_packet_create();
+#ifdef CAMU_HAVE_PORTAL
+ if (al_str_at(&arg, 0) == ';' || camu_is_url(&arg, 0)) {
+ nn_packet_write_u8(packet, CAMU_RESOURCE_SIMPLE_SEARCH);
+#elif defined NAUNET_HAS_CURL
+ if (camu_is_url(&arg, 0)) {
+ nn_packet_write_u8(packet, CAMU_RESOURCE_HTTP);
+#endif
+#if CACHE_HAVE_CDIO
+ } else if (al_str_cmp(&arg, al_str_c("cdda://"), 0, 7) == 0) {
+ nn_packet_write_u8(packet, CAMU_RESOURCE_CDIO);
#endif
- struct aki_packet *packet = aki_packet_create();
- if (al_str_at(&arg, 0) == ';') {
- aki_packet_write_u8(packet, CAMU_RESOURCE_PORTAL);
- aki_packet_write_str(packet, al_str_substr(&arg, 1, arg.len));
} else {
- aki_packet_write_u8(packet, CAMU_RESOURCE_FILE);
- aki_packet_write_str(packet, &arg);
+ nn_packet_write_u8(packet, CAMU_RESOURCE_FILE);
}
+ nn_packet_write_str(packet, &arg);
camu_server_local_add(&c.server, packet);
- aki_packet_free(packet);
+ nn_packet_free(packet);
}
}
#else
@@ -118,13 +136,13 @@ s32 wmain(s32 argc, wchar_t **argv)
#endif
if (!camu_desktop_connect(&c.desktop, type, &c.loop, addr, CAMU_PORT)) failure();
- struct aki_thread thread0;
- aki_thread_create(&thread0, event_loop_thread, &c);
+ struct nn_thread thread0;
+ nn_thread_create(&thread0, event_loop_thread, &c);
while (camu_desktop_tick(&c.desktop)) {}
camu_desktop_stop(&c.desktop);
- aki_thread_join(&thread0);
+ nn_thread_join(&thread0);
camu_desktop_free(&c.desktop);
#ifndef CAMU_SINK_ONLY
camu_server_free(&c.server);
@@ -132,14 +150,14 @@ s32 wmain(s32 argc, wchar_t **argv)
ret = EXIT_SUCCESS;
out:
- aki_event_loop_destroy(&c.loop);
+ nn_event_loop_destroy(&c.loop);
#ifdef CAMU_HAVE_FFMPEG
camu_ff_free_default_log_callback();
#endif
stl_global_close();
- aki_common_close();
+ nn_common_close();
return ret;
}