Merge pull request #90 from ebassi/introspection

Introspection
tingping/wmclass
Alexander Larsson 2015-12-04 11:42:47 +01:00
commit 1ba476bcbe
6 changed files with 106 additions and 4 deletions

2
.gitignore vendored
View File

@ -49,3 +49,5 @@ lib/xdg-app-version-macros.h
xdg-app.pc
lib/xdg-app-enum-types.c
lib/xdg-app-enum-types.h
test-libxdg-app
XdgApp-1.0.*

View File

@ -3,6 +3,7 @@ NULL =
bin_PROGRAMS = $(NULL)
noinst_PROGRAMS = $(NULL)
libexec_PROGRAMS = $(NULL)
CLEANFILES = $(NULL)
DISTCLEANFILES= $(NULL)
BUILT_SOURCES = $(NULL)

View File

@ -192,6 +192,8 @@ if test x$enable_documentation = xyes; then
fi
AM_CONDITIONAL(BUILD_DOCUMENTATION, test x$enable_documentation = xyes)
GOBJECT_INTROSPECTION_CHECK([1.40.0])
##################################################
# Visibility handling
##################################################

View File

@ -37,9 +37,7 @@ lib/xdg-app-enum-types.c: $(public_headers) lib/xdg-app-enum-types.c.template
xdgappincludedir = $(includedir)/xdg-app
xdgappinclude_HEADERS = $(public_headers) $(generated_public_headers)
libxdg_app_la_SOURCES = \
$(public_headers) \
$(generated_public_headers) \
sources = \
lib/xdg-app.c \
lib/xdg-app-enum-types.c \
lib/xdg-app-ref.c \
@ -50,8 +48,14 @@ libxdg_app_la_SOURCES = \
lib/xdg-app-installation.c \
$(NULL)
libxdg_app_la_SOURCES = \
$(public_headers) \
$(generated_public_headers) \
$(sources) \
$(NULL)
libxdg_app_la_CFLAGS = \
$(HIDDEN_VISIBILITY_CFLAGS) \
$(HIDDEN_VISIBILITY_CFLAGS) \
-DXDG_APP_COMPILATION \
-I$(top_srcdir)/lib \
-I$(top_builddir)/lib \
@ -88,3 +92,37 @@ test_libxdg_app_LDADD = \
$(BASE_LIBS) \
libxdg-app.la \
$(NULL)
# gobject-introspection rules
-include $(INTROSPECTION_MAKEFILE)
INTROSPECTION_GIRS =
if HAVE_INTROSPECTION
XdgApp-1.0.gir: libxdg-app.la Makefile
introspected_headers = $(public_headers)
introspected_sources = $(filter-out %-private.h,$(sources))
XdgApp_1_0_gir_NAMESPACE = XdgApp
XdgApp_1_0_gir_VERSION = 1.0
XdgApp_1_0_gir_LIBS = libxdg-app.la
XdgApp_1_0_gir_FILES = $(introspected_headers) $(introspected_sources)
XdgApp_1_0_gir_CFLAGS = $(libxdg_app_la_CFLAGS)
XdgApp_1_0_gir_INCLUDES = GObject-2.0 Gio-2.0
XdgApp_1_0_gir_SCANNERFLAGS = \
--warn-all \
--c-include='xdg-app.h' \
--pkg-export=xdg-app
INTROSPECTION_GIRS += XdgApp-1.0.gir
girdir = $(datadir)/gir-1.0
nodist_gir_DATA = $(INTROSPECTION_GIRS)
CLEANFILES += $(nodist_gir_DATA)
typelibdir = $(libdir)/girepository-1.0
nodist_typelib_DATA = $(INTROSPECTION_GIRS:.gir=.typelib)
CLEANFILES += $(nodist_typelib_DATA)
endif # HAVE_INTROSPECTION

View File

@ -174,6 +174,20 @@ get_ref (XdgAppInstallation *self,
is_current);
}
/**
* xdg_app_installation_get_installed_ref:
* @self: a #XdgAppInstallation
* @kind: ...
* @name: ...
* @arch: ...
* @version: ...
* @cancellable: (nullable): a #GCancellable
* @error: return location for a #GError
*
* ...
*
* Returns: (transfer full): ...
*/
XdgAppInstalledRef *
xdg_app_installation_get_installed_ref (XdgAppInstallation *self,
XdgAppRefKind kind,
@ -208,6 +222,17 @@ xdg_app_installation_get_installed_ref (XdgAppInstallation *self,
return get_ref (self, ref, cancellable);
}
/**
* xdg_app_installation_get_current_installed_app:
* @self: a #XdgAppInstallation
* @name: the name of the app
* @cancellable: (nullable): a #GCancellable
* @error: return location for a #GError
*
* ...
*
* Returns: (transfer full): ...
*/
XdgAppInstalledRef *
xdg_app_installation_get_current_installed_app (XdgAppInstallation *self,
const char *name,
@ -233,6 +258,18 @@ xdg_app_installation_get_current_installed_app (XdgAppInstallation *self,
return get_ref (self, current, cancellable);
}
/**
* xdg_app_installation_list_installed_refs:
* @self: a #XdgAppInstallation
* @kind: the kind of installation
* @cancellable: (nullable): a #GCancellable
* @error: return location for a #GError
*
* Lists the installed references.
*
* Returns: (transfer full) (array zero-terminated=1): an array of
* #XdgAppInstalledRef instances
*/
XdgAppInstalledRef **
xdg_app_installation_list_installed_refs (XdgAppInstallation *self,
XdgAppRefKind kind,
@ -258,6 +295,17 @@ xdg_app_installation_list_installed_refs (XdgAppInstallation *self,
return (XdgAppInstalledRef **)g_ptr_array_free (g_steal_pointer (&refs), FALSE);
}
/**
* xdg_app_installation_list_remotes:
* @self: a #XdgAppInstallation
* @cancellable: (nullable): a #GCancellable
* @error: return location for a #GError
*
* Lists the remotes.
*
* Returns: (transfer full) (array zero-terminated=1): an array of
* #XdgAppRemote instances
*/
XdgAppRemote **
xdg_app_installation_list_remotes (XdgAppInstallation *self,
GCancellable *cancellable,

View File

@ -198,6 +198,17 @@ get_ref (XdgAppRemote *self,
NULL);
}
/**
* xdg_app_remote_list_refs:
* @self: a #XdgAppRemove
* @cancellable: (nullable): a #GCancellable
* @error: return location for a #GError
*
* Lists all the refs in a #XdgAppRemote.
*
* Returns: (transfer full) (array zero-terminated=1): a %NULL-terminated array
* of #XdgAppRef instances
*/
XdgAppRef **
xdg_app_remote_list_refs (XdgAppRemote *self,
GCancellable *cancellable,