[epiphany] Forgot to add ephy-password-info.[ch] in previous commit



commit d1f78bf4247f3d1733d4a5f48b922c1bf9db04d0
Author: Xan Lopez <xan gnome org>
Date:   Sun Aug 9 09:24:25 2009 +0300

    Forgot to add ephy-password-info.[ch] in previous commit

 src/ephy-password-info.c |   64 ++++++++++++++++++++++++++++++++++++++++++++++
 src/ephy-password-info.h |   49 +++++++++++++++++++++++++++++++++++
 2 files changed, 113 insertions(+), 0 deletions(-)
---
diff --git a/src/ephy-password-info.c b/src/ephy-password-info.c
new file mode 100644
index 0000000..09591d5
--- /dev/null
+++ b/src/ephy-password-info.c
@@ -0,0 +1,64 @@
+/*
+ *  Copyright © 2009 Holger Hans Peter Freyther
+ *
+ *  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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+#include "config.h"
+
+#include "ephy-password-info.h"
+
+#include <gnome-keyring-memory.h>
+
+
+static EphyPasswordInfo*
+password_info_copy (EphyPasswordInfo *info)
+{
+  EphyPasswordInfo *other = g_slice_new0 (EphyPasswordInfo);
+
+  other->keyring_id = info->keyring_id;
+  other->secret = gnome_keyring_memory_strdup (info->secret);
+  return other;
+}
+
+static void
+password_info_free (EphyPasswordInfo *info)
+{
+  gnome_keyring_memory_free (info->secret);
+  g_slice_free (EphyPasswordInfo, info);
+}
+
+GType
+ephy_password_info_get_type (void)
+{
+  static volatile gsize type_volatile = 0;
+  if (g_once_init_enter (&type_volatile)) {
+    GType type = g_boxed_type_register_static(
+            g_intern_static_string ("EphyTypePasswordInfo"),
+        (GBoxedCopyFunc) password_info_copy,
+        (GBoxedFreeFunc) password_info_free);
+    g_once_init_leave (&type_volatile, type);
+  }
+  return type_volatile;
+}
+
+EphyPasswordInfo
+*ephy_password_info_new (guint32 key_id)
+{
+  EphyPasswordInfo *info = g_slice_new0 (EphyPasswordInfo);
+
+  info->keyring_id = key_id;
+  return info;
+}
diff --git a/src/ephy-password-info.h b/src/ephy-password-info.h
new file mode 100644
index 0000000..a7309c7
--- /dev/null
+++ b/src/ephy-password-info.h
@@ -0,0 +1,49 @@
+/*
+ *  Copyright © 2009 Holger Hans Peter Freyther
+ *
+ *  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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#if !defined (__EPHY_EPIPHANY_H_INSIDE__) && !defined (EPIPHANY_COMPILATION)
+#error "Only <epiphany/epiphany.h> can be included directly."
+#endif
+
+#ifndef EPHY_PASSWORD_INFO_H
+#define EPHY_PASSWORD_INFO_H
+
+#include <glib-object.h>
+
+G_BEGIN_DECLS
+
+#define EPHY_TYPE_PASSWORD_INFO    (ephy_password_info_get_type ())
+
+/*
+ * Password Data for Gnome Keyring. We keep track of the
+ * key_id and the password in secured memory.
+ */
+typedef struct _EphyPasswordInfo EphyPasswordInfo;
+
+struct _EphyPasswordInfo {
+  guint32 keyring_id;
+  char *secret;
+};
+
+GType ephy_password_info_get_type (void) G_GNUC_CONST;
+EphyPasswordInfo *ephy_password_info_new (guint32);
+
+G_END_DECLS
+
+#endif



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]