]> git.draconx.ca Git - gob-dx.git/blobdiff - src/util.h
Allow building against Glib 1.x.
[gob-dx.git] / src / util.h
index 20692b0de46e02ec0c151ffa35c9b94e27fd919e..03a12d12fbd0701efad6f1cb003b204f908554dd 100644 (file)
@@ -1,6 +1,7 @@
 /* GOB C Preprocessor
  * Copyright (C) 1999-2000 the Free Software Foundation.
  * Copyright (C) 2000 Eazel, Inc.
+ * Copyright (C) 2022 Nick Bowler
  *
  * Author: George Lebl
  *
  * USA.
  */
 
-#ifndef _UTIL_H_
-#define _UTIL_H_
+#ifndef UTIL_H
+#define UTIL_H
+
+#include <glib.h>
+
+struct _Class;
+struct _Type;
 
 enum {
        GOB_WARN,
@@ -38,6 +44,25 @@ char * remove_sep(const char *base);
 /* replace the : separator from a typename with a different character*/
 char * replace_sep(const char *base, char r);
 
+#if !HAVE_G_STRING_APPEND_PRINTF
+#  define g_string_append_printf g_string_sprintfa
+#  define g_string_printf g_string_sprintf
+#endif
+
+char *gob_strup(char *s);
+char *gob_strdown(char *s);
+
+#if HAVE_G_ASCII_STRCASECMP
+static inline int gob_strcasecmp(const char *s1, const char *s2)
+{
+       return g_ascii_strcasecmp(s1, s2);
+}
+#else
+int gob_strcasecmp(const char *s1, const char *s2);
+#endif
+
+char * gob_str_delete_quotes(char *str);
+
 /*separate the namespace part and then replace rest of
   separators with r*/
 void separns_replace_sep(const char *base, char **ns, char **name, char r);
@@ -46,8 +71,10 @@ void separns_replace_sep(const char *base, char **ns, char **name, char r);
    namespace */
 char * make_pre_macro(const char *base,const  char *pre);
 
-/* get a name usable for a cast from a GTK+ type (without GTK_TYPE_)*/
-const char * get_cast(char *type, gboolean simple_only);
+/* get a name usable for a cast from a GObject (without G_TYPE_)*/
+const char *get_cast(const char *type, gboolean simple_only);
+struct _Type *get_tree_type(const char *type, gboolean simple_only);
+char *get_type(const struct _Type *t, gboolean postfix_to_stars);
 
 enum {
        SPECIAL_2POINTER,
@@ -55,11 +82,10 @@ enum {
        SPECIAL_INT_POINTER,
        SPECIAL_LAST
 };
-/* returns TRUE if there are any special types at all */
-gboolean setup_special_array(Class *c, gboolean *special_array);
 
-/* get the id without the first underscore, but only if we're removing them */
-const char *get_real_id(const char *id);
+/* returns TRUE if there are any special types at all */
+gboolean setup_special_array(struct _Class *c, gboolean *special_array);
 
-#endif
+char * make_me_type (const char *type, const char *alt);
 
+#endif /* UTIL_H */