X-Git-Url: https://git.realraum.at/?p=svn42.git;a=blobdiff_plain;f=powersensordaemon%2Fclient_list.c;fp=powersensordaemon%2Fclient_list.c;h=0000000000000000000000000000000000000000;hp=5a79cd8b5f798537c9b33247a0fa7864de4542f2;hb=ff9137d257207a3a4b03c4f453cc1b7ce1e3cf17;hpb=a34e51d757fe52cb19de2937ae1b211894167524 diff --git a/powersensordaemon/client_list.c b/powersensordaemon/client_list.c deleted file mode 100644 index 5a79cd8..0000000 --- a/powersensordaemon/client_list.c +++ /dev/null @@ -1,119 +0,0 @@ -/* - * powersensordaemon - * - * Copyright (C) 2009 Christian Pointner - * - * This file is part of powersensordaemon. - * - * powersensordaemon 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 - * any later version. - * - * powersensordaemon 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 powersensordaemon. If not, see . - */ - -#include - -#include "client_list.h" -#include "datatypes.h" - -client_t* client_get_last(client_t* first) -{ - if(!first) - return NULL; - - while(first->next) { - first = first->next; - } - - return first; -} - -int client_add(client_t** first, int fd) -{ - if(!first) - return -1; - - client_t* new_client = malloc(sizeof(client_t)); - if(!new_client) - return -2; - - new_client->fd = fd; - new_client->request_listener = 0; - new_client->error_listener = 0; - new_client->sensor_listener = 0; - new_client->movement_listener = 0; - new_client->button_listener = 0; - new_client->next = NULL; - new_client->buffer.offset = 0; - - if(!(*first)) { - *first = new_client; - return 0; - } - - client_get_last(*first)->next = new_client; - - return 0; -} - -void client_remove(client_t** first, int fd) -{ - if(!first || !(*first)) - return; - - client_t* deletee = *first; - if((*first)->fd == fd) { - *first = (*first)->next; - close(deletee->fd); - free(deletee); - return; - } - - client_t* prev = deletee; - deletee = deletee->next; - while(deletee) { - if(deletee->fd == fd) { - prev->next = deletee->next; - close(deletee->fd); - free(deletee); - return; - } - prev = deletee; - deletee = deletee->next; - } -} - -client_t* client_find(client_t* first, int fd) -{ - if(!first) - return NULL; - - while(first) { - if(first->fd == fd) - return first; - - first = first->next; - } - return NULL; -} - -void client_clear(client_t** first) -{ - if(!first || !(*first)) - return; - - while(*first) { - client_t* deletee = *first; - *first = (*first)->next; - close(deletee->fd); - free(deletee); - } -}