mirror of https://github.com/tstellar/bygfoot.git
XXX: Server
This commit is contained in:
parent
aa4b4ffcb4
commit
deb0a91d4a
|
@ -35,6 +35,14 @@ if (JSON-C_FOUND)
|
|||
link_directories (${JSON-C_LIBRARY_DIRS})
|
||||
endif()
|
||||
|
||||
pkg_check_modules(LIBSOUP libsoup-2.4)
|
||||
|
||||
if (LIBSOUP_FOUND)
|
||||
include_directories (${LIBSOUP_INCLUDE_DIRS})
|
||||
link_directories (${LIBSOUP_LIBRARY_DIRS})
|
||||
endif()
|
||||
|
||||
|
||||
add_executable(bygfoot src/bet.c src/bet.h src/finance.h src/fixture.h
|
||||
src/game_gui.h src/league.h src/main.h src/maths.h src/misc.h
|
||||
src/option.h src/player.h src/support.h src/treeview2.h src/user.h
|
||||
|
@ -87,14 +95,16 @@ add_executable(bygfoot src/bet.c src/bet.h src/finance.h src/fixture.h
|
|||
src/xml_lg_commentary.c src/xml_mmatches.c src/xml_name.c
|
||||
src/xml_news.c src/xml_strategy.c src/xml_team.c src/youth_academy.c
|
||||
src/zip/zip.c src/zip/zip.h src/zip/unzip.c src/zip/unzip.h
|
||||
src/bygfoot.c src/backend_filesystem.c src/json_serialize.c src/cgi.c ${JSON_FILES})
|
||||
src/bygfoot.c src/backend_filesystem.c src/json_serialize.c src/cgi.c
|
||||
src/json_deserialize.c
|
||||
src/backend_server.c ${JSON_FILES})
|
||||
|
||||
# Some gtk headers use deprecated glib features, so disable this warning
|
||||
# since we can't do anything about it.
|
||||
target_compile_options(bygfoot PRIVATE -Wno-deprecated-declarations)
|
||||
# Link the target to the GTK+ libraries
|
||||
target_link_libraries (bygfoot ${GTK2_LIBRARIES} ${GLIB_LIBRARIES} m
|
||||
${ZLIB_LIBRARIES} json-c::json-c)
|
||||
${ZLIB_LIBRARIES} json-c::json-c ${LIBSOUP_LIBRARIES})
|
||||
|
||||
install(TARGETS bygfoot)
|
||||
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
#include "bygfoot.h"
|
||||
#include "file.h"
|
||||
#include "backend_filesystem.h"
|
||||
#include "backend_server.h"
|
||||
#include "load_save.h"
|
||||
#include "gui.h"
|
||||
#include "misc.h"
|
||||
|
@ -31,6 +32,15 @@ bygfoot_init(Bygfoot *bygfoot, enum BygfootFrontend frontend,
|
|||
}
|
||||
}
|
||||
|
||||
gboolean
|
||||
bygfoot_init_server_backend(Bygfoot *bygfoot, char *server, int port)
|
||||
{
|
||||
bygfoot->backend_server = server;
|
||||
bygfoot->backend_port = port;
|
||||
bygfoot->get_country_list = bygfoot_server_get_country_list;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
#if 0
|
||||
void
|
||||
bygfoot_set_save_dir(Bygfoot *bygfoot, const gchar *dir)
|
||||
|
|
|
@ -199,6 +199,7 @@ typedef struct
|
|||
*splash,
|
||||
*training_camp,
|
||||
*news,
|
||||
*network_select,
|
||||
*alr;
|
||||
|
||||
/** The position of the horizontal divider is stored here. */
|
||||
|
@ -207,12 +208,16 @@ typedef struct
|
|||
|
||||
typedef struct {
|
||||
gchar *json_filename;
|
||||
gchar *server_name;
|
||||
gint server_port;
|
||||
gboolean is_cgi;
|
||||
} CommandLineArgs;
|
||||
|
||||
|
||||
void bygfoot_init(Bygfoot *bygfoot, enum BygfootFrontend frontend,
|
||||
enum BygfootBackend backend);
|
||||
gboolean
|
||||
bygfoot_init_server_backend(Bygfoot *bygfoot, char *server, int port);
|
||||
void bygfoot_load_bygfoot(Bygfoot *bygfoot, const gchar *id);
|
||||
Country *bygfoot_load_country(Bygfoot *bygfoot, const gchar *country_name);
|
||||
User *bygfoot_add_user(Bygfoot *bygfoot, const gchar *username, Team *tm);
|
||||
|
|
|
@ -5,12 +5,15 @@
|
|||
|
||||
enum BygfootFrontend {
|
||||
|
||||
BYGFOOT_FRONTEND_NONE,
|
||||
BYGFOOT_FRONTEND_GTK2,
|
||||
BYGFOOT_FRONTEND_CONSOLE,
|
||||
};
|
||||
|
||||
enum BygfootBackend {
|
||||
BYGFOOT_BACKEND_FILESYSTEM
|
||||
BYGFOOT_BACKEND_NONE,
|
||||
BYGFOOT_BACKEND_FILESYSTEM,
|
||||
BYGFOOT_BACKEND_SERVER
|
||||
};
|
||||
|
||||
/** This struct holds all of the global state for a bygfoot game. The goal
|
||||
|
@ -21,6 +24,9 @@ typedef struct bygfoot
|
|||
gchar *id;
|
||||
gchar *save_dir;
|
||||
|
||||
gchar *backend_server;
|
||||
gint backend_port;
|
||||
|
||||
enum BygfootFrontend frontend;
|
||||
|
||||
/** @name Frontend functions */
|
||||
|
|
10
src/main.c
10
src/main.c
|
@ -86,6 +86,9 @@ main_parse_frontend_backend_cl_arguments(gint *argc, gchar ***argv, CommandLineA
|
|||
"commands in this file and then exit", "FILE"},
|
||||
{ "cgi", 0, 0, G_OPTION_ARG_NONE, &args->is_cgi,
|
||||
"Start bygfoot in cgi mode", NULL },
|
||||
{ "server-name", 0, 0, G_OPTION_ARG_STRING, &args->server_name,
|
||||
"Name of bygfoot server to connect to", "uri"},
|
||||
{ "server-port", 0, 0, G_OPTION_ARG_INT, &args->server_port},
|
||||
{NULL}
|
||||
};
|
||||
|
||||
|
@ -467,6 +470,11 @@ main (gint argc, gchar *argv[])
|
|||
memset(&cl_args, 0, sizeof(cl_args));
|
||||
main_parse_frontend_backend_cl_arguments(&argc, &argv, &cl_args);
|
||||
|
||||
if (cl_args.server_name) {
|
||||
bygfoot_init(&bygfoot, BYGFOOT_FRONTEND_CONSOLE, BYGFOOT_BACKEND_NONE);
|
||||
bygfoot_init_server_backend(&bygfoot, cl_args.server_name, cl_args.server_port);
|
||||
}
|
||||
|
||||
if (cl_args.is_cgi) {
|
||||
bygfoot_init(&bygfoot, BYGFOOT_FRONTEND_CONSOLE, BYGFOOT_BACKEND_FILESYSTEM);
|
||||
main_init(&argc, &argv, &bygfoot);
|
||||
|
@ -480,7 +488,7 @@ main (gint argc, gchar *argv[])
|
|||
validate_country_files(&bygfoot);
|
||||
return bygfoot_json_main(&bygfoot, &cl_args);
|
||||
}
|
||||
bygfoot_init(&bygfoot, BYGFOOT_FRONTEND_GTK2, BYGFOOT_BACKEND_FILESYSTEM);
|
||||
//bygfoot_init(&bygfoot, BYGFOOT_FRONTEND_GTK2, BYGFOOT_BACKEND_FILESYSTEM);
|
||||
main_init(&argc, &argv, &bygfoot);
|
||||
validate_country_files(&bygfoot);
|
||||
|
||||
|
|
Loading…
Reference in New Issue