summaryrefslogtreecommitdiff
path: root/libsecret/secret-schemas.c
diff options
context:
space:
mode:
authorStef Walter <stefw@gnome.org>2012-07-13 10:32:36 +0200
committerStef Walter <stefw@gnome.org>2012-07-13 10:40:25 +0200
commit5cc30b2b68f551506bd9bbbe1306a24009e14eca (patch)
treec1695c2920e4cf8645ab6b4f7dc05a9514bb8356 /libsecret/secret-schemas.c
parent931f677c7ac8af0a6ebed2e3ef7472a7076bc8be (diff)
downloadlibsecret-5cc30b2b68f551506bd9bbbe1306a24009e14eca.tar.gz
Rename the library subdirectory to libsecret
* Death by a thousand paper cuts from gir and vapi not liking the fact that the secret.h file was not usable uninstalled and installed in the same way.
Diffstat (limited to 'libsecret/secret-schemas.c')
-rw-r--r--libsecret/secret-schemas.c79
1 files changed, 79 insertions, 0 deletions
diff --git a/libsecret/secret-schemas.c b/libsecret/secret-schemas.c
new file mode 100644
index 0000000..34798d0
--- /dev/null
+++ b/libsecret/secret-schemas.c
@@ -0,0 +1,79 @@
+/* libsecret - GLib wrapper for Secret Service
+ *
+ * Copyright 2012 Stef Walter
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published
+ * by the Free Software Foundation; either version 2.1 of the licence or (at
+ * your option) any later version.
+ *
+ * See the included COPYING file for more information.
+ *
+ * Author: Stef Walter <stefw@gnome.org>
+ */
+
+#include "config.h"
+
+#include "secret-schema.h"
+
+/**
+ * SECRET_SCHEMA_NOTE:
+ *
+ * A predefined schema for personal passwords stored by the user in the
+ * password manager. This schema has no attributes, and the items are not
+ * meant to be used automatically by applications.
+ */
+
+static const SecretSchema note_schema = {
+ "org.gnome.keyring.Note",
+ SECRET_SCHEMA_DONT_MATCH_NAME,
+ {
+ { "NULL", 0 },
+ }
+};
+
+const SecretSchema * SECRET_SCHEMA_NOTE = &note_schema;
+
+/**
+ * SECRET_SCHEMA_COMPAT_NETWORK:
+ *
+ * A predefined schema that is compatible with items stored via the
+ * libgnome-keyring 'network password' functions. This is meant to be used by
+ * applications migrating from libgnome-keyring which stored their secrets as
+ * 'network passwords'. It is not recommended that new code use this schema.
+ *
+ * The following attributes exist in the schema:
+ * <variablelist><title>Attributes:</title>
+ * <varlistentry><term><literal>user</literal>:</term>
+ * <listitem><para>The user name (string).</para></listitem></varlistentry>
+ * <varlistentry><term><literal>domain</literal>:</term>
+ * <listitem><para>The login domain or realm (string).</para></listitem></varlistentry>
+ * <varlistentry><term><literal>object</literal>:</term>
+ * <listitem><para>The object or path (string).</para></listitem></varlistentry>
+ * <varlistentry><term><literal>protocol</literal>:</term>
+ * <listitem><para>The protocol (a string like 'http').</para></listitem></varlistentry>
+ * <varlistentry><term><literal>port</literal>:</term>
+ * <listitem><para>The network port (integer).</para></listitem></varlistentry>
+ * <varlistentry><term><literal>server</literal>:</term>
+ * <listitem><para>The hostname or server (string).</para></listitem></varlistentry>
+ * <varlistentry><term><literal>authtype</literal>:</term>
+ * <listitem><para>The authentication type (string).</para></listitem></varlistentry>
+ * </variablelist>
+ */
+
+static const SecretSchema network_schema = {
+ "org.gnome.keyring.NetworkPassword",
+ SECRET_SCHEMA_DONT_MATCH_NAME,
+ {
+ { "user", SECRET_SCHEMA_ATTRIBUTE_STRING },
+ { "domain", SECRET_SCHEMA_ATTRIBUTE_STRING },
+ { "object", SECRET_SCHEMA_ATTRIBUTE_STRING },
+ { "protocol", SECRET_SCHEMA_ATTRIBUTE_STRING },
+ { "port", SECRET_SCHEMA_ATTRIBUTE_INTEGER },
+ { "server", SECRET_SCHEMA_ATTRIBUTE_STRING },
+ { "authtype", SECRET_SCHEMA_ATTRIBUTE_STRING },
+ { "NULL", 0 },
+ }
+};
+
+const SecretSchema * SECRET_SCHEMA_COMPAT_NETWORK = &network_schema;