aboutsummaryrefslogtreecommitdiff
path: root/main.c
diff options
context:
space:
mode:
authortomsmeding <tom.smeding@gmail.com>2017-05-09 22:39:16 +0200
committertomsmeding <tom.smeding@gmail.com>2017-05-09 22:39:16 +0200
commit24de2cd600a4e108c24f6f77a5a4d30111fd9918 (patch)
treeb27f97f511fb3d6fd5ce7f8a3fad9687867dbfda /main.c
parenta7a0ce278e661bf5d3f2b47556d8c30469d2bd6c (diff)
server: Add plugin framework
Diffstat (limited to 'main.c')
-rw-r--r--main.c26
1 files changed, 7 insertions, 19 deletions
diff --git a/main.c b/main.c
index a754f02..5028190 100644
--- a/main.c
+++ b/main.c
@@ -13,6 +13,7 @@
#include "db.h"
#include "event.h"
#include "net.h"
+#include "plugin.h"
#include "runloop.h"
#include "user_data.h"
@@ -146,34 +147,21 @@ void srandomdev(void){
}
#endif
-__attribute__((unused))
-static void dummy_event_handler(const struct event_item *event){
- switch(event->type){
- case EVENT_MESSAGE:
- debug("event: <%s>@%s: %s",event->user,event->room,event->message);
- break;
-
- case EVENT_ONLINE:
- debug("event: <%s> online=%" PRIi64,event->user,event->num);
- break;
+int main(int argc,char **argv){
+ srandomdev();
- case EVENT_JOIN:
- debug("event: <%s> joins %s",event->user,event->room);
- break;
+ plugin_init();
+ for(int i=1;i<argc;i++){
+ plugin_register(argv[i]);
}
-}
-
-int main(void){
- srandomdev();
+ if(argc<=1)printf("Loaded no plugins\n");
db_init();
int sock=create_server_socket();
printf("Listening on port %d\n",PORT);
- // event_register(dummy_event_handler);
runloop_set_timeout(60*1000000,timeout_callback);
runloop_add_fd(sock,server_socket_callback,false);
runloop_run();
printf("Runloop empty, shutting down\n");
- // event_unregister(dummy_event_handler);
db_close();
}