Blame src/mw_util.h

Packit Service 37472d
Packit Service 37472d
/*
Packit Service 37472d
  Meanwhile - Unofficial Lotus Sametime Community Client Library
Packit Service 37472d
  Copyright (C) 2004  Christopher (siege) O'Brien
Packit Service 37472d
  
Packit Service 37472d
  This library is free software; you can redistribute it and/or
Packit Service 37472d
  modify it under the terms of the GNU Library General Public
Packit Service 37472d
  License as published by the Free Software Foundation; either
Packit Service 37472d
  version 2 of the License, or (at your option) any later version.
Packit Service 37472d
  
Packit Service 37472d
  This library is distributed in the hope that it will be useful,
Packit Service 37472d
  but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit Service 37472d
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Packit Service 37472d
  Library General Public License for more details.
Packit Service 37472d
  
Packit Service 37472d
  You should have received a copy of the GNU Library General Public
Packit Service 37472d
  License along with this library; if not, write to the Free
Packit Service 37472d
  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
Packit Service 37472d
*/
Packit Service 37472d
Packit Service 37472d
#ifndef _MW_UTIL_H
Packit Service 37472d
#define _MW_UTIL_H
Packit Service 37472d
Packit Service 37472d
Packit Service 37472d
#include <glib.h>
Packit Service 37472d
Packit Service 37472d
#define map_guint_new() \
Packit Service 37472d
  g_hash_table_new(g_direct_hash, g_direct_equal)
Packit Service 37472d
Packit Service 37472d
Packit Service 37472d
#define map_guint_new_full(valfree) \
Packit Service 37472d
  g_hash_table_new_full(g_direct_hash, g_direct_equal, NULL, (valfree))
Packit Service 37472d
Packit Service 37472d
Packit Service 37472d
#define map_guint_insert(ht, key, val) \
Packit Service 37472d
  g_hash_table_insert((ht), GUINT_TO_POINTER((guint)(key)), (val))
Packit Service 37472d
Packit Service 37472d
Packit Service 37472d
#define map_guint_replace(ht, key, val) \
Packit Service 37472d
  g_hash_table_replace((ht), GUINT_TO_POINTER((guint)(key)), (val))
Packit Service 37472d
Packit Service 37472d
Packit Service 37472d
#define map_guint_lookup(ht, key) \
Packit Service 37472d
  g_hash_table_lookup((ht), GUINT_TO_POINTER((guint)(key)))
Packit Service 37472d
Packit Service 37472d
Packit Service 37472d
#define map_guint_remove(ht, key) \
Packit Service 37472d
  g_hash_table_remove((ht), GUINT_TO_POINTER((guint)(key)))
Packit Service 37472d
Packit Service 37472d
Packit Service 37472d
#define map_guint_steal(ht, key) \
Packit Service 37472d
  g_hash_table_steal((ht), GUINT_TO_POINTER((guint)(key)))
Packit Service 37472d
Packit Service 37472d
Packit Service 37472d
GList *map_collect_keys(GHashTable *ht);
Packit Service 37472d
Packit Service 37472d
Packit Service 37472d
GList *map_collect_values(GHashTable *ht);
Packit Service 37472d
Packit Service 37472d
Packit Service 37472d
struct mw_datum {
Packit Service 37472d
  gpointer data;
Packit Service 37472d
  GDestroyNotify clear;
Packit Service 37472d
};
Packit Service 37472d
Packit Service 37472d
Packit Service 37472d
struct mw_datum *mw_datum_new(gpointer data, GDestroyNotify clear);
Packit Service 37472d
Packit Service 37472d
Packit Service 37472d
void mw_datum_set(struct mw_datum *d, gpointer data, GDestroyNotify clear);
Packit Service 37472d
Packit Service 37472d
Packit Service 37472d
gpointer mw_datum_get(struct mw_datum *d);
Packit Service 37472d
Packit Service 37472d
Packit Service 37472d
void mw_datum_clear(struct mw_datum *d);
Packit Service 37472d
Packit Service 37472d
Packit Service 37472d
void mw_datum_free(struct mw_datum *d);
Packit Service 37472d
Packit Service 37472d
Packit Service 37472d
#endif