Home | History | Annotate | Download | only in avahi-core
      1 /***
      2   This file is part of avahi.
      3 
      4   avahi is free software; you can redistribute it and/or modify it
      5   under the terms of the GNU Lesser General Public License as
      6   published by the Free Software Foundation; either version 2.1 of the
      7   License, or (at your option) any later version.
      8 
      9   avahi is distributed in the hope that it will be useful, but WITHOUT
     10   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
     11   or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General
     12   Public License for more details.
     13 
     14   You should have received a copy of the GNU Lesser General Public
     15   License along with avahi; if not, write to the Free Software
     16   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
     17   USA.
     18 ***/
     19 
     20 #ifdef HAVE_CONFIG_H
     21 #include <config.h>
     22 #endif
     23 
     24 #include <stdio.h>
     25 
     26 #include <avahi-common/domain.h>
     27 #include "avahi-common/avahi-malloc.h"
     28 
     29 #include "hashmap.h"
     30 #include "util.h"
     31 
     32 int main(AVAHI_GCC_UNUSED int argc, AVAHI_GCC_UNUSED char *argv[]) {
     33     unsigned n;
     34     AvahiHashmap *m;
     35     const char *t;
     36 
     37     m = avahi_hashmap_new(avahi_string_hash, avahi_string_equal, avahi_free, avahi_free);
     38 
     39     avahi_hashmap_insert(m, avahi_strdup("bla"), avahi_strdup("#1"));
     40     avahi_hashmap_insert(m, avahi_strdup("bla2"), avahi_strdup("asdf"));
     41     avahi_hashmap_insert(m, avahi_strdup("gurke"), avahi_strdup("ffsdf"));
     42     avahi_hashmap_insert(m, avahi_strdup("blubb"), avahi_strdup("sadfsd"));
     43     avahi_hashmap_insert(m, avahi_strdup("bla"), avahi_strdup("#2"));
     44 
     45     for (n = 0; n < 1000; n ++)
     46         avahi_hashmap_insert(m, avahi_strdup_printf("key %u", n), avahi_strdup_printf("value %u", n));
     47 
     48     printf("%s\n", (const char*) avahi_hashmap_lookup(m, "bla"));
     49 
     50     avahi_hashmap_replace(m, avahi_strdup("bla"), avahi_strdup("#3"));
     51 
     52     printf("%s\n", (const char*) avahi_hashmap_lookup(m, "bla"));
     53 
     54     avahi_hashmap_remove(m, "bla");
     55 
     56     t = (const char*) avahi_hashmap_lookup(m, "bla");
     57     printf("%s\n", t ? t : "(null)");
     58 
     59     avahi_hashmap_free(m);
     60 
     61     return 0;
     62 }
     63