/* * File: bomberstudent_server.c * Author: Arthur Brandao * * Created on 14 novembre 2018 */ #include #include #include #include "arraylist.h" #include "bomberstudent_server.h" #include "error.h" /* --- Globale --- */ arraylist get; arraylist post; /* --- Fonctions privées --- */ void* udp_thread(void* data){ /*Server s; //Cast data en serveur s = (Server) data; //Detache le thread if(pthread_detach(pthread_self()) != 0){ return NULL; }*/ return NULL; } /* --- Fonctions publiques --- */ void ini_server(){ arraylist_ini(&get); arraylist_ini(&post); } void add_handler(char* method, char* ressource, int(*handler)(Server, JsonParser*)){ if(strncmp(method, "POST", 5) == 0){ arraylist_add(&post, ressource, handler); } else if(strncmp(method, "POST", 5) == 0){ arraylist_add(&get, ressource, handler); } } boolean launch_udp_server(int port){ Server s; boolean res; pthread_t udp; //Creation serveur s = server_create_udp(); res = s->server_bind(s, port); if(!res){ return false; } //Lancement thread serveur udp if(pthread_create(&udp, NULL, udp_thread, s) != 0){ adderror("Impossible de créer le thread UDP"); server_close(s); return false; } return true; } boolean launch_tcp_server(int); boolean receive_client(Server); boolean send_client(Server, JsonEncoder*); boolean notify_client(Server, char*, char*, JsonEncoder*);