aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Makefile.am50
-rw-r--r--src/Makefile.in304
-rw-r--r--src/ka-applet-priv.h (renamed from src/krb5-auth-applet.h)33
-rw-r--r--src/ka-applet.c (renamed from src/krb5-auth-applet.c)59
-rw-r--r--src/ka-applet.h48
-rw-r--r--src/ka-closures.c105
-rw-r--r--src/ka-closures.h38
-rw-r--r--src/ka-dbus.c (renamed from src/krb5-auth-dbus.c)9
-rw-r--r--src/ka-dbus.h (renamed from src/krb5-auth-dbus.h)8
-rw-r--r--src/ka-dbus.xml (renamed from src/krb5-auth-applet-dbus.xml)1
-rw-r--r--src/ka-dialog.c (renamed from src/krb5-auth-dialog.c)18
-rw-r--r--src/ka-dialog.h (renamed from src/krb5-auth-dialog.h)7
-rw-r--r--src/ka-gconf-tools.c (renamed from src/krb5-auth-gconf-tools.c)27
-rw-r--r--src/ka-gconf-tools.h (renamed from src/krb5-auth-gconf-tools.h)6
-rw-r--r--src/ka-gconf.c (renamed from src/krb5-auth-gconf.c)11
-rw-r--r--src/ka-gconf.h (renamed from src/krb5-auth-gconf.h)6
-rw-r--r--src/ka-plugin-loader.c204
-rw-r--r--src/ka-plugin-loader.h58
-rw-r--r--src/ka-plugin.c133
-rw-r--r--src/ka-plugin.h75
-rw-r--r--src/ka-pwdialog.c (renamed from src/krb5-auth-pwdialog.c)7
-rw-r--r--src/ka-pwdialog.h (renamed from src/krb5-auth-pwdialog.h)4
-rw-r--r--src/ka-tickets.c (renamed from src/krb5-auth-tickets.c)5
-rw-r--r--src/ka-tickets.h (renamed from src/krb5-auth-tickets.h)4
-rw-r--r--src/ka-tools.c (renamed from src/krb5-auth-tools.c)3
-rw-r--r--src/ka-tools.h (renamed from src/krb5-auth-tools.h)5
-rw-r--r--src/krb5-auth-dialog.schemas.in13
27 files changed, 1011 insertions, 230 deletions
diff --git a/src/Makefile.am b/src/Makefile.am
index e0068fb..591c69f 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -21,22 +21,29 @@ $(service_DATA): $(service_in_files) Makefile
sed -e "s|\@BINDIR\@|$(bindir)|" $< > $@
krb5_auth_dialog_SOURCES = \
- krb5-auth-dialog.c \
- krb5-auth-dialog.h \
- krb5-auth-applet.c \
- krb5-auth-applet.h \
- krb5-auth-pwdialog.c \
- krb5-auth-pwdialog.h \
- krb5-auth-gconf.c \
- krb5-auth-gconf.h \
- krb5-auth-gconf-tools.c \
- krb5-auth-gconf-tools.h \
- krb5-auth-dbus.c \
- krb5-auth-dbus.h \
- krb5-auth-tools.c \
- krb5-auth-tools.h \
- krb5-auth-tickets.c \
- krb5-auth-tickets.h \
+ ka-dialog.c \
+ ka-dialog.h \
+ ka-applet.c \
+ ka-applet-priv.h \
+ ka-applet.h \
+ ka-pwdialog.c \
+ ka-pwdialog.h \
+ ka-gconf.c \
+ ka-gconf.h \
+ ka-gconf-tools.c \
+ ka-gconf-tools.h \
+ ka-dbus.c \
+ ka-dbus.h \
+ ka-tools.c \
+ ka-tools.h \
+ ka-tickets.c \
+ ka-tickets.h \
+ ka-plugin.c \
+ ka-plugin.h \
+ ka-plugin-loader.c \
+ ka-plugin-loader.h \
+ ka-closures.h \
+ ka-closures.c \
dummy-strings.c \
$(NULL)
@@ -47,10 +54,12 @@ krb5_auth_dialog_CPPFLAGS = \
-DDATA_DIR=\""$(datadir)"\" \
-DLOCALE_DIR=\""$(localedir)/"\" \
-DBIN_DIR=\""$(bindir)/"\" \
+ -DKA_PLUGINS_DIR=\""$(KA_PLUGINS_DIR)"\" \
$(AM_CPPFLAGS) \
$(NULL)
krb5_auth_dialog_CFLAGS = \
+ $(GMODULE_CFLAGS) \
$(GTK_CFLAGS) \
$(DBUS_CFLAGS) \
$(GCONF_CFLAGS) \
@@ -71,14 +80,15 @@ krb5_auth_dialog_LDADD = \
$(DBUS_LIBS) \
$(GCONF_LIBS) \
$(GIO_LIBS) \
+ $(GMODULE_LIBS) \
$(GTK_LIBS) \
$(NULL)
BUILT_SOURCES = \
- krb5-auth-applet-dbus-glue.h \
+ ka-dbus-glue.h \
$(NULL)
-krb5-auth-applet-dbus-glue.h: $(srcdir)/krb5-auth-applet-dbus.xml
+ka-dbus-glue.h: $(srcdir)/ka-dbus.xml
dbus-binding-tool \
--mode=glib-server \
--prefix=krb5_auth_dialog \
@@ -100,14 +110,14 @@ EXTRA_DIST = \
$(schema_in_files) \
$(autostart_in_files) \
$(service_in_files) \
- $(srcdir)/krb5-auth-applet-dbus.xml \
+ $(srcdir)/ka-dbus.xml \
krb5-auth-dialog.1.in \
$(NULL)
CLEANFILES = $(schema_DATA) $(service_DATA)
DISTCLEANFILES = \
krb5-auth-dialog.desktop \
- krb5-auth-applet-dbus-glue.h \
+ ka-dbus-glue.h \
$(NULL)
install-data-local: $(schema_DATA)
diff --git a/src/Makefile.in b/src/Makefile.in
index 89ddf2e..b812d80 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -53,15 +53,17 @@ am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)" \
"$(DESTDIR)$(schemadir)" "$(DESTDIR)$(servicedir)"
PROGRAMS = $(bin_PROGRAMS)
am__objects_1 =
-am_krb5_auth_dialog_OBJECTS = \
- krb5_auth_dialog-krb5-auth-dialog.$(OBJEXT) \
- krb5_auth_dialog-krb5-auth-applet.$(OBJEXT) \
- krb5_auth_dialog-krb5-auth-pwdialog.$(OBJEXT) \
- krb5_auth_dialog-krb5-auth-gconf.$(OBJEXT) \
- krb5_auth_dialog-krb5-auth-gconf-tools.$(OBJEXT) \
- krb5_auth_dialog-krb5-auth-dbus.$(OBJEXT) \
- krb5_auth_dialog-krb5-auth-tools.$(OBJEXT) \
- krb5_auth_dialog-krb5-auth-tickets.$(OBJEXT) \
+am_krb5_auth_dialog_OBJECTS = krb5_auth_dialog-ka-dialog.$(OBJEXT) \
+ krb5_auth_dialog-ka-applet.$(OBJEXT) \
+ krb5_auth_dialog-ka-pwdialog.$(OBJEXT) \
+ krb5_auth_dialog-ka-gconf.$(OBJEXT) \
+ krb5_auth_dialog-ka-gconf-tools.$(OBJEXT) \
+ krb5_auth_dialog-ka-dbus.$(OBJEXT) \
+ krb5_auth_dialog-ka-tools.$(OBJEXT) \
+ krb5_auth_dialog-ka-tickets.$(OBJEXT) \
+ krb5_auth_dialog-ka-plugin.$(OBJEXT) \
+ krb5_auth_dialog-ka-plugin-loader.$(OBJEXT) \
+ krb5_auth_dialog-ka-closures.$(OBJEXT) \
krb5_auth_dialog-dummy-strings.$(OBJEXT) $(am__objects_1)
krb5_auth_dialog_OBJECTS = $(am_krb5_auth_dialog_OBJECTS)
am__DEPENDENCIES_1 =
@@ -71,7 +73,8 @@ krb5_auth_dialog_DEPENDENCIES = \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
- $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
+ $(am__DEPENDENCIES_1)
AM_V_lt = $(am__v_lt_$(V))
am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
am__v_lt_0 = --silent
@@ -180,6 +183,8 @@ GIO_CFLAGS = @GIO_CFLAGS@
GIO_LIBS = @GIO_LIBS@
GIO_UNIX_CFLAGS = @GIO_UNIX_CFLAGS@
GIO_UNIX_LIBS = @GIO_UNIX_LIBS@
+GMODULE_CFLAGS = @GMODULE_CFLAGS@
+GMODULE_LIBS = @GMODULE_LIBS@
GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
GREP = @GREP@
@@ -197,6 +202,7 @@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
INTLTOOL_MERGE = @INTLTOOL_MERGE@
INTLTOOL_PERL = @INTLTOOL_PERL@
INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
+KA_PLUGINS_DIR = @KA_PLUGINS_DIR@
KRB5_CFLAGS = @KRB5_CFLAGS@
KRB5_CONFIG = @KRB5_CONFIG@
KRB5_LIBS = @KRB5_LIBS@
@@ -237,6 +243,7 @@ PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
+PAM_LIBS = @PAM_LIBS@
PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
POFILES = @POFILES@
@@ -323,22 +330,29 @@ servicedir = $(datadir)/dbus-1/services
service_in_files = org.gnome.KrbAuthDialog.service.in
service_DATA = $(service_in_files:.service.in=.service)
krb5_auth_dialog_SOURCES = \
- krb5-auth-dialog.c \
- krb5-auth-dialog.h \
- krb5-auth-applet.c \
- krb5-auth-applet.h \
- krb5-auth-pwdialog.c \
- krb5-auth-pwdialog.h \
- krb5-auth-gconf.c \
- krb5-auth-gconf.h \
- krb5-auth-gconf-tools.c \
- krb5-auth-gconf-tools.h \
- krb5-auth-dbus.c \
- krb5-auth-dbus.h \
- krb5-auth-tools.c \
- krb5-auth-tools.h \
- krb5-auth-tickets.c \
- krb5-auth-tickets.h \
+ ka-dialog.c \
+ ka-dialog.h \
+ ka-applet.c \
+ ka-applet-priv.h \
+ ka-applet.h \
+ ka-pwdialog.c \
+ ka-pwdialog.h \
+ ka-gconf.c \
+ ka-gconf.h \
+ ka-gconf-tools.c \
+ ka-gconf-tools.h \
+ ka-dbus.c \
+ ka-dbus.h \
+ ka-tools.c \
+ ka-tools.h \
+ ka-tickets.c \
+ ka-tickets.h \
+ ka-plugin.c \
+ ka-plugin.h \
+ ka-plugin-loader.c \
+ ka-plugin-loader.h \
+ ka-closures.h \
+ ka-closures.c \
dummy-strings.c \
$(NULL)
@@ -349,10 +363,12 @@ krb5_auth_dialog_CPPFLAGS = \
-DDATA_DIR=\""$(datadir)"\" \
-DLOCALE_DIR=\""$(localedir)/"\" \
-DBIN_DIR=\""$(bindir)/"\" \
+ -DKA_PLUGINS_DIR=\""$(KA_PLUGINS_DIR)"\" \
$(AM_CPPFLAGS) \
$(NULL)
krb5_auth_dialog_CFLAGS = \
+ $(GMODULE_CFLAGS) \
$(GTK_CFLAGS) \
$(DBUS_CFLAGS) \
$(GCONF_CFLAGS) \
@@ -373,11 +389,12 @@ krb5_auth_dialog_LDADD = \
$(DBUS_LIBS) \
$(GCONF_LIBS) \
$(GIO_LIBS) \
+ $(GMODULE_LIBS) \
$(GTK_LIBS) \
$(NULL)
BUILT_SOURCES = \
- krb5-auth-applet-dbus-glue.h \
+ ka-dbus-glue.h \
$(NULL)
AM_CPPFLAGS = \
@@ -395,14 +412,14 @@ EXTRA_DIST = \
$(schema_in_files) \
$(autostart_in_files) \
$(service_in_files) \
- $(srcdir)/krb5-auth-applet-dbus.xml \
+ $(srcdir)/ka-dbus.xml \
krb5-auth-dialog.1.in \
$(NULL)
CLEANFILES = $(schema_DATA) $(service_DATA)
DISTCLEANFILES = \
krb5-auth-dialog.desktop \
- krb5-auth-applet-dbus-glue.h \
+ ka-dbus-glue.h \
$(NULL)
all: $(BUILT_SOURCES)
@@ -496,14 +513,17 @@ distclean-compile:
-rm -f *.tab.c
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/krb5_auth_dialog-dummy-strings.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/krb5_auth_dialog-krb5-auth-applet.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/krb5_auth_dialog-krb5-auth-dbus.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/krb5_auth_dialog-krb5-auth-dialog.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/krb5_auth_dialog-krb5-auth-gconf-tools.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/krb5_auth_dialog-krb5-auth-gconf.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/krb5_auth_dialog-krb5-auth-pwdialog.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/krb5_auth_dialog-krb5-auth-tickets.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/krb5_auth_dialog-krb5-auth-tools.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/krb5_auth_dialog-ka-applet.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/krb5_auth_dialog-ka-closures.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/krb5_auth_dialog-ka-dbus.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/krb5_auth_dialog-ka-dialog.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/krb5_auth_dialog-ka-gconf-tools.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/krb5_auth_dialog-ka-gconf.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/krb5_auth_dialog-ka-plugin-loader.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/krb5_auth_dialog-ka-plugin.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/krb5_auth_dialog-ka-pwdialog.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/krb5_auth_dialog-ka-tickets.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/krb5_auth_dialog-ka-tools.Po@am__quote@
.c.o:
@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@@ -529,133 +549,181 @@ distclean-compile:
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
-krb5_auth_dialog-krb5-auth-dialog.o: krb5-auth-dialog.c
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(krb5_auth_dialog_CPPFLAGS) $(CPPFLAGS) $(krb5_auth_dialog_CFLAGS) $(CFLAGS) -MT krb5_auth_dialog-krb5-auth-dialog.o -MD -MP -MF $(DEPDIR)/krb5_auth_dialog-krb5-auth-dialog.Tpo -c -o krb5_auth_dialog-krb5-auth-dialog.o `test -f 'krb5-auth-dialog.c' || echo '$(srcdir)/'`krb5-auth-dialog.c
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/krb5_auth_dialog-krb5-auth-dialog.Tpo $(DEPDIR)/krb5_auth_dialog-krb5-auth-dialog.Po
+krb5_auth_dialog-ka-dialog.o: ka-dialog.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(krb5_auth_dialog_CPPFLAGS) $(CPPFLAGS) $(krb5_auth_dialog_CFLAGS) $(CFLAGS) -MT krb5_auth_dialog-ka-dialog.o -MD -MP -MF $(DEPDIR)/krb5_auth_dialog-ka-dialog.Tpo -c -o krb5_auth_dialog-ka-dialog.o `test -f 'ka-dialog.c' || echo '$(srcdir)/'`ka-dialog.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/krb5_auth_dialog-ka-dialog.Tpo $(DEPDIR)/krb5_auth_dialog-ka-dialog.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ka-dialog.c' object='krb5_auth_dialog-ka-dialog.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(krb5_auth_dialog_CPPFLAGS) $(CPPFLAGS) $(krb5_auth_dialog_CFLAGS) $(CFLAGS) -c -o krb5_auth_dialog-ka-dialog.o `test -f 'ka-dialog.c' || echo '$(srcdir)/'`ka-dialog.c
+
+krb5_auth_dialog-ka-dialog.obj: ka-dialog.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(krb5_auth_dialog_CPPFLAGS) $(CPPFLAGS) $(krb5_auth_dialog_CFLAGS) $(CFLAGS) -MT krb5_auth_dialog-ka-dialog.obj -MD -MP -MF $(DEPDIR)/krb5_auth_dialog-ka-dialog.Tpo -c -o krb5_auth_dialog-ka-dialog.obj `if test -f 'ka-dialog.c'; then $(CYGPATH_W) 'ka-dialog.c'; else $(CYGPATH_W) '$(srcdir)/ka-dialog.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/krb5_auth_dialog-ka-dialog.Tpo $(DEPDIR)/krb5_auth_dialog-ka-dialog.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ka-dialog.c' object='krb5_auth_dialog-ka-dialog.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(krb5_auth_dialog_CPPFLAGS) $(CPPFLAGS) $(krb5_auth_dialog_CFLAGS) $(CFLAGS) -c -o krb5_auth_dialog-ka-dialog.obj `if test -f 'ka-dialog.c'; then $(CYGPATH_W) 'ka-dialog.c'; else $(CYGPATH_W) '$(srcdir)/ka-dialog.c'; fi`
+
+krb5_auth_dialog-ka-applet.o: ka-applet.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(krb5_auth_dialog_CPPFLAGS) $(CPPFLAGS) $(krb5_auth_dialog_CFLAGS) $(CFLAGS) -MT krb5_auth_dialog-ka-applet.o -MD -MP -MF $(DEPDIR)/krb5_auth_dialog-ka-applet.Tpo -c -o krb5_auth_dialog-ka-applet.o `test -f 'ka-applet.c' || echo '$(srcdir)/'`ka-applet.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/krb5_auth_dialog-ka-applet.Tpo $(DEPDIR)/krb5_auth_dialog-ka-applet.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ka-applet.c' object='krb5_auth_dialog-ka-applet.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(krb5_auth_dialog_CPPFLAGS) $(CPPFLAGS) $(krb5_auth_dialog_CFLAGS) $(CFLAGS) -c -o krb5_auth_dialog-ka-applet.o `test -f 'ka-applet.c' || echo '$(srcdir)/'`ka-applet.c
+
+krb5_auth_dialog-ka-applet.obj: ka-applet.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(krb5_auth_dialog_CPPFLAGS) $(CPPFLAGS) $(krb5_auth_dialog_CFLAGS) $(CFLAGS) -MT krb5_auth_dialog-ka-applet.obj -MD -MP -MF $(DEPDIR)/krb5_auth_dialog-ka-applet.Tpo -c -o krb5_auth_dialog-ka-applet.obj `if test -f 'ka-applet.c'; then $(CYGPATH_W) 'ka-applet.c'; else $(CYGPATH_W) '$(srcdir)/ka-applet.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/krb5_auth_dialog-ka-applet.Tpo $(DEPDIR)/krb5_auth_dialog-ka-applet.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ka-applet.c' object='krb5_auth_dialog-ka-applet.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(krb5_auth_dialog_CPPFLAGS) $(CPPFLAGS) $(krb5_auth_dialog_CFLAGS) $(CFLAGS) -c -o krb5_auth_dialog-ka-applet.obj `if test -f 'ka-applet.c'; then $(CYGPATH_W) 'ka-applet.c'; else $(CYGPATH_W) '$(srcdir)/ka-applet.c'; fi`
+
+krb5_auth_dialog-ka-pwdialog.o: ka-pwdialog.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(krb5_auth_dialog_CPPFLAGS) $(CPPFLAGS) $(krb5_auth_dialog_CFLAGS) $(CFLAGS) -MT krb5_auth_dialog-ka-pwdialog.o -MD -MP -MF $(DEPDIR)/krb5_auth_dialog-ka-pwdialog.Tpo -c -o krb5_auth_dialog-ka-pwdialog.o `test -f 'ka-pwdialog.c' || echo '$(srcdir)/'`ka-pwdialog.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/krb5_auth_dialog-ka-pwdialog.Tpo $(DEPDIR)/krb5_auth_dialog-ka-pwdialog.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ka-pwdialog.c' object='krb5_auth_dialog-ka-pwdialog.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(krb5_auth_dialog_CPPFLAGS) $(CPPFLAGS) $(krb5_auth_dialog_CFLAGS) $(CFLAGS) -c -o krb5_auth_dialog-ka-pwdialog.o `test -f 'ka-pwdialog.c' || echo '$(srcdir)/'`ka-pwdialog.c
+
+krb5_auth_dialog-ka-pwdialog.obj: ka-pwdialog.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(krb5_auth_dialog_CPPFLAGS) $(CPPFLAGS) $(krb5_auth_dialog_CFLAGS) $(CFLAGS) -MT krb5_auth_dialog-ka-pwdialog.obj -MD -MP -MF $(DEPDIR)/krb5_auth_dialog-ka-pwdialog.Tpo -c -o krb5_auth_dialog-ka-pwdialog.obj `if test -f 'ka-pwdialog.c'; then $(CYGPATH_W) 'ka-pwdialog.c'; else $(CYGPATH_W) '$(srcdir)/ka-pwdialog.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/krb5_auth_dialog-ka-pwdialog.Tpo $(DEPDIR)/krb5_auth_dialog-ka-pwdialog.Po
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ka-pwdialog.c' object='krb5_auth_dialog-ka-pwdialog.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(krb5_auth_dialog_CPPFLAGS) $(CPPFLAGS) $(krb5_auth_dialog_CFLAGS) $(CFLAGS) -c -o krb5_auth_dialog-ka-pwdialog.obj `if test -f 'ka-pwdialog.c'; then $(CYGPATH_W) 'ka-pwdialog.c'; else $(CYGPATH_W) '$(srcdir)/ka-pwdialog.c'; fi`
+
+krb5_auth_dialog-ka-gconf.o: ka-gconf.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(krb5_auth_dialog_CPPFLAGS) $(CPPFLAGS) $(krb5_auth_dialog_CFLAGS) $(CFLAGS) -MT krb5_auth_dialog-ka-gconf.o -MD -MP -MF $(DEPDIR)/krb5_auth_dialog-ka-gconf.Tpo -c -o krb5_auth_dialog-ka-gconf.o `test -f 'ka-gconf.c' || echo '$(srcdir)/'`ka-gconf.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/krb5_auth_dialog-ka-gconf.Tpo $(DEPDIR)/krb5_auth_dialog-ka-gconf.Po
@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='krb5-auth-dialog.c' object='krb5_auth_dialog-krb5-auth-dialog.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ka-gconf.c' object='krb5_auth_dialog-ka-gconf.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(krb5_auth_dialog_CPPFLAGS) $(CPPFLAGS) $(krb5_auth_dialog_CFLAGS) $(CFLAGS) -c -o krb5_auth_dialog-krb5-auth-dialog.o `test -f 'krb5-auth-dialog.c' || echo '$(srcdir)/'`krb5-auth-dialog.c
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(krb5_auth_dialog_CPPFLAGS) $(CPPFLAGS) $(krb5_auth_dialog_CFLAGS) $(CFLAGS) -c -o krb5_auth_dialog-ka-gconf.o `test -f 'ka-gconf.c' || echo '$(srcdir)/'`ka-gconf.c
-krb5_auth_dialog-krb5-auth-dialog.obj: krb5-auth-dialog.c
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(krb5_auth_dialog_CPPFLAGS) $(CPPFLAGS) $(krb5_auth_dialog_CFLAGS) $(CFLAGS) -MT krb5_auth_dialog-krb5-auth-dialog.obj -MD -MP -MF $(DEPDIR)/krb5_auth_dialog-krb5-auth-dialog.Tpo -c -o krb5_auth_dialog-krb5-auth-dialog.obj `if test -f 'krb5-auth-dialog.c'; then $(CYGPATH_W) 'krb5-auth-dialog.c'; else $(CYGPATH_W) '$(srcdir)/krb5-auth-dialog.c'; fi`
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/krb5_auth_dialog-krb5-auth-dialog.Tpo $(DEPDIR)/krb5_auth_dialog-krb5-auth-dialog.Po
+krb5_auth_dialog-ka-gconf.obj: ka-gconf.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(krb5_auth_dialog_CPPFLAGS) $(CPPFLAGS) $(krb5_auth_dialog_CFLAGS) $(CFLAGS) -MT krb5_auth_dialog-ka-gconf.obj -MD -MP -MF $(DEPDIR)/krb5_auth_dialog-ka-gconf.Tpo -c -o krb5_auth_dialog-ka-gconf.obj `if test -f 'ka-gconf.c'; then $(CYGPATH_W) 'ka-gconf.c'; else $(CYGPATH_W) '$(srcdir)/ka-gconf.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/krb5_auth_dialog-ka-gconf.Tpo $(DEPDIR)/krb5_auth_dialog-ka-gconf.Po
@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='krb5-auth-dialog.c' object='krb5_auth_dialog-krb5-auth-dialog.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ka-gconf.c' object='krb5_auth_dialog-ka-gconf.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(krb5_auth_dialog_CPPFLAGS) $(CPPFLAGS) $(krb5_auth_dialog_CFLAGS) $(CFLAGS) -c -o krb5_auth_dialog-krb5-auth-dialog.obj `if test -f 'krb5-auth-dialog.c'; then $(CYGPATH_W) 'krb5-auth-dialog.c'; else $(CYGPATH_W) '$(srcdir)/krb5-auth-dialog.c'; fi`
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(krb5_auth_dialog_CPPFLAGS) $(CPPFLAGS) $(krb5_auth_dialog_CFLAGS) $(CFLAGS) -c -o krb5_auth_dialog-ka-gconf.obj `if test -f 'ka-gconf.c'; then $(CYGPATH_W) 'ka-gconf.c'; else $(CYGPATH_W) '$(srcdir)/ka-gconf.c'; fi`
-krb5_auth_dialog-krb5-auth-applet.o: krb5-auth-applet.c
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(krb5_auth_dialog_CPPFLAGS) $(CPPFLAGS) $(krb5_auth_dialog_CFLAGS) $(CFLAGS) -MT krb5_auth_dialog-krb5-auth-applet.o -MD -MP -MF $(DEPDIR)/krb5_auth_dialog-krb5-auth-applet.Tpo -c -o krb5_auth_dialog-krb5-auth-applet.o `test -f 'krb5-auth-applet.c' || echo '$(srcdir)/'`krb5-auth-applet.c
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/krb5_auth_dialog-krb5-auth-applet.Tpo $(DEPDIR)/krb5_auth_dialog-krb5-auth-applet.Po
+krb5_auth_dialog-ka-gconf-tools.o: ka-gconf-tools.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(krb5_auth_dialog_CPPFLAGS) $(CPPFLAGS) $(krb5_auth_dialog_CFLAGS) $(CFLAGS) -MT krb5_auth_dialog-ka-gconf-tools.o -MD -MP -MF $(DEPDIR)/krb5_auth_dialog-ka-gconf-tools.Tpo -c -o krb5_auth_dialog-ka-gconf-tools.o `test -f 'ka-gconf-tools.c' || echo '$(srcdir)/'`ka-gconf-tools.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/krb5_auth_dialog-ka-gconf-tools.Tpo $(DEPDIR)/krb5_auth_dialog-ka-gconf-tools.Po
@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='krb5-auth-applet.c' object='krb5_auth_dialog-krb5-auth-applet.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ka-gconf-tools.c' object='krb5_auth_dialog-ka-gconf-tools.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(krb5_auth_dialog_CPPFLAGS) $(CPPFLAGS) $(krb5_auth_dialog_CFLAGS) $(CFLAGS) -c -o krb5_auth_dialog-krb5-auth-applet.o `test -f 'krb5-auth-applet.c' || echo '$(srcdir)/'`krb5-auth-applet.c
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(krb5_auth_dialog_CPPFLAGS) $(CPPFLAGS) $(krb5_auth_dialog_CFLAGS) $(CFLAGS) -c -o krb5_auth_dialog-ka-gconf-tools.o `test -f 'ka-gconf-tools.c' || echo '$(srcdir)/'`ka-gconf-tools.c
-krb5_auth_dialog-krb5-auth-applet.obj: krb5-auth-applet.c
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(krb5_auth_dialog_CPPFLAGS) $(CPPFLAGS) $(krb5_auth_dialog_CFLAGS) $(CFLAGS) -MT krb5_auth_dialog-krb5-auth-applet.obj -MD -MP -MF $(DEPDIR)/krb5_auth_dialog-krb5-auth-applet.Tpo -c -o krb5_auth_dialog-krb5-auth-applet.obj `if test -f 'krb5-auth-applet.c'; then $(CYGPATH_W) 'krb5-auth-applet.c'; else $(CYGPATH_W) '$(srcdir)/krb5-auth-applet.c'; fi`
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/krb5_auth_dialog-krb5-auth-applet.Tpo $(DEPDIR)/krb5_auth_dialog-krb5-auth-applet.Po
+krb5_auth_dialog-ka-gconf-tools.obj: ka-gconf-tools.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(krb5_auth_dialog_CPPFLAGS) $(CPPFLAGS) $(krb5_auth_dialog_CFLAGS) $(CFLAGS) -MT krb5_auth_dialog-ka-gconf-tools.obj -MD -MP -MF $(DEPDIR)/krb5_auth_dialog-ka-gconf-tools.Tpo -c -o krb5_auth_dialog-ka-gconf-tools.obj `if test -f 'ka-gconf-tools.c'; then $(CYGPATH_W) 'ka-gconf-tools.c'; else $(CYGPATH_W) '$(srcdir)/ka-gconf-tools.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/krb5_auth_dialog-ka-gconf-tools.Tpo $(DEPDIR)/krb5_auth_dialog-ka-gconf-tools.Po
@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='krb5-auth-applet.c' object='krb5_auth_dialog-krb5-auth-applet.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ka-gconf-tools.c' object='krb5_auth_dialog-ka-gconf-tools.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(krb5_auth_dialog_CPPFLAGS) $(CPPFLAGS) $(krb5_auth_dialog_CFLAGS) $(CFLAGS) -c -o krb5_auth_dialog-krb5-auth-applet.obj `if test -f 'krb5-auth-applet.c'; then $(CYGPATH_W) 'krb5-auth-applet.c'; else $(CYGPATH_W) '$(srcdir)/krb5-auth-applet.c'; fi`
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(krb5_auth_dialog_CPPFLAGS) $(CPPFLAGS) $(krb5_auth_dialog_CFLAGS) $(CFLAGS) -c -o krb5_auth_dialog-ka-gconf-tools.obj `if test -f 'ka-gconf-tools.c'; then $(CYGPATH_W) 'ka-gconf-tools.c'; else $(CYGPATH_W) '$(srcdir)/ka-gconf-tools.c'; fi`
-krb5_auth_dialog-krb5-auth-pwdialog.o: krb5-auth-pwdialog.c
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(krb5_auth_dialog_CPPFLAGS) $(CPPFLAGS) $(krb5_auth_dialog_CFLAGS) $(CFLAGS) -MT krb5_auth_dialog-krb5-auth-pwdialog.o -MD -MP -MF $(DEPDIR)/krb5_auth_dialog-krb5-auth-pwdialog.Tpo -c -o krb5_auth_dialog-krb5-auth-pwdialog.o `test -f 'krb5-auth-pwdialog.c' || echo '$(srcdir)/'`krb5-auth-pwdialog.c
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/krb5_auth_dialog-krb5-auth-pwdialog.Tpo $(DEPDIR)/krb5_auth_dialog-krb5-auth-pwdialog.Po
+krb5_auth_dialog-ka-dbus.o: ka-dbus.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(krb5_auth_dialog_CPPFLAGS) $(CPPFLAGS) $(krb5_auth_dialog_CFLAGS) $(CFLAGS) -MT krb5_auth_dialog-ka-dbus.o -MD -MP -MF $(DEPDIR)/krb5_auth_dialog-ka-dbus.Tpo -c -o krb5_auth_dialog-ka-dbus.o `test -f 'ka-dbus.c' || echo '$(srcdir)/'`ka-dbus.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/krb5_auth_dialog-ka-dbus.Tpo $(DEPDIR)/krb5_auth_dialog-ka-dbus.Po
@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='krb5-auth-pwdialog.c' object='krb5_auth_dialog-krb5-auth-pwdialog.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ka-dbus.c' object='krb5_auth_dialog-ka-dbus.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(krb5_auth_dialog_CPPFLAGS) $(CPPFLAGS) $(krb5_auth_dialog_CFLAGS) $(CFLAGS) -c -o krb5_auth_dialog-krb5-auth-pwdialog.o `test -f 'krb5-auth-pwdialog.c' || echo '$(srcdir)/'`krb5-auth-pwdialog.c
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(krb5_auth_dialog_CPPFLAGS) $(CPPFLAGS) $(krb5_auth_dialog_CFLAGS) $(CFLAGS) -c -o krb5_auth_dialog-ka-dbus.o `test -f 'ka-dbus.c' || echo '$(srcdir)/'`ka-dbus.c
-krb5_auth_dialog-krb5-auth-pwdialog.obj: krb5-auth-pwdialog.c
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(krb5_auth_dialog_CPPFLAGS) $(CPPFLAGS) $(krb5_auth_dialog_CFLAGS) $(CFLAGS) -MT krb5_auth_dialog-krb5-auth-pwdialog.obj -MD -MP -MF $(DEPDIR)/krb5_auth_dialog-krb5-auth-pwdialog.Tpo -c -o krb5_auth_dialog-krb5-auth-pwdialog.obj `if test -f 'krb5-auth-pwdialog.c'; then $(CYGPATH_W) 'krb5-auth-pwdialog.c'; else $(CYGPATH_W) '$(srcdir)/krb5-auth-pwdialog.c'; fi`
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/krb5_auth_dialog-krb5-auth-pwdialog.Tpo $(DEPDIR)/krb5_auth_dialog-krb5-auth-pwdialog.Po
+krb5_auth_dialog-ka-dbus.obj: ka-dbus.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(krb5_auth_dialog_CPPFLAGS) $(CPPFLAGS) $(krb5_auth_dialog_CFLAGS) $(CFLAGS) -MT krb5_auth_dialog-ka-dbus.obj -MD -MP -MF $(DEPDIR)/krb5_auth_dialog-ka-dbus.Tpo -c -o krb5_auth_dialog-ka-dbus.obj `if test -f 'ka-dbus.c'; then $(CYGPATH_W) 'ka-dbus.c'; else $(CYGPATH_W) '$(srcdir)/ka-dbus.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/krb5_auth_dialog-ka-dbus.Tpo $(DEPDIR)/krb5_auth_dialog-ka-dbus.Po
@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='krb5-auth-pwdialog.c' object='krb5_auth_dialog-krb5-auth-pwdialog.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ka-dbus.c' object='krb5_auth_dialog-ka-dbus.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(krb5_auth_dialog_CPPFLAGS) $(CPPFLAGS) $(krb5_auth_dialog_CFLAGS) $(CFLAGS) -c -o krb5_auth_dialog-krb5-auth-pwdialog.obj `if test -f 'krb5-auth-pwdialog.c'; then $(CYGPATH_W) 'krb5-auth-pwdialog.c'; else $(CYGPATH_W) '$(srcdir)/krb5-auth-pwdialog.c'; fi`
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(krb5_auth_dialog_CPPFLAGS) $(CPPFLAGS) $(krb5_auth_dialog_CFLAGS) $(CFLAGS) -c -o krb5_auth_dialog-ka-dbus.obj `if test -f 'ka-dbus.c'; then $(CYGPATH_W) 'ka-dbus.c'; else $(CYGPATH_W) '$(srcdir)/ka-dbus.c'; fi`
-krb5_auth_dialog-krb5-auth-gconf.o: krb5-auth-gconf.c
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(krb5_auth_dialog_CPPFLAGS) $(CPPFLAGS) $(krb5_auth_dialog_CFLAGS) $(CFLAGS) -MT krb5_auth_dialog-krb5-auth-gconf.o -MD -MP -MF $(DEPDIR)/krb5_auth_dialog-krb5-auth-gconf.Tpo -c -o krb5_auth_dialog-krb5-auth-gconf.o `test -f 'krb5-auth-gconf.c' || echo '$(srcdir)/'`krb5-auth-gconf.c
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/krb5_auth_dialog-krb5-auth-gconf.Tpo $(DEPDIR)/krb5_auth_dialog-krb5-auth-gconf.Po
+krb5_auth_dialog-ka-tools.o: ka-tools.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(krb5_auth_dialog_CPPFLAGS) $(CPPFLAGS) $(krb5_auth_dialog_CFLAGS) $(CFLAGS) -MT krb5_auth_dialog-ka-tools.o -MD -MP -MF $(DEPDIR)/krb5_auth_dialog-ka-tools.Tpo -c -o krb5_auth_dialog-ka-tools.o `test -f 'ka-tools.c' || echo '$(srcdir)/'`ka-tools.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/krb5_auth_dialog-ka-tools.Tpo $(DEPDIR)/krb5_auth_dialog-ka-tools.Po
@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='krb5-auth-gconf.c' object='krb5_auth_dialog-krb5-auth-gconf.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ka-tools.c' object='krb5_auth_dialog-ka-tools.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(krb5_auth_dialog_CPPFLAGS) $(CPPFLAGS) $(krb5_auth_dialog_CFLAGS) $(CFLAGS) -c -o krb5_auth_dialog-krb5-auth-gconf.o `test -f 'krb5-auth-gconf.c' || echo '$(srcdir)/'`krb5-auth-gconf.c
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(krb5_auth_dialog_CPPFLAGS) $(CPPFLAGS) $(krb5_auth_dialog_CFLAGS) $(CFLAGS) -c -o krb5_auth_dialog-ka-tools.o `test -f 'ka-tools.c' || echo '$(srcdir)/'`ka-tools.c
-krb5_auth_dialog-krb5-auth-gconf.obj: krb5-auth-gconf.c
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(krb5_auth_dialog_CPPFLAGS) $(CPPFLAGS) $(krb5_auth_dialog_CFLAGS) $(CFLAGS) -MT krb5_auth_dialog-krb5-auth-gconf.obj -MD -MP -MF $(DEPDIR)/krb5_auth_dialog-krb5-auth-gconf.Tpo -c -o krb5_auth_dialog-krb5-auth-gconf.obj `if test -f 'krb5-auth-gconf.c'; then $(CYGPATH_W) 'krb5-auth-gconf.c'; else $(CYGPATH_W) '$(srcdir)/krb5-auth-gconf.c'; fi`
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/krb5_auth_dialog-krb5-auth-gconf.Tpo $(DEPDIR)/krb5_auth_dialog-krb5-auth-gconf.Po
+krb5_auth_dialog-ka-tools.obj: ka-tools.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(krb5_auth_dialog_CPPFLAGS) $(CPPFLAGS) $(krb5_auth_dialog_CFLAGS) $(CFLAGS) -MT krb5_auth_dialog-ka-tools.obj -MD -MP -MF $(DEPDIR)/krb5_auth_dialog-ka-tools.Tpo -c -o krb5_auth_dialog-ka-tools.obj `if test -f 'ka-tools.c'; then $(CYGPATH_W) 'ka-tools.c'; else $(CYGPATH_W) '$(srcdir)/ka-tools.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/krb5_auth_dialog-ka-tools.Tpo $(DEPDIR)/krb5_auth_dialog-ka-tools.Po
@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='krb5-auth-gconf.c' object='krb5_auth_dialog-krb5-auth-gconf.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ka-tools.c' object='krb5_auth_dialog-ka-tools.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(krb5_auth_dialog_CPPFLAGS) $(CPPFLAGS) $(krb5_auth_dialog_CFLAGS) $(CFLAGS) -c -o krb5_auth_dialog-krb5-auth-gconf.obj `if test -f 'krb5-auth-gconf.c'; then $(CYGPATH_W) 'krb5-auth-gconf.c'; else $(CYGPATH_W) '$(srcdir)/krb5-auth-gconf.c'; fi`
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(krb5_auth_dialog_CPPFLAGS) $(CPPFLAGS) $(krb5_auth_dialog_CFLAGS) $(CFLAGS) -c -o krb5_auth_dialog-ka-tools.obj `if test -f 'ka-tools.c'; then $(CYGPATH_W) 'ka-tools.c'; else $(CYGPATH_W) '$(srcdir)/ka-tools.c'; fi`
-krb5_auth_dialog-krb5-auth-gconf-tools.o: krb5-auth-gconf-tools.c
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(krb5_auth_dialog_CPPFLAGS) $(CPPFLAGS) $(krb5_auth_dialog_CFLAGS) $(CFLAGS) -MT krb5_auth_dialog-krb5-auth-gconf-tools.o -MD -MP -MF $(DEPDIR)/krb5_auth_dialog-krb5-auth-gconf-tools.Tpo -c -o krb5_auth_dialog-krb5-auth-gconf-tools.o `test -f 'krb5-auth-gconf-tools.c' || echo '$(srcdir)/'`krb5-auth-gconf-tools.c
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/krb5_auth_dialog-krb5-auth-gconf-tools.Tpo $(DEPDIR)/krb5_auth_dialog-krb5-auth-gconf-tools.Po
+krb5_auth_dialog-ka-tickets.o: ka-tickets.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(krb5_auth_dialog_CPPFLAGS) $(CPPFLAGS) $(krb5_auth_dialog_CFLAGS) $(CFLAGS) -MT krb5_auth_dialog-ka-tickets.o -MD -MP -MF $(DEPDIR)/krb5_auth_dialog-ka-tickets.Tpo -c -o krb5_auth_dialog-ka-tickets.o `test -f 'ka-tickets.c' || echo '$(srcdir)/'`ka-tickets.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/krb5_auth_dialog-ka-tickets.Tpo $(DEPDIR)/krb5_auth_dialog-ka-tickets.Po
@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='krb5-auth-gconf-tools.c' object='krb5_auth_dialog-krb5-auth-gconf-tools.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ka-tickets.c' object='krb5_auth_dialog-ka-tickets.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(krb5_auth_dialog_CPPFLAGS) $(CPPFLAGS) $(krb5_auth_dialog_CFLAGS) $(CFLAGS) -c -o krb5_auth_dialog-krb5-auth-gconf-tools.o `test -f 'krb5-auth-gconf-tools.c' || echo '$(srcdir)/'`krb5-auth-gconf-tools.c
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(krb5_auth_dialog_CPPFLAGS) $(CPPFLAGS) $(krb5_auth_dialog_CFLAGS) $(CFLAGS) -c -o krb5_auth_dialog-ka-tickets.o `test -f 'ka-tickets.c' || echo '$(srcdir)/'`ka-tickets.c
-krb5_auth_dialog-krb5-auth-gconf-tools.obj: krb5-auth-gconf-tools.c
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(krb5_auth_dialog_CPPFLAGS) $(CPPFLAGS) $(krb5_auth_dialog_CFLAGS) $(CFLAGS) -MT krb5_auth_dialog-krb5-auth-gconf-tools.obj -MD -MP -MF $(DEPDIR)/krb5_auth_dialog-krb5-auth-gconf-tools.Tpo -c -o krb5_auth_dialog-krb5-auth-gconf-tools.obj `if test -f 'krb5-auth-gconf-tools.c'; then $(CYGPATH_W) 'krb5-auth-gconf-tools.c'; else $(CYGPATH_W) '$(srcdir)/krb5-auth-gconf-tools.c'; fi`
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/krb5_auth_dialog-krb5-auth-gconf-tools.Tpo $(DEPDIR)/krb5_auth_dialog-krb5-auth-gconf-tools.Po
+krb5_auth_dialog-ka-tickets.obj: ka-tickets.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(krb5_auth_dialog_CPPFLAGS) $(CPPFLAGS) $(krb5_auth_dialog_CFLAGS) $(CFLAGS) -MT krb5_auth_dialog-ka-tickets.obj -MD -MP -MF $(DEPDIR)/krb5_auth_dialog-ka-tickets.Tpo -c -o krb5_auth_dialog-ka-tickets.obj `if test -f 'ka-tickets.c'; then $(CYGPATH_W) 'ka-tickets.c'; else $(CYGPATH_W) '$(srcdir)/ka-tickets.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/krb5_auth_dialog-ka-tickets.Tpo $(DEPDIR)/krb5_auth_dialog-ka-tickets.Po
@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='krb5-auth-gconf-tools.c' object='krb5_auth_dialog-krb5-auth-gconf-tools.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ka-tickets.c' object='krb5_auth_dialog-ka-tickets.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(krb5_auth_dialog_CPPFLAGS) $(CPPFLAGS) $(krb5_auth_dialog_CFLAGS) $(CFLAGS) -c -o krb5_auth_dialog-krb5-auth-gconf-tools.obj `if test -f 'krb5-auth-gconf-tools.c'; then $(CYGPATH_W) 'krb5-auth-gconf-tools.c'; else $(CYGPATH_W) '$(srcdir)/krb5-auth-gconf-tools.c'; fi`
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(krb5_auth_dialog_CPPFLAGS) $(CPPFLAGS) $(krb5_auth_dialog_CFLAGS) $(CFLAGS) -c -o krb5_auth_dialog-ka-tickets.obj `if test -f 'ka-tickets.c'; then $(CYGPATH_W) 'ka-tickets.c'; else $(CYGPATH_W) '$(srcdir)/ka-tickets.c'; fi`
-krb5_auth_dialog-krb5-auth-dbus.o: krb5-auth-dbus.c
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(krb5_auth_dialog_CPPFLAGS) $(CPPFLAGS) $(krb5_auth_dialog_CFLAGS) $(CFLAGS) -MT krb5_auth_dialog-krb5-auth-dbus.o -MD -MP -MF $(DEPDIR)/krb5_auth_dialog-krb5-auth-dbus.Tpo -c -o krb5_auth_dialog-krb5-auth-dbus.o `test -f 'krb5-auth-dbus.c' || echo '$(srcdir)/'`krb5-auth-dbus.c
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/krb5_auth_dialog-krb5-auth-dbus.Tpo $(DEPDIR)/krb5_auth_dialog-krb5-auth-dbus.Po
+krb5_auth_dialog-ka-plugin.o: ka-plugin.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(krb5_auth_dialog_CPPFLAGS) $(CPPFLAGS) $(krb5_auth_dialog_CFLAGS) $(CFLAGS) -MT krb5_auth_dialog-ka-plugin.o -MD -MP -MF $(DEPDIR)/krb5_auth_dialog-ka-plugin.Tpo -c -o krb5_auth_dialog-ka-plugin.o `test -f 'ka-plugin.c' || echo '$(srcdir)/'`ka-plugin.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/krb5_auth_dialog-ka-plugin.Tpo $(DEPDIR)/krb5_auth_dialog-ka-plugin.Po
@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='krb5-auth-dbus.c' object='krb5_auth_dialog-krb5-auth-dbus.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ka-plugin.c' object='krb5_auth_dialog-ka-plugin.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(krb5_auth_dialog_CPPFLAGS) $(CPPFLAGS) $(krb5_auth_dialog_CFLAGS) $(CFLAGS) -c -o krb5_auth_dialog-krb5-auth-dbus.o `test -f 'krb5-auth-dbus.c' || echo '$(srcdir)/'`krb5-auth-dbus.c
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(krb5_auth_dialog_CPPFLAGS) $(CPPFLAGS) $(krb5_auth_dialog_CFLAGS) $(CFLAGS) -c -o krb5_auth_dialog-ka-plugin.o `test -f 'ka-plugin.c' || echo '$(srcdir)/'`ka-plugin.c
-krb5_auth_dialog-krb5-auth-dbus.obj: krb5-auth-dbus.c
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(krb5_auth_dialog_CPPFLAGS) $(CPPFLAGS) $(krb5_auth_dialog_CFLAGS) $(CFLAGS) -MT krb5_auth_dialog-krb5-auth-dbus.obj -MD -MP -MF $(DEPDIR)/krb5_auth_dialog-krb5-auth-dbus.Tpo -c -o krb5_auth_dialog-krb5-auth-dbus.obj `if test -f 'krb5-auth-dbus.c'; then $(CYGPATH_W) 'krb5-auth-dbus.c'; else $(CYGPATH_W) '$(srcdir)/krb5-auth-dbus.c'; fi`
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/krb5_auth_dialog-krb5-auth-dbus.Tpo $(DEPDIR)/krb5_auth_dialog-krb5-auth-dbus.Po
+krb5_auth_dialog-ka-plugin.obj: ka-plugin.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(krb5_auth_dialog_CPPFLAGS) $(CPPFLAGS) $(krb5_auth_dialog_CFLAGS) $(CFLAGS) -MT krb5_auth_dialog-ka-plugin.obj -MD -MP -MF $(DEPDIR)/krb5_auth_dialog-ka-plugin.Tpo -c -o krb5_auth_dialog-ka-plugin.obj `if test -f 'ka-plugin.c'; then $(CYGPATH_W) 'ka-plugin.c'; else $(CYGPATH_W) '$(srcdir)/ka-plugin.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/krb5_auth_dialog-ka-plugin.Tpo $(DEPDIR)/krb5_auth_dialog-ka-plugin.Po
@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='krb5-auth-dbus.c' object='krb5_auth_dialog-krb5-auth-dbus.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ka-plugin.c' object='krb5_auth_dialog-ka-plugin.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(krb5_auth_dialog_CPPFLAGS) $(CPPFLAGS) $(krb5_auth_dialog_CFLAGS) $(CFLAGS) -c -o krb5_auth_dialog-krb5-auth-dbus.obj `if test -f 'krb5-auth-dbus.c'; then $(CYGPATH_W) 'krb5-auth-dbus.c'; else $(CYGPATH_W) '$(srcdir)/krb5-auth-dbus.c'; fi`
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(krb5_auth_dialog_CPPFLAGS) $(CPPFLAGS) $(krb5_auth_dialog_CFLAGS) $(CFLAGS) -c -o krb5_auth_dialog-ka-plugin.obj `if test -f 'ka-plugin.c'; then $(CYGPATH_W) 'ka-plugin.c'; else $(CYGPATH_W) '$(srcdir)/ka-plugin.c'; fi`
-krb5_auth_dialog-krb5-auth-tools.o: krb5-auth-tools.c
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(krb5_auth_dialog_CPPFLAGS) $(CPPFLAGS) $(krb5_auth_dialog_CFLAGS) $(CFLAGS) -MT krb5_auth_dialog-krb5-auth-tools.o -MD -MP -MF $(DEPDIR)/krb5_auth_dialog-krb5-auth-tools.Tpo -c -o krb5_auth_dialog-krb5-auth-tools.o `test -f 'krb5-auth-tools.c' || echo '$(srcdir)/'`krb5-auth-tools.c
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/krb5_auth_dialog-krb5-auth-tools.Tpo $(DEPDIR)/krb5_auth_dialog-krb5-auth-tools.Po
+krb5_auth_dialog-ka-plugin-loader.o: ka-plugin-loader.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(krb5_auth_dialog_CPPFLAGS) $(CPPFLAGS) $(krb5_auth_dialog_CFLAGS) $(CFLAGS) -MT krb5_auth_dialog-ka-plugin-loader.o -MD -MP -MF $(DEPDIR)/krb5_auth_dialog-ka-plugin-loader.Tpo -c -o krb5_auth_dialog-ka-plugin-loader.o `test -f 'ka-plugin-loader.c' || echo '$(srcdir)/'`ka-plugin-loader.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/krb5_auth_dialog-ka-plugin-loader.Tpo $(DEPDIR)/krb5_auth_dialog-ka-plugin-loader.Po
@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='krb5-auth-tools.c' object='krb5_auth_dialog-krb5-auth-tools.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ka-plugin-loader.c' object='krb5_auth_dialog-ka-plugin-loader.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(krb5_auth_dialog_CPPFLAGS) $(CPPFLAGS) $(krb5_auth_dialog_CFLAGS) $(CFLAGS) -c -o krb5_auth_dialog-krb5-auth-tools.o `test -f 'krb5-auth-tools.c' || echo '$(srcdir)/'`krb5-auth-tools.c
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(krb5_auth_dialog_CPPFLAGS) $(CPPFLAGS) $(krb5_auth_dialog_CFLAGS) $(CFLAGS) -c -o krb5_auth_dialog-ka-plugin-loader.o `test -f 'ka-plugin-loader.c' || echo '$(srcdir)/'`ka-plugin-loader.c
-krb5_auth_dialog-krb5-auth-tools.obj: krb5-auth-tools.c
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(krb5_auth_dialog_CPPFLAGS) $(CPPFLAGS) $(krb5_auth_dialog_CFLAGS) $(CFLAGS) -MT krb5_auth_dialog-krb5-auth-tools.obj -MD -MP -MF $(DEPDIR)/krb5_auth_dialog-krb5-auth-tools.Tpo -c -o krb5_auth_dialog-krb5-auth-tools.obj `if test -f 'krb5-auth-tools.c'; then $(CYGPATH_W) 'krb5-auth-tools.c'; else $(CYGPATH_W) '$(srcdir)/krb5-auth-tools.c'; fi`
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/krb5_auth_dialog-krb5-auth-tools.Tpo $(DEPDIR)/krb5_auth_dialog-krb5-auth-tools.Po
+krb5_auth_dialog-ka-plugin-loader.obj: ka-plugin-loader.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(krb5_auth_dialog_CPPFLAGS) $(CPPFLAGS) $(krb5_auth_dialog_CFLAGS) $(CFLAGS) -MT krb5_auth_dialog-ka-plugin-loader.obj -MD -MP -MF $(DEPDIR)/krb5_auth_dialog-ka-plugin-loader.Tpo -c -o krb5_auth_dialog-ka-plugin-loader.obj `if test -f 'ka-plugin-loader.c'; then $(CYGPATH_W) 'ka-plugin-loader.c'; else $(CYGPATH_W) '$(srcdir)/ka-plugin-loader.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/krb5_auth_dialog-ka-plugin-loader.Tpo $(DEPDIR)/krb5_auth_dialog-ka-plugin-loader.Po
@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='krb5-auth-tools.c' object='krb5_auth_dialog-krb5-auth-tools.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ka-plugin-loader.c' object='krb5_auth_dialog-ka-plugin-loader.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(krb5_auth_dialog_CPPFLAGS) $(CPPFLAGS) $(krb5_auth_dialog_CFLAGS) $(CFLAGS) -c -o krb5_auth_dialog-krb5-auth-tools.obj `if test -f 'krb5-auth-tools.c'; then $(CYGPATH_W) 'krb5-auth-tools.c'; else $(CYGPATH_W) '$(srcdir)/krb5-auth-tools.c'; fi`
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(krb5_auth_dialog_CPPFLAGS) $(CPPFLAGS) $(krb5_auth_dialog_CFLAGS) $(CFLAGS) -c -o krb5_auth_dialog-ka-plugin-loader.obj `if test -f 'ka-plugin-loader.c'; then $(CYGPATH_W) 'ka-plugin-loader.c'; else $(CYGPATH_W) '$(srcdir)/ka-plugin-loader.c'; fi`
-krb5_auth_dialog-krb5-auth-tickets.o: krb5-auth-tickets.c
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(krb5_auth_dialog_CPPFLAGS) $(CPPFLAGS) $(krb5_auth_dialog_CFLAGS) $(CFLAGS) -MT krb5_auth_dialog-krb5-auth-tickets.o -MD -MP -MF $(DEPDIR)/krb5_auth_dialog-krb5-auth-tickets.Tpo -c -o krb5_auth_dialog-krb5-auth-tickets.o `test -f 'krb5-auth-tickets.c' || echo '$(srcdir)/'`krb5-auth-tickets.c
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/krb5_auth_dialog-krb5-auth-tickets.Tpo $(DEPDIR)/krb5_auth_dialog-krb5-auth-tickets.Po
+krb5_auth_dialog-ka-closures.o: ka-closures.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(krb5_auth_dialog_CPPFLAGS) $(CPPFLAGS) $(krb5_auth_dialog_CFLAGS) $(CFLAGS) -MT krb5_auth_dialog-ka-closures.o -MD -MP -MF $(DEPDIR)/krb5_auth_dialog-ka-closures.Tpo -c -o krb5_auth_dialog-ka-closures.o `test -f 'ka-closures.c' || echo '$(srcdir)/'`ka-closures.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/krb5_auth_dialog-ka-closures.Tpo $(DEPDIR)/krb5_auth_dialog-ka-closures.Po
@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='krb5-auth-tickets.c' object='krb5_auth_dialog-krb5-auth-tickets.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ka-closures.c' object='krb5_auth_dialog-ka-closures.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(krb5_auth_dialog_CPPFLAGS) $(CPPFLAGS) $(krb5_auth_dialog_CFLAGS) $(CFLAGS) -c -o krb5_auth_dialog-krb5-auth-tickets.o `test -f 'krb5-auth-tickets.c' || echo '$(srcdir)/'`krb5-auth-tickets.c
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(krb5_auth_dialog_CPPFLAGS) $(CPPFLAGS) $(krb5_auth_dialog_CFLAGS) $(CFLAGS) -c -o krb5_auth_dialog-ka-closures.o `test -f 'ka-closures.c' || echo '$(srcdir)/'`ka-closures.c
-krb5_auth_dialog-krb5-auth-tickets.obj: krb5-auth-tickets.c
-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(krb5_auth_dialog_CPPFLAGS) $(CPPFLAGS) $(krb5_auth_dialog_CFLAGS) $(CFLAGS) -MT krb5_auth_dialog-krb5-auth-tickets.obj -MD -MP -MF $(DEPDIR)/krb5_auth_dialog-krb5-auth-tickets.Tpo -c -o krb5_auth_dialog-krb5-auth-tickets.obj `if test -f 'krb5-auth-tickets.c'; then $(CYGPATH_W) 'krb5-auth-tickets.c'; else $(CYGPATH_W) '$(srcdir)/krb5-auth-tickets.c'; fi`
-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/krb5_auth_dialog-krb5-auth-tickets.Tpo $(DEPDIR)/krb5_auth_dialog-krb5-auth-tickets.Po
+krb5_auth_dialog-ka-closures.obj: ka-closures.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(krb5_auth_dialog_CPPFLAGS) $(CPPFLAGS) $(krb5_auth_dialog_CFLAGS) $(CFLAGS) -MT krb5_auth_dialog-ka-closures.obj -MD -MP -MF $(DEPDIR)/krb5_auth_dialog-ka-closures.Tpo -c -o krb5_auth_dialog-ka-closures.obj `if test -f 'ka-closures.c'; then $(CYGPATH_W) 'ka-closures.c'; else $(CYGPATH_W) '$(srcdir)/ka-closures.c'; fi`
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/krb5_auth_dialog-ka-closures.Tpo $(DEPDIR)/krb5_auth_dialog-ka-closures.Po
@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='krb5-auth-tickets.c' object='krb5_auth_dialog-krb5-auth-tickets.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ka-closures.c' object='krb5_auth_dialog-ka-closures.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(krb5_auth_dialog_CPPFLAGS) $(CPPFLAGS) $(krb5_auth_dialog_CFLAGS) $(CFLAGS) -c -o krb5_auth_dialog-krb5-auth-tickets.obj `if test -f 'krb5-auth-tickets.c'; then $(CYGPATH_W) 'krb5-auth-tickets.c'; else $(CYGPATH_W) '$(srcdir)/krb5-auth-tickets.c'; fi`
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(krb5_auth_dialog_CPPFLAGS) $(CPPFLAGS) $(krb5_auth_dialog_CFLAGS) $(CFLAGS) -c -o krb5_auth_dialog-ka-closures.obj `if test -f 'ka-closures.c'; then $(CYGPATH_W) 'ka-closures.c'; else $(CYGPATH_W) '$(srcdir)/ka-closures.c'; fi`
krb5_auth_dialog-dummy-strings.o: dummy-strings.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(krb5_auth_dialog_CPPFLAGS) $(CPPFLAGS) $(krb5_auth_dialog_CFLAGS) $(CFLAGS) -MT krb5_auth_dialog-dummy-strings.o -MD -MP -MF $(DEPDIR)/krb5_auth_dialog-dummy-strings.Tpo -c -o krb5_auth_dialog-dummy-strings.o `test -f 'dummy-strings.c' || echo '$(srcdir)/'`dummy-strings.c
@@ -1030,7 +1098,7 @@ uninstall-man: uninstall-man1
$(service_DATA): $(service_in_files) Makefile
sed -e "s|\@BINDIR\@|$(bindir)|" $< > $@
-krb5-auth-applet-dbus-glue.h: $(srcdir)/krb5-auth-applet-dbus.xml
+ka-dbus-glue.h: $(srcdir)/ka-dbus.xml
dbus-binding-tool \
--mode=glib-server \
--prefix=krb5_auth_dialog \
diff --git a/src/krb5-auth-applet.h b/src/ka-applet-priv.h
index e0f32e4..7e240a7 100644
--- a/src/krb5-auth-applet.h
+++ b/src/ka-applet-priv.h
@@ -1,6 +1,6 @@
/* Krb5 Auth Applet -- Acquire and release kerberos tickets
*
- * (C) 2008 Guido Guenther <agx@sigxcpu.org>
+ * (C) 2008,2010 Guido Guenther <agx@sigxcpu.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -18,37 +18,23 @@
*
*/
-#ifndef KRB5_AUTH_APPLET_H
-#define KRB5_AUTH_APPLET_H
+/* "Private" header - functions not exported to plugins */
+
+#ifndef KA_APPLET_PRIV_H
+#define KA_APPLET_PRIV_H
#include <glib-object.h>
#include <glib/gprintf.h>
+#include <gconf/gconf-client.h>
#include <krb5.h>
#include "config.h"
-#include "krb5-auth-pwdialog.h"
-
-#define KA_NAME _("Network Authentication")
+#include "ka-applet.h"
+#include "ka-pwdialog.h"
G_BEGIN_DECLS
-#define KA_TYPE_APPLET (ka_applet_get_type ())
-#define KA_APPLET(obj) \
- (G_TYPE_CHECK_INSTANCE_CAST ((obj), KA_TYPE_APPLET, KaApplet))
-#define KA_APPLET_CLASS(klass) \
- (G_TYPE_CHECK_CLASS_CAST ((klass), KA_TYPE_APPLET, KaAppletClass))
-#define KA_IS_APPLET(obj) \
- (G_TYPE_CHECK_INSTANCE_TYPE ((obj), KA_TYPE_APPLET))
-#define KA_IS_APPLET_CLASS(klass) \
- (G_TYPE_CHECK_CLASS_TYPE ((klass), KA_TYPE_APPLET))
-#define KA_APPLET_GET_CLASS(obj) \
- (G_TYPE_INSTANCE_GET_CLASS ((obj), KA_TYPE_APPLET, KaAppletClass))
-
-typedef struct _KaApplet KaApplet;
-typedef struct _KaAppletClass KaAppletClass;
-typedef struct _KaAppletPrivate KaAppletPrivate;
-
-GType ka_applet_get_type (void);
+#define KA_NAME _("Network Authentication")
/* signals emitted by KaApplet */
typedef enum {
@@ -64,6 +50,7 @@ void ka_applet_set_tgt_renewable(KaApplet* applet, gboolean renewable);
gboolean ka_applet_get_tgt_renewable(const KaApplet* applet);
guint ka_applet_get_pw_prompt_secs(const KaApplet* applet);
KaPwDialog* ka_applet_get_pwdialog(const KaApplet* applet);
+GConfClient* ka_applet_get_gconf_client(const KaApplet* applet);
void ka_applet_signal_emit(KaApplet* applet, KaAppletSignalNumber signum,
krb5_timestamp expiry);
diff --git a/src/krb5-auth-applet.c b/src/ka-applet.c
index dd621a0..472f4f5 100644
--- a/src/krb5-auth-applet.c
+++ b/src/ka-applet.c
@@ -22,12 +22,14 @@
#include <glib/gi18n.h>
-#include "krb5-auth-applet.h"
-#include "krb5-auth-dialog.h"
-#include "krb5-auth-gconf-tools.h"
-#include "krb5-auth-gconf.h"
-#include "krb5-auth-tools.h"
-#include "krb5-auth-tickets.h"
+#include "ka-applet-priv.h"
+#include "ka-dialog.h"
+#include "ka-gconf-tools.h"
+#include "ka-gconf.h"
+#include "ka-tools.h"
+#include "ka-tickets.h"
+#include "ka-plugin-loader.h"
+#include "ka-closures.h"
#ifdef HAVE_LIBNOTIFY
#include <libnotify/notify.h>
#endif
@@ -77,6 +79,7 @@ struct _KaAppletPrivate
KaPwDialog *pwdialog; /* the password dialog */
int pw_prompt_secs; /* when to start prompting for a password */
+ KaPluginLoader *loader; /* Plugin loader */
#ifdef HAVE_LIBNOTIFY
NotifyNotification* notification;/* notification messages */
@@ -219,6 +222,10 @@ ka_applet_dispose(GObject* object)
g_object_unref(applet->priv->uixml);
applet->priv->uixml = NULL;
}
+ if (applet->priv->loader) {
+ g_object_unref(applet->priv->loader);
+ applet->priv->loader = NULL;
+ }
if (parent_class->dispose != NULL)
parent_class->dispose (object);
@@ -347,7 +354,7 @@ ka_applet_class_init(KaAppletClass *klass)
0,
NULL,
NULL,
- g_cclosure_marshal_VOID__STRING,
+ ka_closure_VOID__STRING_UINT,
G_TYPE_NONE,
2, /* number of parameters */
G_TYPE_STRING,
@@ -399,8 +406,8 @@ ka_applet_select_icon(KaApplet* applet, int remaining)
if (remaining > 0) {
if (remaining < applet->priv->pw_prompt_secs &&
!applet->priv->renewable)
- tray_icon = exp_icon;
- else
+ tray_icon = exp_icon;
+ else
tray_icon = val_icon;
}
@@ -509,10 +516,12 @@ ka_applet_update_status(KaApplet* applet, krb5_timestamp expiry)
int remaining = expiry - now;
static int last_warn = 0;
static gboolean expiry_notified = FALSE;
+ static krb5_timestamp old_expiry = 0;
gboolean notify = TRUE;
const char* tray_icon = ka_applet_select_icon (applet, remaining);
char* tooltip_text = ka_applet_tooltip_text (remaining);
+
if (remaining > 0) {
if (expiry_notified) {
ka_gconf_get_bool(applet->priv->gconf,
@@ -528,20 +537,26 @@ ka_applet_update_status(KaApplet* applet, krb5_timestamp expiry)
}
ka_applet_signal_emit (applet, KA_SIGNAL_ACQUIRED_TGT, expiry);
expiry_notified = FALSE;
- } else if (remaining < applet->priv->pw_prompt_secs && (now - last_warn) > NOTIFY_SECONDS &&
- !applet->priv->renewable) {
- ka_gconf_get_bool(applet->priv->gconf,
+ } else {
+ if (remaining < applet->priv->pw_prompt_secs
+ && (now - last_warn) > NOTIFY_SECONDS
+ && !applet->priv->renewable) {
+ ka_gconf_get_bool(applet->priv->gconf,
KA_GCONF_KEY_NOTIFY_EXPIRING,
&notify);
- if (notify) {
- applet->priv->notify_gconf_key = KA_GCONF_KEY_NOTIFY_EXPIRING;
- ka_send_event_notification (applet,
+ if (notify) {
+ applet->priv->notify_gconf_key = KA_GCONF_KEY_NOTIFY_EXPIRING;
+ ka_send_event_notification (applet,
_("Network credentials expiring"),
tooltip_text,
"krb-expiring-ticket",
"dont-show-again");
+ }
+ last_warn = now;
}
- last_warn = now;
+ /* ticket lifetime got longer e.g. by kinit -R */
+ if (old_expiry && expiry > old_expiry)
+ ka_applet_signal_emit (applet, KA_SIGNAL_RENEWED_TGT, expiry);
}
} else {
if (!expiry_notified) {
@@ -562,6 +577,7 @@ ka_applet_update_status(KaApplet* applet, krb5_timestamp expiry)
}
}
+ old_expiry = expiry;
gtk_status_icon_set_from_icon_name (applet->priv->tray_icon, tray_icon);
gtk_status_icon_set_tooltip_text (applet->priv->tray_icon, tooltip_text);
g_free(tooltip_text);
@@ -864,6 +880,12 @@ ka_applet_get_pwdialog(const KaApplet* applet)
return applet->priv->pwdialog;
}
+GConfClient*
+ka_applet_get_gconf_client(const KaApplet* self)
+{
+ return self->priv->gconf;
+}
+
void
ka_applet_signal_emit (KaApplet* this, KaAppletSignalNumber signum,
krb5_timestamp expiry)
@@ -912,8 +934,9 @@ ka_applet_create()
applet->priv->gconf = ka_gconf_init (applet);
g_return_val_if_fail (applet->priv->gconf != NULL, NULL);
- ka_tickets_dialog_create(applet->priv->uixml);
+ ka_tickets_dialog_create (applet->priv->uixml);
+ applet->priv->loader = ka_plugin_loader_create (applet);
+ g_return_val_if_fail (applet->priv->loader != NULL, NULL);
return applet;
}
-
diff --git a/src/ka-applet.h b/src/ka-applet.h
new file mode 100644
index 0000000..e9af644
--- /dev/null
+++ b/src/ka-applet.h
@@ -0,0 +1,48 @@
+/* Krb5 Auth Applet -- Acquire and release kerberos tickets
+ *
+ * (C) 2008 Guido Guenther <agx@sigxcpu.org>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+ */
+
+#ifndef KA_APPLET_H
+#define KA_APPLET_H
+
+#include <glib-object.h>
+
+G_BEGIN_DECLS
+
+#define KA_TYPE_APPLET (ka_applet_get_type ())
+#define KA_APPLET(obj) \
+ (G_TYPE_CHECK_INSTANCE_CAST ((obj), KA_TYPE_APPLET, KaApplet))
+#define KA_APPLET_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_CAST ((klass), KA_TYPE_APPLET, KaAppletClass))
+#define KA_IS_APPLET(obj) \
+ (G_TYPE_CHECK_INSTANCE_TYPE ((obj), KA_TYPE_APPLET))
+#define KA_IS_APPLET_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_TYPE ((klass), KA_TYPE_APPLET))
+#define KA_APPLET_GET_CLASS(obj) \
+ (G_TYPE_INSTANCE_GET_CLASS ((obj), KA_TYPE_APPLET, KaAppletClass))
+
+typedef struct _KaApplet KaApplet;
+typedef struct _KaAppletClass KaAppletClass;
+typedef struct _KaAppletPrivate KaAppletPrivate;
+
+GType ka_applet_get_type (void);
+
+G_END_DECLS
+
+#endif
diff --git a/src/ka-closures.c b/src/ka-closures.c
new file mode 100644
index 0000000..a3c651b
--- /dev/null
+++ b/src/ka-closures.c
@@ -0,0 +1,105 @@
+/*
+ * Copyright (C) 2010 Guido Guenther <agx@sigxcpu.org>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2, or (at your option)
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+ * This file was generated using glib-genmarshal
+ */
+
+#include <glib-object.h>
+#include "ka-closures.h"
+
+
+#ifdef G_ENABLE_DEBUG
+#define g_marshal_value_peek_boolean(v) g_value_get_boolean (v)
+#define g_marshal_value_peek_char(v) g_value_get_char (v)
+#define g_marshal_value_peek_uchar(v) g_value_get_uchar (v)
+#define g_marshal_value_peek_int(v) g_value_get_int (v)
+#define g_marshal_value_peek_uint(v) g_value_get_uint (v)
+#define g_marshal_value_peek_long(v) g_value_get_long (v)
+#define g_marshal_value_peek_ulong(v) g_value_get_ulong (v)
+#define g_marshal_value_peek_int64(v) g_value_get_int64 (v)
+#define g_marshal_value_peek_uint64(v) g_value_get_uint64 (v)
+#define g_marshal_value_peek_enum(v) g_value_get_enum (v)
+#define g_marshal_value_peek_flags(v) g_value_get_flags (v)
+#define g_marshal_value_peek_float(v) g_value_get_float (v)
+#define g_marshal_value_peek_double(v) g_value_get_double (v)
+#define g_marshal_value_peek_string(v) (char*) g_value_get_string (v)
+#define g_marshal_value_peek_param(v) g_value_get_param (v)
+#define g_marshal_value_peek_boxed(v) g_value_get_boxed (v)
+#define g_marshal_value_peek_pointer(v) g_value_get_pointer (v)
+#define g_marshal_value_peek_object(v) g_value_get_object (v)
+#else /* !G_ENABLE_DEBUG */
+/* WARNING: This code accesses GValues directly, which is UNSUPPORTED API.
+ * Do not access GValues directly in your code. Instead, use the
+ * g_value_get_*() functions
+ */
+#define g_marshal_value_peek_boolean(v) (v)->data[0].v_int
+#define g_marshal_value_peek_char(v) (v)->data[0].v_int
+#define g_marshal_value_peek_uchar(v) (v)->data[0].v_uint
+#define g_marshal_value_peek_int(v) (v)->data[0].v_int
+#define g_marshal_value_peek_uint(v) (v)->data[0].v_uint
+#define g_marshal_value_peek_long(v) (v)->data[0].v_long
+#define g_marshal_value_peek_ulong(v) (v)->data[0].v_ulong
+#define g_marshal_value_peek_int64(v) (v)->data[0].v_int64
+#define g_marshal_value_peek_uint64(v) (v)->data[0].v_uint64
+#define g_marshal_value_peek_enum(v) (v)->data[0].v_long
+#define g_marshal_value_peek_flags(v) (v)->data[0].v_ulong
+#define g_marshal_value_peek_float(v) (v)->data[0].v_float
+#define g_marshal_value_peek_double(v) (v)->data[0].v_double
+#define g_marshal_value_peek_string(v) (v)->data[0].v_pointer
+#define g_marshal_value_peek_param(v) (v)->data[0].v_pointer
+#define g_marshal_value_peek_boxed(v) (v)->data[0].v_pointer
+#define g_marshal_value_peek_pointer(v) (v)->data[0].v_pointer
+#define g_marshal_value_peek_object(v) (v)->data[0].v_pointer
+#endif /* !G_ENABLE_DEBUG */
+
+
+/* VOID:STRING,UINT (src/marshaller:1) */
+void
+ka_closure_VOID__STRING_UINT (GClosure *closure,
+ GValue *return_value G_GNUC_UNUSED,
+ guint n_param_values,
+ const GValue *param_values,
+ gpointer invocation_hint G_GNUC_UNUSED,
+ gpointer marshal_data)
+{
+ typedef void (*GMarshalFunc_VOID__STRING_UINT) (gpointer data1,
+ gpointer arg_1,
+ guint arg_2,
+ gpointer data2);
+ register GMarshalFunc_VOID__STRING_UINT callback;
+ register GCClosure *cc = (GCClosure*) closure;
+ register gpointer data1, data2;
+
+ g_return_if_fail (n_param_values == 3);
+
+ if (G_CCLOSURE_SWAP_DATA (closure))
+ {
+ data1 = closure->data;
+ data2 = g_value_peek_pointer (param_values + 0);
+ }
+ else
+ {
+ data1 = g_value_peek_pointer (param_values + 0);
+ data2 = closure->data;
+ }
+ callback = (GMarshalFunc_VOID__STRING_UINT) (marshal_data ? marshal_data : cc->callback);
+
+ callback (data1,
+ g_marshal_value_peek_string (param_values + 1),
+ g_marshal_value_peek_uint (param_values + 2),
+ data2);
+}
diff --git a/src/ka-closures.h b/src/ka-closures.h
new file mode 100644
index 0000000..37b0a7d
--- /dev/null
+++ b/src/ka-closures.h
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2010 Guido Guenther <agx@sigxcpu.org>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2, or (at your option)
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+ * This file was generated using glib-genmarshal
+ */
+
+#ifndef __ka_closure_MARSHAL_H__
+#define __ka_closure_MARSHAL_H__
+
+#include <glib-object.h>
+
+G_BEGIN_DECLS
+
+/* VOID:STRING,UINT (marshaller:1) */
+extern void ka_closure_VOID__STRING_UINT (GClosure *closure,
+ GValue *return_value,
+ guint n_param_values,
+ const GValue *param_values,
+ gpointer invocation_hint,
+ gpointer marshal_data);
+
+G_END_DECLS
+
+#endif /* __ka_closure_MARSHAL_H__ */
diff --git a/src/krb5-auth-dbus.c b/src/ka-dbus.c
index 94ab18d..f8a00d6 100644
--- a/src/krb5-auth-dbus.c
+++ b/src/ka-dbus.c
@@ -21,10 +21,10 @@
#include "config.h"
#include <dbus/dbus-glib.h>
-#include "krb5-auth-applet.h"
-#include "krb5-auth-dialog.h"
-#include "krb5-auth-dbus.h"
-#include "krb5-auth-applet-dbus-glue.h"
+#include "ka-applet-priv.h"
+#include "ka-dialog.h"
+#include "ka-dbus.h"
+#include "ka-dbus-glue.h"
static DBusGConnection *session;
@@ -117,4 +117,3 @@ ka_dbus_connect(unsigned int* status)
}
return TRUE;
}
-
diff --git a/src/krb5-auth-dbus.h b/src/ka-dbus.h
index 0d3acd0..23828b7 100644
--- a/src/krb5-auth-dbus.h
+++ b/src/ka-dbus.h
@@ -18,13 +18,13 @@
*
*/
-#ifndef KRB5_AUTH_DBUS_H
-#define KRB5_AUTH_DBUS_H
+#ifndef KA_DBUS_H
+#define KA_DBUS_H
#include <glib.h>
#include <dbus/dbus-glib.h>
#include <dbus/dbus-glib-lowlevel.h>
-#include "krb5-auth-applet.h"
+#include "ka-applet-priv.h"
gboolean ka_dbus_connect(unsigned int* status);
gboolean ka_dbus_service(KaApplet* applet);
@@ -34,4 +34,4 @@ gboolean ka_dbus_acquire_tgt (KaApplet *applet,
gboolean ka_dbus_destroy_ccache(KaApplet* applet,
DBusGMethodInvocation *context);
-#endif /* KRB5_AUTH_DBUS_H */
+#endif /* KA_DBUS_H */
diff --git a/src/krb5-auth-applet-dbus.xml b/src/ka-dbus.xml
index 0908ec6..9d6b1a4 100644
--- a/src/krb5-auth-applet-dbus.xml
+++ b/src/ka-dbus.xml
@@ -28,4 +28,3 @@
</signal>
</interface>
</node>
-
diff --git a/src/krb5-auth-dialog.c b/src/ka-dialog.c
index 7b2933b..f8d0fea 100644
--- a/src/krb5-auth-dialog.c
+++ b/src/ka-dialog.c
@@ -36,12 +36,12 @@
#include "secmem-util.h"
#include "memory.h"
-#include "krb5-auth-dialog.h"
-#include "krb5-auth-applet.h"
-#include "krb5-auth-pwdialog.h"
-#include "krb5-auth-dbus.h"
-#include "krb5-auth-tools.h"
-#include "krb5-auth-tickets.h"
+#include "ka-dialog.h"
+#include "ka-applet-priv.h"
+#include "ka-pwdialog.h"
+#include "ka-dbus.h"
+#include "ka-tools.h"
+#include "ka-tickets.h"
#ifdef ENABLE_NETWORK_MANAGER
#include <libnm_glib.h>
@@ -1119,10 +1119,10 @@ main (int argc, char *argv[])
const char *help_msg = "Run '" PACKAGE " --help' to see a full list of available command line options";
const GOptionEntry options [] = {
{"auto", 'a', 0, G_OPTION_ARG_NONE, &run_auto,
- "Only run if an initialized ccache is found (default)", NULL},
+ "Only run if an initialized ccache is found (default)", NULL},
{"always", 'A', 0, G_OPTION_ARG_NONE, &run_always,
- "Always run", NULL},
- { NULL, 0, 0, G_OPTION_ARG_NONE, NULL, NULL, NULL }
+ "Always run", NULL},
+ { NULL, 0, 0, G_OPTION_ARG_NONE, NULL, NULL, NULL }
};
context = g_option_context_new ("- Kerberos 5 credential checking");
diff --git a/src/krb5-auth-dialog.h b/src/ka-dialog.h
index 48cd0b0..c62acb3 100644
--- a/src/krb5-auth-dialog.h
+++ b/src/ka-dialog.h
@@ -18,10 +18,10 @@
*
*/
-#ifndef KRB5_AUTH_DIALOG
-#define KRB5_AUTH_DIALOG
+#ifndef KA_DIALOG
+#define KA_DIALOG
-#include "krb5-auth-applet.h"
+#include "ka-applet-priv.h"
gboolean ka_destroy_ccache (KaApplet* applet);
gboolean ka_grab_credentials(KaApplet* applet);
@@ -30,4 +30,3 @@ gboolean ka_get_service_tickets(GtkListStore *tickets);
char* ka_unparse_name(void);
int ka_tgt_valid_seconds(void);
#endif
-
diff --git a/src/krb5-auth-gconf-tools.c b/src/ka-gconf-tools.c
index 01f4d39..60fd567 100644
--- a/src/krb5-auth-gconf-tools.c
+++ b/src/ka-gconf-tools.c
@@ -20,7 +20,7 @@
#include "config.h"
#include <gconf/gconf-client.h>
-#include <krb5-auth-gconf-tools.h>
+#include <ka-gconf-tools.h>
gboolean
ka_gconf_get_string (GConfClient* client,
@@ -50,6 +50,30 @@ ka_gconf_get_string (GConfClient* client,
gboolean
+ka_gconf_get_string_list (GConfClient* client,
+ const char* key,
+ GSList** list)
+{
+ GError* error = NULL;
+ gboolean success = FALSE;
+
+ g_return_val_if_fail (client != NULL, FALSE);
+ g_return_val_if_fail (key != NULL, FALSE);
+ g_return_val_if_fail (*list == NULL, FALSE);
+
+ if ((*list = gconf_client_get_list (client, key,
+ GCONF_VALUE_STRING, &error))) {
+ if (error) {
+ g_print ("%s", error->message);
+ g_error_free (error);
+ } else
+ success = TRUE;
+ }
+ return success;
+}
+
+
+gboolean
ka_gconf_get_int (GConfClient* client,
const char* key,
int* value)
@@ -123,4 +147,3 @@ ka_gconf_set_bool (GConfClient* client,
}
return TRUE;
}
-
diff --git a/src/krb5-auth-gconf-tools.h b/src/ka-gconf-tools.h
index 6d9f124..1d8151d 100644
--- a/src/krb5-auth-gconf-tools.h
+++ b/src/ka-gconf-tools.h
@@ -18,8 +18,8 @@
*
*/
-#ifndef KRB5_AUTH_GCONF_TOOLS_H
-#define KRB5_AUTH_GCONF_TOOLS_H
+#ifndef KA_GCONF_TOOLS_H
+#define KA_GCONF_TOOLS_H
#include "config.h"
@@ -37,8 +37,10 @@
#define KA_GCONF_KEY_NOTIFY_VALID KA_GCONF_PATH "/notify/valid"
#define KA_GCONF_KEY_NOTIFY_EXPIRED KA_GCONF_PATH "/notify/expired"
#define KA_GCONF_KEY_NOTIFY_EXPIRING KA_GCONF_PATH "/notify/expiring"
+#define KA_GCONF_KEY_PLUGINS_ENABLED KA_GCONF_PATH "/plugins/enabled"
gboolean ka_gconf_get_string (GConfClient* client, const char* key, char** value);
+gboolean ka_gconf_get_string_list (GConfClient* client, const char* key, GSList** list);
gboolean ka_gconf_get_int (GConfClient* client, const char* key, int* value);
gboolean ka_gconf_get_bool (GConfClient* client, const char* key, gboolean* value);
gboolean ka_gconf_set_bool (GConfClient* client, const char* key, gboolean value);
diff --git a/src/krb5-auth-gconf.c b/src/ka-gconf.c
index 5b9df35..10ef703 100644
--- a/src/krb5-auth-gconf.c
+++ b/src/ka-gconf.c
@@ -22,9 +22,9 @@
#include <gconf/gconf-client.h>
#include <string.h>
-#include "krb5-auth-applet.h"
-#include "krb5-auth-gconf-tools.h"
-#include "krb5-auth-gconf.h"
+#include "ka-applet-priv.h"
+#include "ka-gconf-tools.h"
+#include "ka-gconf.h"
static gboolean
ka_gconf_set_principal (GConfClient* client, KaApplet* applet)
@@ -166,8 +166,9 @@ ka_gconf_key_changed_callback (GConfClient* client,
} else if (g_strcmp0 (key, KA_GCONF_KEY_PROXIABLE) == 0) {
ka_gconf_set_tgt_proxiable (client, applet);
} else if (g_strcmp0 (key, KA_GCONF_KEY_NOTIFY_VALID)
- || g_strcmp0 (key,KA_GCONF_KEY_NOTIFY_EXPIRING)
- || g_strcmp0 (key,KA_GCONF_KEY_NOTIFY_EXPIRED)) {
+ || g_strcmp0 (key, KA_GCONF_KEY_NOTIFY_EXPIRING)
+ || g_strcmp0 (key, KA_GCONF_KEY_NOTIFY_EXPIRED)
+ || g_strcmp0 (key, KA_GCONF_KEY_PLUGINS_ENABLED)) {
/* nothing to do */
} else
g_warning("Received notification for unknown gconf key %s", key);
diff --git a/src/krb5-auth-gconf.h b/src/ka-gconf.h
index e4c3b5a..a6b3872 100644
--- a/src/krb5-auth-gconf.h
+++ b/src/ka-gconf.h
@@ -18,11 +18,11 @@
*
*/
-#ifndef KRB5_AUTH_GCONF_H
-#define KRB5_AUTH_GCONF_H
+#ifndef KA_GCONF_H
+#define KA_GCONF_H
#include <gconf/gconf-client.h>
-#include "krb5-auth-applet.h"
+#include "ka-applet-priv.h"
GConfClient* ka_gconf_init (KaApplet* applet);
diff --git a/src/ka-plugin-loader.c b/src/ka-plugin-loader.c
new file mode 100644
index 0000000..2321215
--- /dev/null
+++ b/src/ka-plugin-loader.c
@@ -0,0 +1,204 @@
+/*
+ * Copyright (C) 2010 Guido Guenther <agx@sigxcpu.org>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2, or (at your option)
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+#include <gconf/gconf-client.h>
+
+#include "ka-plugin-loader.h"
+#include "ka-plugin.h"
+#include "ka-applet-priv.h"
+#include "ka-gconf-tools.h"
+
+#include <gmodule.h>
+
+G_DEFINE_TYPE (KaPluginLoader, ka_plugin_loader, G_TYPE_OBJECT)
+
+#define GET_PRIVATE(o) \
+ (G_TYPE_INSTANCE_GET_PRIVATE ((o), KA_TYPE_PLUGIN_LOADER, KaPluginLoaderPrivate))
+
+typedef struct _KaPluginLoaderPrivate KaPluginLoaderPrivate;
+
+struct _KaPluginLoaderPrivate {
+ KaApplet *applet;
+ GSList *active_plugins;
+};
+
+
+static KaPlugin*
+load_plugin (const char *path)
+{
+ KaPlugin *plugin = NULL;
+ GModule *module;
+ KaPluginCreateFunc plugin_create_func;
+ int *major_plugin_version, *minor_plugin_version;
+
+ module = g_module_open (path, G_MODULE_BIND_LAZY);
+ if (!module) {
+ g_warning ("Could not load plugin %s: %s", path, g_module_error ());
+ return NULL;
+ }
+
+ if (!g_module_symbol (module, "ka_plugin_major_version",(gpointer *) &major_plugin_version)) {
+ g_warning ("Could not load plugin %s: Missing major version info", path);
+ goto out;
+ }
+
+ if (*major_plugin_version != KA_PLUGIN_MAJOR_VERSION) {
+ g_warning ("Could not load plugin %s: Plugin major version %d, %d is required",
+ path, *major_plugin_version, KA_PLUGIN_MAJOR_VERSION);
+ goto out;
+ }
+
+ if (!g_module_symbol (module, "ka_plugin_minor_version", (gpointer *) &minor_plugin_version)) {
+ g_warning ("Could not load plugin %s: Missing minor version info", path);
+ goto out;
+ }
+
+ if (*minor_plugin_version != KA_PLUGIN_MINOR_VERSION) {
+ g_warning ("Could not load plugin %s: Plugin minor version %d, %d is required",
+ path, *minor_plugin_version, KA_PLUGIN_MINOR_VERSION);
+ goto out;
+ }
+
+ if (!g_module_symbol (module, "ka_plugin_create", (gpointer *) &plugin_create_func)) {
+ g_warning ("Could not load plugin %s: %s", path, g_module_error ());
+ goto out;
+ }
+
+ plugin = (*plugin_create_func) ();
+ if (plugin) {
+ g_object_weak_ref (G_OBJECT (plugin), (GWeakNotify) g_module_close, module);
+ g_message ("Loaded plugin %s", ka_plugin_get_name (plugin));
+ } else
+ g_warning ("Could not load plugin %s: initialization failed", path);
+out:
+ if (!plugin)
+ g_module_close (module);
+
+ return plugin;
+}
+
+
+static void
+load_plugins (KaPluginLoader *self)
+{
+ int i;
+ KaPluginLoaderPrivate *priv = GET_PRIVATE (self);
+ const char *pname;
+ GConfClient *gconf;
+ GSList *plugins = NULL;
+
+ if (!g_module_supported ()) {
+ g_warning ("GModules are not supported on your platform!");
+ return;
+ }
+ gconf = ka_applet_get_gconf_client (priv->applet);
+
+ /* For now we only load the plugins on program startup */
+ ka_gconf_get_string_list(gconf, KA_GCONF_KEY_PLUGINS_ENABLED, &plugins);
+ if (!plugins) {
+ g_message ("No plugins to load");
+ return ;
+ }
+
+ for (i=0; (pname = g_slist_nth_data (plugins, i)) != NULL; i++) {
+ char *path;
+ char *fname;
+ KaPlugin *plugin;
+
+ fname = g_strdup_printf("libka-plugin-%s.%s", pname, G_MODULE_SUFFIX);
+ path = g_module_build_path (KA_PLUGINS_DIR, fname);
+
+ plugin = load_plugin (path);
+ if (plugin) {
+ ka_plugin_activate(plugin, priv->applet);
+ priv->active_plugins = g_slist_prepend (priv->active_plugins, plugin);
+ }
+ g_free (fname);
+ g_free (path);
+ }
+ g_slist_free (plugins);
+}
+
+
+static void
+deactivate_plugin(gpointer plugin, gpointer user_data)
+{
+ KaApplet *applet = KA_APPLET (user_data);
+
+ KA_DEBUG ("Deactivating plugin %s", ka_plugin_get_name (plugin));
+ ka_plugin_deactivate (plugin, applet);
+}
+
+
+static void
+ka_plugin_loader_dispose(GObject *object)
+{
+ KaPluginLoader *self = KA_PLUGIN_LOADER(object);
+ KaPluginLoaderPrivate *priv = GET_PRIVATE (self);
+ GObjectClass *parent_class = G_OBJECT_CLASS (ka_plugin_loader_parent_class);
+
+ /* We need to do this before dropping the ref on applet */
+ g_slist_foreach (priv->active_plugins, deactivate_plugin, priv->applet);
+ g_slist_free (priv->active_plugins);
+
+ if (priv->applet)
+ priv->applet = NULL;
+
+ if (parent_class->dispose != NULL)
+ parent_class->dispose (object);
+}
+
+
+static void
+ka_plugin_loader_class_init (KaPluginLoaderClass *klass)
+{
+ GObjectClass *object_class = G_OBJECT_CLASS(klass);
+
+ object_class->dispose = ka_plugin_loader_dispose;
+ g_type_class_add_private (klass, sizeof (KaPluginLoaderPrivate));
+}
+
+
+static void
+ka_plugin_loader_init (KaPluginLoader *self)
+{
+ KaPluginLoaderPrivate *priv = GET_PRIVATE (self);
+ priv->active_plugins = NULL;
+}
+
+
+static KaPluginLoader*
+ka_plugin_loader_new (void)
+{
+ return g_object_new (KA_TYPE_PLUGIN_LOADER, NULL);
+}
+
+
+KaPluginLoader*
+ka_plugin_loader_create (KaApplet* applet)
+{
+ KaPluginLoader *loader;
+ KaPluginLoaderPrivate *priv;
+
+ loader = ka_plugin_loader_new();
+ priv = GET_PRIVATE (loader);
+ priv->applet = applet;
+ load_plugins (loader);
+
+ return loader;
+}
diff --git a/src/ka-plugin-loader.h b/src/ka-plugin-loader.h
new file mode 100644
index 0000000..6f0560a
--- /dev/null
+++ b/src/ka-plugin-loader.h
@@ -0,0 +1,58 @@
+/*
+ * Copyright (C) 2010 Guido Guenther <agx@sigxcpu.org>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2, or (at your option)
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+#ifndef _KA_PLUGIN_LOADER
+#define _KA_PLUGIN_LOADER
+
+#include <glib-object.h>
+#include "ka-applet.h"
+
+G_BEGIN_DECLS
+
+#define KA_TYPE_PLUGIN_LOADER ka_plugin_loader_get_type()
+
+#define KA_PLUGIN_LOADER(obj) \
+ (G_TYPE_CHECK_INSTANCE_CAST ((obj), KA_TYPE_PLUGIN_LOADER, KaPluginLoader))
+
+#define KA_PLUGIN_LOADER_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_CAST ((klass), KA_TYPE_PLUGIN_LOADER, KaPluginLoaderClass))
+
+#define KA_IS_PLUGIN_LOADER(obj) \
+ (G_TYPE_CHECK_INSTANCE_TYPE ((obj), KA_TYPE_PLUGIN_LOADER))
+
+#define KA_IS_PLUGIN_LOADER_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_TYPE ((klass), KA_TYPE_PLUGIN_LOADER))
+
+#define KA_PLUGIN_LOADER_GET_CLASS(obj) \
+ (G_TYPE_INSTANCE_GET_CLASS ((obj), KA_TYPE_PLUGIN_LOADER, KaPluginLoaderClass))
+
+typedef struct {
+ GObject parent;
+} KaPluginLoader;
+
+typedef struct {
+ GObjectClass parent_class;
+} KaPluginLoaderClass;
+
+GType ka_plugin_loader_get_type (void);
+
+KaPluginLoader* ka_plugin_loader_create (KaApplet *applet);
+
+G_END_DECLS
+
+#endif /* _KA_PLUGIN_LOADER */
diff --git a/src/ka-plugin.c b/src/ka-plugin.c
new file mode 100644
index 0000000..88fec34
--- /dev/null
+++ b/src/ka-plugin.c
@@ -0,0 +1,133 @@
+/*
+ * Copyright (C) 2010 Guido Guenther <agx@sigxcpu.org>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2, or (at your option)
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+#include "ka-plugin.h"
+
+G_DEFINE_TYPE (KaPlugin, ka_plugin, G_TYPE_OBJECT)
+
+#define GET_PRIVATE(o) \
+ (G_TYPE_INSTANCE_GET_PRIVATE ((o), KA_TYPE_PLUGIN, KaPluginPrivate))
+
+enum {
+ PROP_0,
+ PROP_NAME,
+ LAST_PROP
+};
+
+typedef struct _KaPluginPrivate KaPluginPrivate;
+struct _KaPluginPrivate {
+ char *name;
+};
+
+const char*
+ka_plugin_get_name (KaPlugin *self)
+{
+ g_return_val_if_fail (KA_IS_PLUGIN (self), NULL);
+ KaPluginPrivate *priv = GET_PRIVATE (self);
+
+ return priv->name;
+}
+
+
+static void
+set_property (GObject *object, guint prop_id,
+ const GValue *value, GParamSpec *pspec)
+{
+ KaPluginPrivate *priv = GET_PRIVATE (object);
+
+ switch (prop_id) {
+ case PROP_NAME:
+ /* construct only */
+ priv->name = g_value_dup_string (value);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
+
+static void
+get_property (GObject *object, guint prop_id,
+ GValue *value, GParamSpec *pspec)
+{
+ KaPluginPrivate *priv = GET_PRIVATE (object);
+
+ switch (prop_id) {
+ case PROP_NAME:
+ g_value_set_string (value, priv->name);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
+
+static void
+finalize (GObject *object)
+{
+ KaPluginPrivate *priv = GET_PRIVATE (object);
+
+ g_free (priv->name);
+}
+
+
+void
+ka_plugin_activate (KaPlugin *self, KaApplet *applet)
+{
+ g_return_if_fail (KA_IS_PLUGIN (self));
+
+ KA_PLUGIN_GET_CLASS (self)->activate (self, applet);
+}
+
+
+void
+ka_plugin_deactivate (KaPlugin *self, KaApplet *applet)
+{
+ g_return_if_fail (KA_IS_PLUGIN (self));
+
+ KA_PLUGIN_GET_CLASS (self)->deactivate (self, applet);
+}
+
+
+static void
+ka_plugin_class_init (KaPluginClass *klass)
+{
+ GObjectClass *object_class = G_OBJECT_CLASS (klass);
+
+ g_type_class_add_private (klass, sizeof (KaPluginPrivate));
+
+ object_class->get_property = get_property;
+ object_class->set_property = set_property;
+ object_class->finalize = finalize;
+
+ g_object_class_install_property
+ (object_class, PROP_NAME,
+ g_param_spec_string (KA_PLUGIN_PROP_NAME,
+ "Name",
+ "Plugin Name",
+ NULL,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY));
+}
+
+
+static void
+ka_plugin_init (KaPlugin *self G_GNUC_UNUSED)
+{
+}
diff --git a/src/ka-plugin.h b/src/ka-plugin.h
new file mode 100644
index 0000000..ead9b96
--- /dev/null
+++ b/src/ka-plugin.h
@@ -0,0 +1,75 @@
+/*
+ * Copyright (C) 2010 Guido Guenther <agx@sigxcpu.org>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2, or (at your option)
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+#ifndef _KA_PLUGIN
+#define _KA_PLUGIN
+
+#include <glib-object.h>
+#include "ka-applet.h"
+
+G_BEGIN_DECLS
+
+#define KA_PLUGIN_MAJOR_VERSION 0
+#define KA_PLUGIN_MINOR_VERSION 0
+
+#define KA_TYPE_PLUGIN ka_plugin_get_type()
+
+#define KA_PLUGIN(obj) \
+ (G_TYPE_CHECK_INSTANCE_CAST ((obj), KA_TYPE_PLUGIN, KaPlugin))
+
+#define KA_PLUGIN_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_CAST ((klass), KA_TYPE_PLUGIN, KaPluginClass))
+
+#define KA_IS_PLUGIN(obj) \
+ (G_TYPE_CHECK_INSTANCE_TYPE ((obj), KA_TYPE_PLUGIN))
+
+#define KA_IS_PLUGIN_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_TYPE ((klass), KA_TYPE_PLUGIN))
+
+#define KA_PLUGIN_GET_CLASS(obj) \
+ (G_TYPE_INSTANCE_GET_CLASS ((obj), KA_TYPE_PLUGIN, KaPluginClass))
+
+#define KA_PLUGIN_PROP_NAME "name"
+
+typedef struct {
+ GObject parent;
+} KaPlugin;
+
+typedef struct {
+ GObjectClass parent_class;
+
+ void (*activate) (KaPlugin *self, KaApplet* applet);
+ void (*deactivate) (KaPlugin *self, KaApplet* applet);
+
+ /* we'll add functions for prefs handling later */
+ void (*dummy1) (KaPlugin *self, KaApplet* applet);
+ void (*dummy2) (KaPlugin *self, KaApplet* applet);
+} KaPluginClass;
+
+GType ka_plugin_get_type (void);
+
+KaPlugin* ka_plugin_new (void);
+
+typedef KaPlugin *(*KaPluginCreateFunc) (void);
+const char* ka_plugin_get_name (KaPlugin *self);
+void ka_plugin_activate (KaPlugin *self, KaApplet *applet);
+void ka_plugin_deactivate (KaPlugin *self, KaApplet *applet);
+
+G_END_DECLS
+
+#endif /* _KA_PLUGIN */
diff --git a/src/krb5-auth-pwdialog.c b/src/ka-pwdialog.c
index 54fc292..2f8463c 100644
--- a/src/krb5-auth-pwdialog.c
+++ b/src/ka-pwdialog.c
@@ -22,9 +22,9 @@
#include <glib/gi18n.h>
-#include "krb5-auth-applet.h"
-#include "krb5-auth-dialog.h"
-#include "krb5-auth-pwdialog.h"
+#include "ka-applet-priv.h"
+#include "ka-dialog.h"
+#include "ka-pwdialog.h"
struct _KaPwDialog {
GObject parent;
@@ -307,4 +307,3 @@ ka_pwdialog_create(GtkBuilder* xml)
return pwdialog;
}
-
diff --git a/src/krb5-auth-pwdialog.h b/src/ka-pwdialog.h
index a02d3fb..8b39402 100644
--- a/src/krb5-auth-pwdialog.h
+++ b/src/ka-pwdialog.h
@@ -18,8 +18,8 @@
*
*/
-#ifndef KRB5_AUTH_PWDIALOG_H
-#define KRB5_AUTH_PWDIALOG_H
+#ifndef KA_PWDIALOG_H
+#define KA_PWDIALOG_H
#include <glib.h>
#include <glib-object.h>
diff --git a/src/krb5-auth-tickets.c b/src/ka-tickets.c
index 7c177a9..8734546 100644
--- a/src/krb5-auth-tickets.c
+++ b/src/ka-tickets.c
@@ -23,8 +23,8 @@
#include <glib/gi18n.h>
#include <gtk/gtk.h>
-#include "krb5-auth-tickets.h"
-#include "krb5-auth-dialog.h"
+#include "ka-tickets.h"
+#include "ka-dialog.h"
static GtkListStore *tickets;
static GtkWidget *tickets_dialog;
@@ -113,4 +113,3 @@ ka_tickets_dialog_run()
gtk_widget_show (message_dialog);
}
}
-
diff --git a/src/krb5-auth-tickets.h b/src/ka-tickets.h
index 02d67b3..a1002f5 100644
--- a/src/krb5-auth-tickets.h
+++ b/src/ka-tickets.h
@@ -18,8 +18,8 @@
*
*/
-#ifndef KRB5_AUTH_TICKETS_H
-#define KRB5_AUTH_TICKETS_H
+#ifndef KA_TICKETS_H
+#define KA_TICKETS_H
enum ticket_columns {
PRINCIPAL_COLUMN,
diff --git a/src/krb5-auth-tools.c b/src/ka-tools.c
index bd72afb..177e64e 100644
--- a/src/krb5-auth-tools.c
+++ b/src/ka-tools.c
@@ -19,7 +19,7 @@
#include "config.h"
#include <glib/gi18n.h>
-#include "krb5-auth-tools.h"
+#include "ka-tools.h"
void
ka_show_help (GdkScreen* screen, const char* chapter, GtkWindow* window)
@@ -55,4 +55,3 @@ ka_show_help (GdkScreen* screen, const char* chapter, GtkWindow* window)
}
g_free (url);
}
-
diff --git a/src/krb5-auth-tools.h b/src/ka-tools.h
index ef777e6..f97791b 100644
--- a/src/krb5-auth-tools.h
+++ b/src/ka-tools.h
@@ -18,8 +18,8 @@
*
*/
-#ifndef KRB5_AUTH_TOOLS
-#define KRB5_AUTH_TOOLS
+#ifndef KA_TOOLS
+#define KA_TOOLS
#include <gtk/gtk.h>
@@ -30,4 +30,3 @@ void ka_show_help (GdkScreen* screen, const char* section, GtkWindow* window);
G_END_DECLS
#endif
-
diff --git a/src/krb5-auth-dialog.schemas.in b/src/krb5-auth-dialog.schemas.in
index f8c7348..bb59f8e 100644
--- a/src/krb5-auth-dialog.schemas.in
+++ b/src/krb5-auth-dialog.schemas.in
@@ -142,5 +142,18 @@
<long>Notify user when ticket has expired</long>
</locale>
</schema>
+
+ <schema>
+ <key>/schemas/apps/krb5-auth-dialog/plugins/enabled</key>
+ <applyto>/apps/krb5-auth-dialog/plugins/enabled</applyto>
+ <owner>krb5-auth-dialog</owner>
+ <type>list</type>
+ <list_type>string</list_type>
+
+ <locale name="C">
+ <short>Enabled plugins</short>
+ <long>List of plugins that should be loaded and activated on startup.</long>
+ </locale>
+ </schema>
</schemalist>
</gconfschemafile>
bgstack15