Using libsecret in builds or scripts
C: Compiling with libsecret
Like other GNOME libraries, libsecret uses pkg-config
to provide compiler
options. The package name is libsecret-1
. So in your configure.ac
script,you
might specify something like:
PKG_CHECK_MODULES(LIBSECRET, [libsecret-1 >= 1.0])
AC_SUBST(LIBSECRET_CFLAGS)
AC_SUBST(LIBSECRET_LIBS)
Code using libsecret should include the header like this:
#include <libsecret/secret.h>
Including individual headers besides the main header files is not permitted and will cause an error.
Some parts of the libsecret API are not yet stable. To use them you need use the
libsecret-unstable
package. The API contained in this package will change from
time to time. Here’s how you would do it:
PKG_CHECK_MODULES(LIBSECRET, [libsecret-unstable >= 1.0])
AC_SUBST(LIBSECRET_CFLAGS)
AC_SUBST(LIBSECRET_LIBS)
Javascript: Importing libsecret
In Javascript use the standard introspection import mechanism to get at libsecret:
const Secret = imports.gi.Secret;
// ... and here's a sample line of code which uses the import
var schema = new Secret.Schema.new("org.mock.Schema",
Secret.SchemaFlags.NONE, { "name", Secret.SchemaAttributeType.STRING });
Python: Importing libsecret
In python use the standard introspection import mechanism to get at libsecret:
from gi.repository import Secret
# ... and a here's sample line of code which uses the import
schema = Secret.Schema.new("org.mock.Schema",
Secret.SchemaFlags.NONE, { "name", Secret.SchemaAttributeType.STRING })
Vala: Compiling with libsecret
The package name is libsecret-1
. You can use it like
this in your Makefile.am
file:
AM_VALAFLAGS = \
--pkg=libsecret-1
Some parts of the libsecret API are not yet stable.
To use them you need to define the SECRET_WITH_UNSTABLE
C preprocessor
macro to use them, or else the build will fail:
AM_CPPFLAGS = \
-DSECRET_WITH_UNSTABLE=1