]>
git.ipfire.org Git - people/ms/libloc.git/blob - src/libloc/country-list.h
2 libloc - A library to determine the location of someone on the Internet
4 Copyright (C) 2017 IPFire Development Team <info@ipfire.org>
6 This library is free software; you can redistribute it and/or
7 modify it under the terms of the GNU Lesser General Public
8 License as published by the Free Software Foundation; either
9 version 2.1 of the License, or (at your option) any later version.
11 This library is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 Lesser General Public License for more details.
17 #ifndef LIBLOC_COUNTRY_LIST_H
18 #define LIBLOC_COUNTRY_LIST_H
22 #include <libloc/libloc.h>
23 #include <libloc/country.h>
25 struct loc_country_list
;
27 int loc_country_list_new(struct loc_ctx
* ctx
, struct loc_country_list
** list
);
28 struct loc_country_list
* loc_country_list_ref(struct loc_country_list
* list
);
29 struct loc_country_list
* loc_country_list_unref(struct loc_country_list
* list
);
31 size_t loc_country_list_size(struct loc_country_list
* list
);
32 int loc_country_list_empty(struct loc_country_list
* list
);
33 void loc_country_list_clear(struct loc_country_list
* list
);
35 struct loc_country
* loc_country_list_get(struct loc_country_list
* list
, size_t index
);
36 int loc_country_list_append(struct loc_country_list
* list
, struct loc_country
* country
);
38 int loc_country_list_contains(
39 struct loc_country_list
* list
, struct loc_country
* country
);
40 int loc_country_list_contains_code(
41 struct loc_country_list
* list
, const char* code
);
43 void loc_country_list_sort(struct loc_country_list
* list
);