mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-05-15 22:58:18 +02:00
Due to limitations in dbus-glib, where one GObject cannot have more than one introspection XML object attached to it, we used to include more than one <interface> in the VPNConnection object introspection XML. This was suboptimal for two reasons: 1) it duplicated the Connection.Active introspection XML which made it harder for clients to use the introspection data in a dynamic fashion, besides looking ugly in the docs 2) not many other programs use this feature of dbus-glib, which means it didn't get a lot of testing, and broke, which sucks for NM. To fix this issue, create a base class for NMVpnConnection that handles the Connection.Active API, and make NMVpnConnection itself handle just the VPN pieces that it layers on top. This makes dbus-glib happy because we aren't using two <interface> blocks in the same introspection XML, and it makes the NM code more robust because we can re-use the existing Connection.Active introspection XML in the NMVpnConnectionBase class.
52 lines
1.4 KiB
Makefile
52 lines
1.4 KiB
Makefile
INCLUDES = \
|
|
-I${top_srcdir} \
|
|
-I${top_srcdir}/include \
|
|
-I${top_srcdir}/libnm-util \
|
|
-I${top_srcdir}/src/logging \
|
|
-I${top_srcdir}/src \
|
|
-I${top_builddir}/marshallers \
|
|
-I${top_srcdir}/src/dns-manager \
|
|
-DVPN_NAME_FILES_DIR=\""$(sysconfdir)/NetworkManager/VPN"\"
|
|
|
|
|
|
noinst_LTLIBRARIES = libvpn-manager.la
|
|
|
|
libvpn_manager_la_SOURCES = \
|
|
nm-vpn-manager.c \
|
|
nm-vpn-manager.h \
|
|
nm-vpn-service.c \
|
|
nm-vpn-service.h \
|
|
nm-vpn-connection-base.c \
|
|
nm-vpn-connection-base.h \
|
|
nm-vpn-connection.c \
|
|
nm-vpn-connection.h
|
|
|
|
libvpn_manager_la_CPPFLAGS = \
|
|
$(DBUS_CFLAGS) \
|
|
$(GLIB_CFLAGS) \
|
|
-DG_DISABLE_DEPRECATED
|
|
|
|
libvpn_manager_la_LIBADD = \
|
|
$(top_builddir)/marshallers/libmarshallers.la \
|
|
$(top_builddir)/src/logging/libnm-logging.la \
|
|
$(top_builddir)/libnm-util/libnm-util.la \
|
|
$(DBUS_LIBS) \
|
|
$(GLIB_LIBS)
|
|
|
|
nm-vpn-connection-base-glue.h: $(top_srcdir)/introspection/nm-active-connection.xml
|
|
$(AM_V_GEN) dbus-binding-tool --prefix=nm_vpn_connection_base --mode=glib-server --output=$@ $<
|
|
|
|
nm-vpn-connection-glue.h: $(top_srcdir)/introspection/nm-vpn-connection.xml
|
|
$(AM_V_GEN) dbus-binding-tool --prefix=nm_vpn_connection --mode=glib-server --output=$@ $<
|
|
|
|
nm-vpn-plugin-bindings.h: $(top_srcdir)/introspection/nm-vpn-plugin.xml
|
|
$(AM_V_GEN) dbus-binding-tool --prefix=nm_vpn_plugin --mode=glib-client --output=$@ $<
|
|
|
|
|
|
BUILT_SOURCES = \
|
|
nm-vpn-connection-base-glue.h \
|
|
nm-vpn-connection-glue.h \
|
|
nm-vpn-plugin-bindings.h
|
|
|
|
CLEANFILES = $(BUILT_SOURCES)
|
|
|