diff options
author | Stef Walter <stefw@redhat.com> | 2014-08-30 07:32:23 +0200 |
---|---|---|
committer | Stef Walter <stefw@redhat.com> | 2014-09-13 08:32:03 +0200 |
commit | 8c9c1a8fcadff500bc39f71acb411763e7afbe3f (patch) | |
tree | 1cc99113c7cfe0ffffecb16de042f8331b32ee07 | |
parent | 1dedc7c174c65f9e1680e19b53c0f44295bd03c5 (diff) |
egg: Move file tracker code to egg/ directory
So that it can be used in other parts of gnome-keyring.
-rw-r--r-- | .gitignore | 2 | ||||
-rw-r--r-- | egg/Makefile.am | 6 | ||||
-rw-r--r-- | egg/egg-file-tracker.c (renamed from pkcs11/gkm/gkm-file-tracker.c) | 56 | ||||
-rw-r--r-- | egg/egg-file-tracker.h | 59 | ||||
-rw-r--r-- | egg/test-file-tracker.c (renamed from pkcs11/gkm/test-file-tracker.c) | 42 | ||||
-rw-r--r-- | pkcs11/gkm/Makefile.am | 6 | ||||
-rw-r--r-- | pkcs11/gkm/gkm-file-tracker.h | 61 | ||||
-rw-r--r-- | pkcs11/secret-store/gkm-secret-module.c | 17 | ||||
-rw-r--r-- | pkcs11/ssh-store/gkm-ssh-module.c | 17 | ||||
-rw-r--r-- | pkcs11/xdg-store/gkm-xdg-module.c | 16 |
10 files changed, 149 insertions, 133 deletions
@@ -100,6 +100,7 @@ depcomp /egg/tests/test-decimal /egg/tests/test-dh /egg/tests/test-dn +/egg/tests/test-file-tracker /egg/tests/test-hex /egg/tests/test-hkdf /egg/tests/test-oid @@ -122,7 +123,6 @@ depcomp /pkcs11/gkm/tests/test-credential /pkcs11/gkm/tests/test-data-asn1 /pkcs11/gkm/tests/test-data-der -/pkcs11/gkm/tests/test-file-tracker /pkcs11/gkm/tests/test-memory-store /pkcs11/gkm/tests/test-object /pkcs11/gkm/tests/test-secret diff --git a/egg/Makefile.am b/egg/Makefile.am index f4893578..1e3bc889 100644 --- a/egg/Makefile.am +++ b/egg/Makefile.am @@ -25,6 +25,7 @@ libegg_la_SOURCES = \ egg/egg-dh.c egg/egg-dh.h \ egg/egg-dn.c egg/egg-dn.h \ egg/egg-error.h \ + egg/egg-file-tracker.c egg/egg-file-tracker.h \ egg/egg-hex.c egg/egg-hex.h \ egg/egg-hkdf.c egg/egg-hkdf.h \ egg/egg-libgcrypt.c egg/egg-libgcrypt.h \ @@ -126,6 +127,7 @@ egg_LIBS = \ libegg.la \ $(LIBGCRYPT_LIBS) \ $(GTHREAD_LIBS) \ + $(GOBJECT_LIBS) \ $(GLIB_LIBS) egg_TESTS = \ @@ -142,6 +144,7 @@ egg_TESTS = \ test-armor \ test-openssl \ test-dh \ + test-file-tracker \ test-spawn test_asn1_SOURCES = egg/test-asn1.c egg/test.asn.h @@ -156,6 +159,9 @@ test_dn_LDADD = $(egg_LIBS) test_cleanup_SOURCES = egg/test-cleanup.c test_cleanup_LDADD = $(egg_LIBS) +test_file_tracker_SOURCES = egg/test-file-tracker.c +test_file_tracker_LDADD = $(egg_LIBS) + test_hex_SOURCES = egg/test-hex.c test_hex_LDADD = $(egg_LIBS) diff --git a/pkcs11/gkm/gkm-file-tracker.c b/egg/egg-file-tracker.c index 1df263b3..0dbfbef6 100644 --- a/pkcs11/gkm/gkm-file-tracker.c +++ b/egg/egg-file-tracker.c @@ -1,5 +1,5 @@ /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ -/* gkm-file-tracker.c - Watch for changes in a directory +/* egg-file-tracker.c - Watch for changes in a directory Copyright (C) 2008 Stefan Walter @@ -22,7 +22,7 @@ #include "config.h" -#include "gkm-file-tracker.h" +#include "egg-file-tracker.h" #include "egg/egg-error.h" @@ -34,11 +34,11 @@ #include <unistd.h> typedef struct _UpdateDescendants { - GkmFileTracker *tracker; + EggFileTracker *tracker; GHashTable *checks; } UpdateDescendants; -struct _GkmFileTracker { +struct _EggFileTracker { GObject parent; /* Specification */ @@ -60,7 +60,7 @@ enum { static guint signals[LAST_SIGNAL] = { 0 }; -G_DEFINE_TYPE (GkmFileTracker, gkm_file_tracker, G_TYPE_OBJECT); +G_DEFINE_TYPE (EggFileTracker, egg_file_tracker, G_TYPE_OBJECT); /* ----------------------------------------------------------------------------- * HELPERS @@ -76,14 +76,14 @@ copy_key_string (gpointer key, gpointer value, gpointer data) static void remove_files (gpointer key, gpointer value, gpointer data) { - GkmFileTracker *self = GKM_FILE_TRACKER (data); + EggFileTracker *self = EGG_FILE_TRACKER (data); g_hash_table_remove (self->files, key); g_signal_emit (self, signals[FILE_REMOVED], 0, key); } static gboolean -update_file (GkmFileTracker *self, gboolean force_all, const gchar *path) +update_file (EggFileTracker *self, gboolean force_all, const gchar *path) { time_t old_mtime; struct stat sb; @@ -116,7 +116,7 @@ update_each_file (gpointer key, gpointer unused, gpointer data) } static void -update_directory (GkmFileTracker *self, gboolean force_all, GHashTable *checks) +update_directory (EggFileTracker *self, gboolean force_all, GHashTable *checks) { UpdateDescendants uctx; struct stat sb; @@ -127,7 +127,7 @@ update_directory (GkmFileTracker *self, gboolean force_all, GHashTable *checks) int ret, lasterr; g_assert (checks); - g_assert (GKM_IS_FILE_TRACKER (self)); + g_assert (EGG_IS_FILE_TRACKER (self)); if (!self->directory_path) return; @@ -208,15 +208,15 @@ update_directory (GkmFileTracker *self, gboolean force_all, GHashTable *checks) */ static void -gkm_file_tracker_init (GkmFileTracker *self) +egg_file_tracker_init (EggFileTracker *self) { self->files = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL); } static void -gkm_file_tracker_finalize (GObject *obj) +egg_file_tracker_finalize (GObject *obj) { - GkmFileTracker *self = GKM_FILE_TRACKER (obj); + EggFileTracker *self = EGG_FILE_TRACKER (obj); if (self->include) g_pattern_spec_free (self->include); @@ -226,43 +226,43 @@ gkm_file_tracker_finalize (GObject *obj) g_hash_table_destroy (self->files); - G_OBJECT_CLASS (gkm_file_tracker_parent_class)->finalize (obj); + G_OBJECT_CLASS (egg_file_tracker_parent_class)->finalize (obj); } static void -gkm_file_tracker_class_init (GkmFileTrackerClass *klass) +egg_file_tracker_class_init (EggFileTrackerClass *klass) { GObjectClass *gobject_class; gobject_class = (GObjectClass*) klass; - gkm_file_tracker_parent_class = g_type_class_peek_parent (klass); - gobject_class->finalize = gkm_file_tracker_finalize; + egg_file_tracker_parent_class = g_type_class_peek_parent (klass); + gobject_class->finalize = egg_file_tracker_finalize; - signals[FILE_ADDED] = g_signal_new ("file-added", GKM_TYPE_FILE_TRACKER, - G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET (GkmFileTrackerClass, file_added), + signals[FILE_ADDED] = g_signal_new ("file-added", EGG_TYPE_FILE_TRACKER, + G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET (EggFileTrackerClass, file_added), NULL, NULL, g_cclosure_marshal_VOID__STRING, G_TYPE_NONE, 1, G_TYPE_STRING); - signals[FILE_CHANGED] = g_signal_new ("file-changed", GKM_TYPE_FILE_TRACKER, - G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET (GkmFileTrackerClass, file_changed), + signals[FILE_CHANGED] = g_signal_new ("file-changed", EGG_TYPE_FILE_TRACKER, + G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET (EggFileTrackerClass, file_changed), NULL, NULL, g_cclosure_marshal_VOID__STRING, G_TYPE_NONE, 1, G_TYPE_STRING); - signals[FILE_REMOVED] = g_signal_new ("file-removed", GKM_TYPE_FILE_TRACKER, - G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET (GkmFileTrackerClass, file_removed), + signals[FILE_REMOVED] = g_signal_new ("file-removed", EGG_TYPE_FILE_TRACKER, + G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET (EggFileTrackerClass, file_removed), NULL, NULL, g_cclosure_marshal_VOID__STRING, G_TYPE_NONE, 1, G_TYPE_STRING); } -GkmFileTracker* -gkm_file_tracker_new (const gchar *directory, const gchar *include, const gchar *exclude) +EggFileTracker* +egg_file_tracker_new (const gchar *directory, const gchar *include, const gchar *exclude) { - GkmFileTracker *self; + EggFileTracker *self; const gchar *homedir; g_return_val_if_fail (directory, NULL); - self = g_object_new (GKM_TYPE_FILE_TRACKER, NULL); + self = g_object_new (EGG_TYPE_FILE_TRACKER, NULL); /* TODO: Use properties */ @@ -284,11 +284,11 @@ gkm_file_tracker_new (const gchar *directory, const gchar *include, const gchar } void -gkm_file_tracker_refresh (GkmFileTracker *self, gboolean force_all) +egg_file_tracker_refresh (EggFileTracker *self, gboolean force_all) { GHashTable *checks; - g_return_if_fail (GKM_IS_FILE_TRACKER (self)); + g_return_if_fail (EGG_IS_FILE_TRACKER (self)); /* Copy into our check set */ checks = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL); diff --git a/egg/egg-file-tracker.h b/egg/egg-file-tracker.h new file mode 100644 index 00000000..9ce2f9b9 --- /dev/null +++ b/egg/egg-file-tracker.h @@ -0,0 +1,59 @@ +/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ +/* egg-file-tracker.h - Watch for changes in a directory + + Copyright (C) 2008, Stefan Walter + + The Gnome Keyring Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The Gnome Keyring Library 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 + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the Gnome Library; see the file COPYING.LIB. If not, + <http://www.gnu.org/licenses/>. + + Author: Stef Walter <stef@memberwebs.com> +*/ + +#ifndef __EGG_FILE_TRACKER_H__ +#define __EGG_FILE_TRACKER_H__ + +#include <glib-object.h> + +G_BEGIN_DECLS + +#define EGG_TYPE_FILE_TRACKER (egg_file_tracker_get_type ()) +#define EGG_FILE_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EGG_TYPE_FILE_TRACKER, EggFileTracker)) +#define EGG_FILE_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), EGG_TYPE_FILE_TRACKER, GObject)) +#define EGG_IS_FILE_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EGG_TYPE_FILE_TRACKER)) +#define EGG_IS_FILE_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EGG_TYPE_FILE_TRACKER)) +#define EGG_FILE_TRACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), EGG_TYPE_FILE_TRACKER, EggFileTrackerClass)) + +typedef struct _EggFileTracker EggFileTracker; +typedef struct _EggFileTrackerClass EggFileTrackerClass; + +struct _EggFileTrackerClass { + GObjectClass parent_class; + + void (*file_added) (EggFileTracker *locmgr, const gchar *path); + void (*file_changed) (EggFileTracker *locmgr, const gchar *path); + void (*file_removed) (EggFileTracker *locmgr, const gchar *path); +}; + +GType egg_file_tracker_get_type (void) G_GNUC_CONST; + +EggFileTracker* egg_file_tracker_new (const gchar *directory, + const gchar *include_pattern, + const gchar *exclude_pattern); + +void egg_file_tracker_refresh (EggFileTracker *self, + gboolean force_all); + +G_END_DECLS + +#endif /* __EGG_FILE_TRACKER_H__ */ diff --git a/pkcs11/gkm/test-file-tracker.c b/egg/test-file-tracker.c index 4853e6ab..926b4485 100644 --- a/pkcs11/gkm/test-file-tracker.c +++ b/egg/test-file-tracker.c @@ -27,7 +27,7 @@ #include <string.h> #include <unistd.h> -#include "gkm/gkm-file-tracker.h" +#include "egg/egg-file-tracker.h" #include <glib/gstdio.h> @@ -36,7 +36,7 @@ #define WILDCARD "*.woo?" typedef struct { - GkmFileTracker *the_tracker; + EggFileTracker *the_tracker; gchar *test_dir; gchar *test_file; guint n_files_added; @@ -48,7 +48,9 @@ typedef struct { } Test; static void -file_added (GkmFileTracker *tracker, const gchar *path, gpointer user_data) +file_added (EggFileTracker *tracker, + const gchar *path, + gpointer user_data) { Test *test = user_data; @@ -60,7 +62,9 @@ file_added (GkmFileTracker *tracker, const gchar *path, gpointer user_data) } static void -file_changed (GkmFileTracker *tracker, const gchar *path, gpointer user_data) +file_changed (EggFileTracker *tracker, + const gchar *path, + gpointer user_data) { Test *test = user_data; @@ -72,7 +76,9 @@ file_changed (GkmFileTracker *tracker, const gchar *path, gpointer user_data) } static void -file_removed (GkmFileTracker *tracker, const gchar *path, gpointer user_data) +file_removed (EggFileTracker *tracker, + const gchar *path, + gpointer user_data) { Test *test = user_data; @@ -99,7 +105,7 @@ setup (Test *test, gconstpointer unused) /* Make a test directory */ test->test_dir = g_build_filename ("/tmp", SUBDIR, NULL); - test->the_tracker = gkm_file_tracker_new (test->test_dir, WILDCARD, NULL); + test->the_tracker = egg_file_tracker_new (test->test_dir, WILDCARD, NULL); g_signal_connect (test->the_tracker, "file-added", G_CALLBACK (file_added), test); g_signal_connect (test->the_tracker, "file-removed", G_CALLBACK (file_removed), test); g_signal_connect (test->the_tracker, "file-changed", G_CALLBACK (file_changed), test); @@ -124,7 +130,7 @@ static void test_file_watch (Test *test, gconstpointer unused) { /* A watch for an non-existant directory, should have no responses */ - gkm_file_tracker_refresh (test->the_tracker, FALSE); + egg_file_tracker_refresh (test->the_tracker, FALSE); g_assert_cmpint (0, ==, test->n_files_added); g_assert_cmpint (0, ==, test->n_files_changed); @@ -133,7 +139,7 @@ test_file_watch (Test *test, gconstpointer unused) g_mkdir_with_parents (test->test_dir, 0700); /* Should still have no responses even though it exists */ - gkm_file_tracker_refresh (test->the_tracker, FALSE); + egg_file_tracker_refresh (test->the_tracker, FALSE); g_assert_cmpint (0, ==, test->n_files_added); g_assert_cmpint (0, ==, test->n_files_changed); @@ -146,7 +152,7 @@ test_watch_file (Test *test, gconstpointer unused) gboolean ret; /* Make sure things are clean */ - gkm_file_tracker_refresh (test->the_tracker, FALSE); + egg_file_tracker_refresh (test->the_tracker, FALSE); test->n_files_added = test->n_files_changed = test->n_files_removed = 0; test->last_file_added = test->last_file_changed = test->last_file_removed = 0; @@ -155,7 +161,7 @@ test_watch_file (Test *test, gconstpointer unused) g_assert (ret); /* Now make sure that file is located */ - gkm_file_tracker_refresh (test->the_tracker, FALSE); + egg_file_tracker_refresh (test->the_tracker, FALSE); g_assert_cmpint (1, ==, test->n_files_added); g_assert_cmpint (0, ==, test->n_files_changed); @@ -168,13 +174,13 @@ test_watch_file (Test *test, gconstpointer unused) sleep (1); /* Shouldn't find the file again */ - gkm_file_tracker_refresh (test->the_tracker, FALSE); + egg_file_tracker_refresh (test->the_tracker, FALSE); g_assert_cmpint (0, ==, test->n_files_added); g_assert_cmpint (0, ==, test->n_files_changed); g_assert_cmpint (0, ==, test->n_files_removed); /* But we should find the file if forced to */ - gkm_file_tracker_refresh (test->the_tracker, TRUE); + egg_file_tracker_refresh (test->the_tracker, TRUE); g_assert_cmpint (0, ==, test->n_files_added); g_assert_cmpint (1, ==, test->n_files_changed); g_assert_cmpint (0, ==, test->n_files_removed); @@ -186,7 +192,7 @@ test_watch_file (Test *test, gconstpointer unused) g_assert (ret); /* File was updated */ - gkm_file_tracker_refresh (test->the_tracker, FALSE); + egg_file_tracker_refresh (test->the_tracker, FALSE); g_assert_cmpint (0, ==, test->n_files_added); g_assert_cmpint (1, ==, test->n_files_changed); g_assert_cmpint (0, ==, test->n_files_removed); @@ -196,7 +202,7 @@ test_watch_file (Test *test, gconstpointer unused) g_unlink (test->test_file); /* Now file should be removed */ - gkm_file_tracker_refresh (test->the_tracker, FALSE); + egg_file_tracker_refresh (test->the_tracker, FALSE); g_assert_cmpint (0, ==, test->n_files_added); g_assert_cmpint (0, ==, test->n_files_changed); @@ -219,7 +225,7 @@ test_nomatch (Test *test, gconstpointer unused) file_reset_stats (test); /* Now make sure that file is not located */ - gkm_file_tracker_refresh (test->the_tracker, FALSE); + egg_file_tracker_refresh (test->the_tracker, FALSE); g_assert_cmpint (0, ==, test->n_files_added); g_assert_cmpint (0, ==, test->n_files_changed); @@ -237,9 +243,9 @@ main (int argc, char **argv) #endif g_test_init (&argc, &argv, NULL); - g_test_add ("/gkm/file-tracker/file_watch", Test, NULL, setup, test_file_watch, teardown); - g_test_add ("/gkm/file-tracker/watch_file", Test, NULL, setup, test_watch_file, teardown); - g_test_add ("/gkm/file-tracker/nomatch", Test, NULL, setup, test_nomatch, teardown); + g_test_add ("/egg/file-tracker/file_watch", Test, NULL, setup, test_file_watch, teardown); + g_test_add ("/egg/file-tracker/watch_file", Test, NULL, setup, test_watch_file, teardown); + g_test_add ("/egg/file-tracker/nomatch", Test, NULL, setup, test_nomatch, teardown); return g_test_run (); } diff --git a/pkcs11/gkm/Makefile.am b/pkcs11/gkm/Makefile.am index 65d27d75..949aec3d 100644 --- a/pkcs11/gkm/Makefile.am +++ b/pkcs11/gkm/Makefile.am @@ -46,8 +46,6 @@ libgkm_la_SOURCES = \ pkcs11/gkm/gkm-dsa-mechanism.h \ pkcs11/gkm/gkm-factory.c \ pkcs11/gkm/gkm-factory.h \ - pkcs11/gkm/gkm-file-tracker.c \ - pkcs11/gkm/gkm-file-tracker.h \ pkcs11/gkm/gkm-generic-key.c \ pkcs11/gkm/gkm-generic-key.h \ pkcs11/gkm/gkm-hkdf-mechanism.c \ @@ -151,7 +149,6 @@ gkm_TESTS = \ test-credential \ test-data-asn1 \ test-data-der \ - test-file-tracker \ test-memory-store \ test-object \ test-certificate \ @@ -173,9 +170,6 @@ test_data_asn1_LDADD = $(gkm_LIBS) test_data_der_SOURCES = pkcs11/gkm/test-data-der.c test_data_der_LDADD = $(gkm_LIBS) -test_file_tracker_SOURCES = pkcs11/gkm/test-file-tracker.c -test_file_tracker_LDADD = $(gkm_LIBS) - test_memory_store_SOURCES = pkcs11/gkm/test-memory-store.c test_memory_store_LDADD = $(gkm_LIBS) diff --git a/pkcs11/gkm/gkm-file-tracker.h b/pkcs11/gkm/gkm-file-tracker.h deleted file mode 100644 index 63a45160..00000000 --- a/pkcs11/gkm/gkm-file-tracker.h +++ /dev/null @@ -1,61 +0,0 @@ -/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ -/* gkm-file-tracker.h - Watch for changes in a directory - - Copyright (C) 2008, Stefan Walter - - The Gnome Keyring Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public License as - published by the Free Software Foundation; either version 2 of the - License, or (at your option) any later version. - - The Gnome Keyring Library 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 - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with the Gnome Library; see the file COPYING.LIB. If not, - <http://www.gnu.org/licenses/>. - - Author: Stef Walter <stef@memberwebs.com> -*/ - -#ifndef __GKM_FILE_TRACKER_H__ -#define __GKM_FILE_TRACKER_H__ - -#include <glib-object.h> - -#include "gkm-file-tracker.h" - -G_BEGIN_DECLS - -#define GKM_TYPE_FILE_TRACKER (gkm_file_tracker_get_type ()) -#define GKM_FILE_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GKM_TYPE_FILE_TRACKER, GkmFileTracker)) -#define GKM_FILE_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GKM_TYPE_FILE_TRACKER, GObject)) -#define GKM_IS_FILE_TRACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GKM_TYPE_FILE_TRACKER)) -#define GKM_IS_FILE_TRACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GKM_TYPE_FILE_TRACKER)) -#define GKM_FILE_TRACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GKM_TYPE_FILE_TRACKER, GkmFileTrackerClass)) - -typedef struct _GkmFileTracker GkmFileTracker; -typedef struct _GkmFileTrackerClass GkmFileTrackerClass; - -struct _GkmFileTrackerClass { - GObjectClass parent_class; - - void (*file_added) (GkmFileTracker *locmgr, const gchar *path); - void (*file_changed) (GkmFileTracker *locmgr, const gchar *path); - void (*file_removed) (GkmFileTracker *locmgr, const gchar *path); -}; - -GType gkm_file_tracker_get_type (void) G_GNUC_CONST; - -GkmFileTracker* gkm_file_tracker_new (const gchar *directory, - const gchar *include_pattern, - const gchar *exclude_pattern); - -void gkm_file_tracker_refresh (GkmFileTracker *self, - gboolean force_all); - -G_END_DECLS - -#endif /* __GKM_FILE_TRACKER_H__ */ diff --git a/pkcs11/secret-store/gkm-secret-module.c b/pkcs11/secret-store/gkm-secret-module.c index d31cd6ad..06a053d7 100644 --- a/pkcs11/secret-store/gkm-secret-module.c +++ b/pkcs11/secret-store/gkm-secret-module.c @@ -29,10 +29,11 @@ #include "gkm/gkm-credential.h" #define DEBUG_FLAG GKM_DEBUG_STORAGE #include "gkm/gkm-debug.h" -#include "gkm/gkm-file-tracker.h" #include "gkm/gkm-transaction.h" #include "gkm/gkm-util.h" +#include "egg/egg-file-tracker.h" + #include <glib/gstdio.h> #include <errno.h> @@ -41,7 +42,7 @@ struct _GkmSecretModule { GkmModule parent; - GkmFileTracker *tracker; + EggFileTracker *tracker; GHashTable *collections; gchar *directory; GkmCredential *session_credential; @@ -198,7 +199,9 @@ identifier_to_new_filename (GkmSecretModule *self, const gchar *identifier) static void -on_file_load (GkmFileTracker *tracker, const gchar *path, GkmSecretModule *self) +on_file_load (EggFileTracker *tracker, + const gchar *path, + GkmSecretModule *self) { GkmSecretCollection *collection; GkmManager *manager; @@ -252,7 +255,9 @@ on_file_load (GkmFileTracker *tracker, const gchar *path, GkmSecretModule *self) } static void -on_file_remove (GkmFileTracker *tracker, const gchar *path, GkmSecretModule *self) +on_file_remove (EggFileTracker *tracker, + const gchar *path, + GkmSecretModule *self) { GkmSecretCollection *collection; @@ -295,7 +300,7 @@ gkm_secret_module_real_refresh_token (GkmModule *base) { GkmSecretModule *self = GKM_SECRET_MODULE (base); if (self->tracker) - gkm_file_tracker_refresh (self->tracker, FALSE); + egg_file_tracker_refresh (self->tracker, FALSE); return CKR_OK; } @@ -397,7 +402,7 @@ gkm_secret_module_constructor (GType type, guint n_props, GObjectConstructParam self->directory = gkm_util_locate_keyrings_directory (); gkm_debug ("secret store directory: %s", self->directory); - self->tracker = gkm_file_tracker_new (self->directory, "*.keyring", NULL); + self->tracker = egg_file_tracker_new (self->directory, "*.keyring", NULL); g_signal_connect (self->tracker, "file-added", G_CALLBACK (on_file_load), self); g_signal_connect (self->tracker, "file-changed", G_CALLBACK (on_file_load), self); g_signal_connect (self->tracker, "file-removed", G_CALLBACK (on_file_remove), self); diff --git a/pkcs11/ssh-store/gkm-ssh-module.c b/pkcs11/ssh-store/gkm-ssh-module.c index c68adda2..e1be98f9 100644 --- a/pkcs11/ssh-store/gkm-ssh-module.c +++ b/pkcs11/ssh-store/gkm-ssh-module.c @@ -25,14 +25,13 @@ #include "gkm-ssh-public-key.h" #include "egg/egg-error.h" - -#include "gkm/gkm-file-tracker.h" +#include "egg/egg-file-tracker.h" #include <string.h> struct _GkmSshModule { GkmModule parent; - GkmFileTracker *tracker; + EggFileTracker *tracker; gchar *directory; GHashTable *keys_by_path; }; @@ -98,7 +97,9 @@ private_path_for_public (const gchar *public_path) } static void -file_load (GkmFileTracker *tracker, const gchar *path, GkmSshModule *self) +file_load (EggFileTracker *tracker, + const gchar *path, + GkmSshModule *self) { GkmSshPrivateKey *key; gchar *private_path; @@ -142,7 +143,9 @@ file_load (GkmFileTracker *tracker, const gchar *path, GkmSshModule *self) } static void -file_remove (GkmFileTracker *tracker, const gchar *path, GkmSshModule *self) +file_remove (EggFileTracker *tracker, + const gchar *path, + GkmSshModule *self) { g_return_if_fail (path); g_return_if_fail (GKM_IS_SSH_MODULE (self)); @@ -180,7 +183,7 @@ static CK_RV gkm_ssh_module_real_refresh_token (GkmModule *base) { GkmSshModule *self = GKM_SSH_MODULE (base); - gkm_file_tracker_refresh (self->tracker, FALSE); + egg_file_tracker_refresh (self->tracker, FALSE); return CKR_OK; } @@ -192,7 +195,7 @@ gkm_ssh_module_constructor (GType type, guint n_props, GObjectConstructParam *pr if (!self->directory) self->directory = g_strdup ("~/.ssh"); - self->tracker = gkm_file_tracker_new (self->directory, "*.pub", NULL); + self->tracker = egg_file_tracker_new (self->directory, "*.pub", NULL); g_signal_connect (self->tracker, "file-added", G_CALLBACK (file_load), self); g_signal_connect (self->tracker, "file-changed", G_CALLBACK (file_load), self); g_signal_connect (self->tracker, "file-removed", G_CALLBACK (file_remove), self); diff --git a/pkcs11/xdg-store/gkm-xdg-module.c b/pkcs11/xdg-store/gkm-xdg-module.c index e2588e1f..25541998 100644 --- a/pkcs11/xdg-store/gkm-xdg-module.c +++ b/pkcs11/xdg-store/gkm-xdg-module.c @@ -29,13 +29,13 @@ #include "egg/egg-asn1-defs.h" #include "egg/egg-dn.h" #include "egg/egg-error.h" +#include "egg/egg-file-tracker.h" #include "egg/egg-hex.h" #include "gkm/gkm-assertion.h" #include "gkm/gkm-certificate.h" #define DEBUG_FLAG GKM_DEBUG_STORAGE #include "gkm/gkm-debug.h" -#include "gkm/gkm-file-tracker.h" #include "gkm/gkm-serializable.h" #include "gkm/gkm-transaction.h" #include "gkm/gkm-util.h" @@ -48,7 +48,7 @@ struct _GkmXdgModule { GkmModule parent; gchar *directory; GHashTable *objects_by_path; - GkmFileTracker *tracker; + EggFileTracker *tracker; CK_TOKEN_INFO token_info; }; @@ -198,7 +198,9 @@ remove_object_from_module (GkmXdgModule *self, GkmObject *object, } static void -file_load (GkmFileTracker *tracker, const gchar *path, GkmXdgModule *self) +file_load (EggFileTracker *tracker, + const gchar *path, + GkmXdgModule *self) { GkmObject *object; GkmManager *manager; @@ -268,7 +270,9 @@ file_load (GkmFileTracker *tracker, const gchar *path, GkmXdgModule *self) } static void -file_remove (GkmFileTracker *tracker, const gchar *path, GkmXdgModule *self) +file_remove (EggFileTracker *tracker, + const gchar *path, + GkmXdgModule *self) { GkmObject *object; @@ -385,7 +389,7 @@ static CK_RV gkm_xdg_module_real_refresh_token (GkmModule *base) { GkmXdgModule *self = GKM_XDG_MODULE (base); - gkm_file_tracker_refresh (self->tracker, FALSE); + egg_file_tracker_refresh (self->tracker, FALSE); return CKR_OK; } @@ -513,7 +517,7 @@ gkm_xdg_module_constructor (GType type, guint n_props, GObjectConstructParam *pr if (!self->directory) self->directory = g_build_filename (g_get_user_data_dir (), "keystore", NULL); - self->tracker = gkm_file_tracker_new (self->directory, "*.*", NULL); + self->tracker = egg_file_tracker_new (self->directory, "*.*", NULL); g_signal_connect (self->tracker, "file-added", G_CALLBACK (file_load), self); g_signal_connect (self->tracker, "file-changed", G_CALLBACK (file_load), self); g_signal_connect (self->tracker, "file-removed", G_CALLBACK (file_remove), self); |