From 03077752f8a7b86e1008ca85d726690b0c8fac2f Mon Sep 17 00:00:00 2001 From: Eitan Isaacson Date: Wed, 8 Apr 2009 14:25:50 +0300 Subject: gtypified the interests enum. --- libindicate/Makefile.am | 44 ++++++++++++++++++++++++++++++++++++++++++-- libindicate/interests.h | 5 ++--- libindicate/server.h | 4 ---- 3 files changed, 44 insertions(+), 9 deletions(-) diff --git a/libindicate/Makefile.am b/libindicate/Makefile.am index c1900a6..91072f7 100644 --- a/libindicate/Makefile.am +++ b/libindicate/Makefile.am @@ -1,3 +1,6 @@ +MARSHAL_PREFIX = indicate_marshal +MARSHAL_FILE = indicate-marshal +ENUM_FILE = indicate-enum-types INCLUDES= \ -DG_LOG_DOMAIN=\"libindicate\" @@ -14,7 +17,9 @@ BUILT_SOURCES = \ dbus-listener-server.h \ dbus-listener-client.h \ listener-marshal.c \ - listener-marshal.h + listener-marshal.h \ + $(ENUM_FILE).h \ + $(ENUM_FILE).c lib_LTLIBRARIES = \ libindicate.la @@ -26,7 +31,8 @@ indicate_headers = \ indicator-message.h \ listener.h \ server.h \ - interests.h + interests.h \ + $(ENUM_FILE).h libindicateinclude_HEADERS = \ $(indicate_headers) @@ -37,6 +43,7 @@ libindicate_la_SOURCES = \ dbus-indicate-client.h \ dbus-listener-server.h \ dbus-listener-client.h \ + indicate-enum-types.c \ server.c \ listener.c \ listener-marshal.c \ @@ -97,6 +104,39 @@ listener-marshal.c: $(srcdir)/listener-marshal.list pkgconfig_DATA = indicate.pc pkgconfigdir = $(libdir)/pkgconfig +$(ENUM_FILE).h: s-enum-types-h + @true +s-enum-types-h: $(indicate_headers) Makefile + ( cd $(srcdir) && glib-mkenums \ + --fhead "#ifndef _INDICATE_ENUM_TYPES_H_\n#define _INDICATE_ENUM_TYPES_H_\n\n#include \n\nG_BEGIN_DECLS\n" \ + --fprod "/* enumerations from \"@filename@\" */\n" \ + --vhead "GType @enum_name@_get_type(void);\n#define INDICATE_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n" \ + --ftail "G_END_DECLS\n\n#endif /* _INDICATE_ENUM_TYPES_H_ */" \ + interests.h ) > tmp-$(ENUM_FILE).h \ + && (cmp -s tmp-$(ENUM_FILE).h $(ENUM_FILE).h || cp tmp-$(ENUM_FILE).h $(ENUM_FILE).h ) \ + && rm -f tmp-$(ENUM_FILE).h \ + && echo timestamp > $(@F) + +$(ENUM_FILE).c: s-enum-types-c + @true +s-enum-types-c: $(indicate_headers) Makefile + ( cd $(srcdir) && glib-mkenums \ + --fhead "#include \n#include " \ + --fprod "\n/* enumerations from \"@filename@\" */" \ + --vhead "GType\n@enum_name@_get_type (void)\n{\n static GType etype = 0;\n if (etype == 0) {\n static const G@Type@Value values[] = {" \ + --vprod " { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \ + --vtail " { 0, NULL, NULL }\n };\n etype = g_@type@_register_static (\"@EnumName@\", values);\n }\n return etype;\n}\n" \ + interests.h ) > tmp-$(ENUM_FILE).c \ + && (cmp -s tmp-$(ENUM_FILE).c $(ENUM_FILE).c || cp tmp-$(ENUM_FILE).c $(ENUM_FILE).c ) \ + && rm -f tmp-$(ENUM_FILE).c \ + && echo timestamp > $(@F) + +CLEANFILES = \ + $(ENUM_FILE).c \ + $(ENUM_FILE).h \ + s-enum-types-c \ + s-enum-types-h + if USE_GIR gobjectintrospection_gir_DATA = \ diff --git a/libindicate/interests.h b/libindicate/interests.h index 70c52d9..1c6215a 100644 --- a/libindicate/interests.h +++ b/libindicate/interests.h @@ -34,8 +34,7 @@ License version 3 and version 2.1 along with this program. If not, see G_BEGIN_DECLS -typedef enum _IndicateInterests IndicateInterests; -enum _IndicateInterests { +typedef enum { INDICATE_INTEREST_NONE, /**< We're of no interest */ INDICATE_INTEREST_SERVER_DISPLAY, /**< Displays the server's existance to the user */ INDICATE_INTEREST_SERVER_SIGNAL, /**< Will send signals to the server to be displayed */ @@ -43,7 +42,7 @@ enum _IndicateInterests { INDICATE_INTEREST_INDICATOR_SIGNAL, /**< Will return signals based on individual indicators being responded to */ INDICATE_INTEREST_INDICATOR_COUNT, /**< Only displays a count of the indicators */ INDICATE_INTEREST_LAST /**< Makes merges and counting easier */ -}; +} IndicateInterests; G_END_DECLS diff --git a/libindicate/server.h b/libindicate/server.h index cfb4334..5db46f9 100644 --- a/libindicate/server.h +++ b/libindicate/server.h @@ -124,10 +124,6 @@ void indicate_server_remove_indicator (IndicateServer * server, IndicateIndicato IndicateServer * indicate_server_ref_default (void); void indicate_server_set_default (IndicateServer * server); -/* Check to see if there is someone, out there, who likes this */ -gboolean indicate_server_check_interest (IndicateServer * server, IndicateInterests interest); - - /* Signal emission functions for sub-classes of the server */ void indicate_server_emit_indicator_added (IndicateServer *server, guint id, const gchar *type); void indicate_server_emit_indicator_removed (IndicateServer *server, guint id, const gchar *type); -- cgit v1.2.3