From cc32bb773811cbdc098f27ce32cb389e6a0163a9 Mon Sep 17 00:00:00 2001 From: James Booth Date: Sun, 24 Jul 2016 15:05:24 +0100 Subject: Moved resource.c --- Makefile.am | 4 +-- src/profanity.c | 2 +- src/resource.c | 97 ----------------------------------------------------- src/resource.h | 52 ---------------------------- src/roster_list.c | 2 +- src/roster_list.h | 2 +- src/xmpp/resource.c | 97 +++++++++++++++++++++++++++++++++++++++++++++++++++++ src/xmpp/resource.h | 52 ++++++++++++++++++++++++++++ 8 files changed, 154 insertions(+), 154 deletions(-) delete mode 100644 src/resource.c delete mode 100644 src/resource.h create mode 100644 src/xmpp/resource.c create mode 100644 src/xmpp/resource.h diff --git a/Makefile.am b/Makefile.am index 36af73cd..30184358 100644 --- a/Makefile.am +++ b/Makefile.am @@ -4,7 +4,7 @@ core_sources = \ src/profanity.h src/xmpp/chat_session.c \ src/xmpp/chat_session.h src/xmpp/muc.c src/xmpp/muc.h src/xmpp/jid.h src/xmpp/jid.c \ src/xmpp/chat_state.h src/xmpp/chat_state.c \ - src/resource.c src/resource.h \ + src/xmpp/resource.c src/xmpp/resource.h \ src/roster_list.c src/roster_list.h \ src/xmpp/xmpp.h src/xmpp/capabilities.c src/xmpp/session.c \ src/xmpp/connection.h src/xmpp/connection.c \ @@ -61,7 +61,7 @@ unittest_sources = \ src/log.h src/profanity.c src/common.h \ src/profanity.h src/xmpp/chat_session.c \ src/xmpp/chat_session.h src/xmpp/muc.c src/xmpp/muc.h src/xmpp/jid.h src/xmpp/jid.c \ - src/resource.c src/resource.h \ + src/xmpp/resource.c src/xmpp/resource.h \ src/xmpp/chat_state.h src/xmpp/chat_state.c \ src/roster_list.c src/roster_list.h \ src/xmpp/xmpp.h src/xmpp/form.c \ diff --git a/src/profanity.c b/src/profanity.c index 8dec09cf..5955ae72 100644 --- a/src/profanity.c +++ b/src/profanity.c @@ -68,7 +68,7 @@ #ifdef HAVE_LIBGPGME #include "pgp/gpg.h" #endif -#include "resource.h" +#include "xmpp/resource.h" #include "xmpp/xmpp.h" #include "ui/ui.h" #include "window_list.h" diff --git a/src/resource.c b/src/resource.c deleted file mode 100644 index 2c448882..00000000 --- a/src/resource.c +++ /dev/null @@ -1,97 +0,0 @@ -/* - * resource.c - * - * Copyright (C) 2012 - 2016 James Booth - * - * This file is part of Profanity. - * - * Profanity is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Profanity is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with Profanity. If not, see . - * - * In addition, as a special exception, the copyright holders give permission to - * link the code of portions of this program with the OpenSSL library under - * certain conditions as described in each individual source file, and - * distribute linked combinations including the two. - * - * You must obey the GNU General Public License in all respects for all of the - * code used other than OpenSSL. If you modify file(s) with this exception, you - * may extend this exception to your version of the file(s), but you are not - * obligated to do so. If you do not wish to do so, delete this exception - * statement from your version. If you delete this exception statement from all - * source files in the program, then also delete it here. - * - */ - -#include -#include -#include - -#include -#include - -Resource* -resource_new(const char *const name, resource_presence_t presence, const char *const status, const int priority) -{ - assert(name != NULL); - Resource *new_resource = malloc(sizeof(struct resource_t)); - new_resource->name = strdup(name); - new_resource->presence = presence; - if (status) { - new_resource->status = strdup(status); - } else { - new_resource->status = NULL; - } - new_resource->priority = priority; - - return new_resource; -} - -int -resource_compare_availability(Resource *first, Resource *second) -{ - if (first->priority > second->priority) { - return -1; - } else if (first->priority < second->priority) { - return 1; - } else { // priorities equal - if (first->presence == RESOURCE_CHAT) { - return -1; - } else if (second->presence == RESOURCE_CHAT) { - return 1; - } else if (first->presence == RESOURCE_ONLINE) { - return -1; - } else if (second->presence == RESOURCE_ONLINE) { - return 1; - } else if (first->presence == RESOURCE_AWAY) { - return -1; - } else if (second->presence == RESOURCE_AWAY) { - return 1; - } else if (first->presence == RESOURCE_XA) { - return -1; - } else if (second->presence == RESOURCE_XA) { - return 1; - } else { - return -1; - } - } -} - -void -resource_destroy(Resource *resource) -{ - if (resource) { - free(resource->name); - free(resource->status); - free(resource); - } -} diff --git a/src/resource.h b/src/resource.h deleted file mode 100644 index c7b00c6a..00000000 --- a/src/resource.h +++ /dev/null @@ -1,52 +0,0 @@ -/* - * resource.h - * - * Copyright (C) 2012 - 2016 James Booth - * - * This file is part of Profanity. - * - * Profanity is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Profanity is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with Profanity. If not, see . - * - * In addition, as a special exception, the copyright holders give permission to - * link the code of portions of this program with the OpenSSL library under - * certain conditions as described in each individual source file, and - * distribute linked combinations including the two. - * - * You must obey the GNU General Public License in all respects for all of the - * code used other than OpenSSL. If you modify file(s) with this exception, you - * may extend this exception to your version of the file(s), but you are not - * obligated to do so. If you do not wish to do so, delete this exception - * statement from your version. If you delete this exception statement from all - * source files in the program, then also delete it here. - * - */ - -#ifndef RESOURCE_H -#define RESOURCE_H - -#include "common.h" - -typedef struct resource_t { - char *name; - resource_presence_t presence; - char *status; - int priority; -} Resource; - -Resource* resource_new(const char *const name, resource_presence_t presence, const char *const status, - const int priority); -void resource_destroy(Resource *resource); -int resource_compare_availability(Resource *first, Resource *second); - -#endif diff --git a/src/roster_list.c b/src/roster_list.c index 816eed27..789449c2 100644 --- a/src/roster_list.c +++ b/src/roster_list.c @@ -40,7 +40,7 @@ #include #include "roster_list.h" -#include "resource.h" +#include "xmpp/resource.h" #include "xmpp/contact.h" #include "xmpp/jid.h" #include "tools/autocomplete.h" diff --git a/src/roster_list.h b/src/roster_list.h index 1b695b76..70dd540f 100644 --- a/src/roster_list.h +++ b/src/roster_list.h @@ -37,7 +37,7 @@ #include -#include "resource.h" +#include "xmpp/resource.h" #include "xmpp/contact.h" typedef enum { diff --git a/src/xmpp/resource.c b/src/xmpp/resource.c new file mode 100644 index 00000000..6e6bc5f0 --- /dev/null +++ b/src/xmpp/resource.c @@ -0,0 +1,97 @@ +/* + * resource.c + * + * Copyright (C) 2012 - 2016 James Booth + * + * This file is part of Profanity. + * + * Profanity is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Profanity is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Profanity. If not, see . + * + * In addition, as a special exception, the copyright holders give permission to + * link the code of portions of this program with the OpenSSL library under + * certain conditions as described in each individual source file, and + * distribute linked combinations including the two. + * + * You must obey the GNU General Public License in all respects for all of the + * code used other than OpenSSL. If you modify file(s) with this exception, you + * may extend this exception to your version of the file(s), but you are not + * obligated to do so. If you do not wish to do so, delete this exception + * statement from your version. If you delete this exception statement from all + * source files in the program, then also delete it here. + * + */ + +#include +#include +#include + +#include "common.h" +#include "xmpp/resource.h" + +Resource* +resource_new(const char *const name, resource_presence_t presence, const char *const status, const int priority) +{ + assert(name != NULL); + Resource *new_resource = malloc(sizeof(struct resource_t)); + new_resource->name = strdup(name); + new_resource->presence = presence; + if (status) { + new_resource->status = strdup(status); + } else { + new_resource->status = NULL; + } + new_resource->priority = priority; + + return new_resource; +} + +int +resource_compare_availability(Resource *first, Resource *second) +{ + if (first->priority > second->priority) { + return -1; + } else if (first->priority < second->priority) { + return 1; + } else { // priorities equal + if (first->presence == RESOURCE_CHAT) { + return -1; + } else if (second->presence == RESOURCE_CHAT) { + return 1; + } else if (first->presence == RESOURCE_ONLINE) { + return -1; + } else if (second->presence == RESOURCE_ONLINE) { + return 1; + } else if (first->presence == RESOURCE_AWAY) { + return -1; + } else if (second->presence == RESOURCE_AWAY) { + return 1; + } else if (first->presence == RESOURCE_XA) { + return -1; + } else if (second->presence == RESOURCE_XA) { + return 1; + } else { + return -1; + } + } +} + +void +resource_destroy(Resource *resource) +{ + if (resource) { + free(resource->name); + free(resource->status); + free(resource); + } +} diff --git a/src/xmpp/resource.h b/src/xmpp/resource.h new file mode 100644 index 00000000..22681013 --- /dev/null +++ b/src/xmpp/resource.h @@ -0,0 +1,52 @@ +/* + * resource.h + * + * Copyright (C) 2012 - 2016 James Booth + * + * This file is part of Profanity. + * + * Profanity is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Profanity is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Profanity. If not, see . + * + * In addition, as a special exception, the copyright holders give permission to + * link the code of portions of this program with the OpenSSL library under + * certain conditions as described in each individual source file, and + * distribute linked combinations including the two. + * + * You must obey the GNU General Public License in all respects for all of the + * code used other than OpenSSL. If you modify file(s) with this exception, you + * may extend this exception to your version of the file(s), but you are not + * obligated to do so. If you do not wish to do so, delete this exception + * statement from your version. If you delete this exception statement from all + * source files in the program, then also delete it here. + * + */ + +#ifndef XMPP_RESOURCE_H +#define XMPP_RESOURCE_H + +#include "common.h" + +typedef struct resource_t { + char *name; + resource_presence_t presence; + char *status; + int priority; +} Resource; + +Resource* resource_new(const char *const name, resource_presence_t presence, const char *const status, + const int priority); +void resource_destroy(Resource *resource); +int resource_compare_availability(Resource *first, Resource *second); + +#endif -- cgit 1.4.1-2-gfad0