summaryrefslogtreecommitdiff
path: root/libnm/NetworkManager.h
Commit message (Collapse)AuthorAgeFilesLines
* libnm: include "nm-vpn-service-plugin.h" in "NetworkManager.h"Thomas Haller2016-01-271-0/+1
| | | | | | | | | | "nm-vpn-service-plugin.h" includes "nm-connection.h", so there is already no way to use "nm-vpn-service-plugin.h" without also pulling in all "NetworkManager.h". On the other hand, we might not include "nm-vpn-service-plugin.h" in "NetworkManager.h" to keep the overall headers small (by default). But let's just include it too. We already opted for convenience over small-include by having one top-level header file.
* libnm-core: add NMSettingVxlanBeniamino Galvani2015-12-091-0/+1
| | | | | Add a new NMSettingVxlan which describes properties of VXLAN connections.
* libnm-core: add NMSettingMacvlanBeniamino Galvani2015-12-091-0/+1
| | | | | The setting contains properties that are specific to macvlans and macvtaps.
* libnm-core: add NMSettingIPTunnelBeniamino Galvani2015-12-011-0/+1
| | | | | | | Add a generic NMSettingTunnel which describes properties of tunnels over IPv4 and IPv6 (GRE, SIT, IPIP, IPIP6, IP6GRE, etc.). Since those tunnel types all have similar properties it makes sense to have a single setting type for them.
* libnm-core: add NMSettingTunBeniamino Galvani2015-11-251-0/+1
| | | | | Add a new NMSettingTun which contains configuration properties for TUN/TAP interfaces.
* libnm: move NMVpnEditorPlugin to libnm-core/Thomas Haller2015-07-291-0/+1
| | | | | | | | | | | | | | | | | Split the content of libnm/nm-vpn-editor-plugin.h and move NMVpnEditorPlugin to libnm-core/nm-vpn-editor-plugin.h. VPN plugins allow us to extend functionality about VPNs. This can be also useful for NetworkManager core, hence move that part to libnm-core. The name NMVpnEditorPlugin is slightly misleading but not completely wrong. The "editor" part stands no longer for bringing nm-applet functionality (alone), but enable general VPN functionality in the client. Especially because we already have NMVpnPluginOld with a different meaning (i.e. a base class of the plugin server implementation).
* libnm: add NMVpnPluginInfo classThomas Haller2015-07-291-0/+1
| | | | | | | | | | | | | | | | | | NMVpnPluginInfo is little more then a wrapper around the GKeyFile that describes the VPN plugin settings, i.e. the name files under "/etc/NetworkManager/VPN/". Add this class to make the VPN API more explicit. Clients now can use NMVpnPluginInfo instead of concerning themselves with loading the keyfile and the meaning of its properties. Also add support for a new VPN plugins directory "/usr/lib/NetworkManager/VPN", which should replace "/etc/NetworkManager/VPN" in the future. But we have to consider both locations for backward compatibility. The content of the VPN directory is not user configuration, hence it should not be under "/etc". See related bug 738853.
* libnm: rename NMSecretAgent to NMSecretAgentOldDan Winship2014-11-211-1/+0
| | | | | | As with NMVpnPluginOld, rename NMSecretAgent to NMSecretAgentOld, to leave the name "NMSecretAgent" open for a new-and-improved version in NM 1.2.
* libnm: rename NMVpnPluginUiInterface, add to NetworkManager.hDan Winship2014-11-071-0/+1
| | | | | | | | | | | | | | | | Rename NMVpnPluginUiInterface to NMVpnEditorPlugin (to clarify that it's unrelated to NMVpnPlugin), and add it to NetworkManager.h. Rename NMVpnPluginUiWidgetInterface to NMVpnEditor, because it's not a widget, and will soon be used for non-gui editing too. (Also, add a placeholder for the method that non-gui editing will use.) Fix the typedefs to not mix up the (dummy) NMVpnEditorPlugin and NMVpnEditor types with the types of their interface structs. Update to use G_DEFINE_INTERFACE. Drop NMVpnPluginUiInterfaceProp; it doesn't matter what codes plugin implementations use for the interface properties that they implement.
* libnm: create NMDhcpConfig as parent of NMDhcp4Config and NMDhcp6ConfigDan Winship2014-11-071-2/+1
| | | | | As with NMIP4Config and NMIP6Config, merge the two DHCP config classes into one in the public API.
* libnm: create NMIPConfig as parent of NMIP4Config and NMIP6ConfigDan Winship2014-11-071-2/+1
| | | | | | | Create NMIPConfig as the parent of NMIP4Config and NMIP6Config, and remove the two subclasses from the public API; while it's convenient to still have both internally, they are now identical to the outside world.
* libnm-core, all: merge IPv4 and IPv6 address/route typesDan Winship2014-11-071-0/+1
| | | | | | Merge NMIP4Address and NMIP6Address into NMIPAddress, and NMIP4Route and NMIP6Route into NMIPRoute. The new types represent IP addresses as strings, rather than in binary, and so are address-family agnostic.
* libnm: merge NMRemoteSettings into NMClientDan Winship2014-10-101-1/+0
| | | | | Make NMRemoteSettings internal and have NMClient wrap all of its APIs, just like it does with NMManager.
* libnm: fix NMIP4Config/NMIP6Config addresses/routes propertiesDan Winship2014-09-041-1/+0
| | | | | | | | | | | | | | | | The docs for NMIP4Config:addresses and NMIP4Config:routes claimed that they were GPtrArrays of NMIP4Address/NMIP4Route, but get_property() was actually trying to set them the D-Bus representation type, and it was failing anyway because it used g_value_set_boxed() on a parameter that was declared GParamSpecPointer. Fix it to use a GPtrArray-valued property, and set it to the right thing. NMIP6Config did the right thing with its :addresses and :routes properties, but was using custom types (NM_TYPE_IP6_ADDRESS_OBJECT_ARRAY and NM_TYPE_IP6_ROUTE_OBJECT_ARRAY). Make it use G_TYPE_PTR_ARRAY instead. nm-types.c, nm-types.h, and nm-types-private.h are now empty, and so can be dropped.
* libnm-core, libnm, core: make NMConnection an interfaceDan Winship2014-08-161-0/+1
| | | | | | | | | | | | | | | | | | | | | | The fact that NMRemoteConnection has to be an NMConnection and therefore can't be an NMObject means that it needs to reimplement bits of NMObject functionality (and likewise NMObject needs some special magic to deal with it). Likewise, we will need a daemon-side equivalent of NMObject as part of the gdbus port, and we would want NMSettingsConnection to be able to inherit from this as well. Solve this problem by making NMConnection into an interface, and having NMRemoteConnection and NMSettingsConnection implement it. (We use some hacks to keep the GHashTable of NMSettings objects inside nm-connection.c rather than having to be implemented by the implementations.) Since NMConnection is no longer an instantiable type, this adds NMSimpleConnection to replace the various non-D-Bus-based uses of NMConnection throughout the code. nm_connection_new() becomes nm_simple_connection_new(), nm_connection_new_from_hash() becomes nm_simple_connection_new_from_hash(), and nm_connection_duplicate() becomes nm_simple_connection_new_clone().
* all: fix up multiple-include-guard definesDan Winship2014-08-161-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | Previously, src/nm-ip4-config.h, libnm/nm-ip4-config.h, and libnm-glib/nm-ip4-config.h all used "NM_IP4_CONFIG_H" as an include guard, which meant that nm-test-utils.h could not tell which of them was being included (and so, eg, if you tried to include nm-ip4-config.h in a libnm test, it would fail to compile because nm-test-utils.h was referring to symbols in src/nm-ip4-config.h). Fix this by changing the include guards in the non-API-stable parts of the tree: - libnm-glib/nm-ip4-config.h remains NM_IP4_CONFIG_H - libnm/nm-ip4-config.h now uses __NM_IP4_CONFIG_H__ - src/nm-ip4-config.h now uses __NETWORKMANAGER_IP4_CONFIG_H__ And likewise for all other headers. The two non-"nm"-prefixed headers, libnm/NetworkManager.h and src/NetworkManagerUtils.h are now __NETWORKMANAGER_H__ and __NETWORKMANAGER_UTILS_H__ respectively, which, while not entirely consistent with the general scheme, do still mostly make sense in isolation.
* libnm: add NetworkManager.h, disallow including individual headersDan Winship2014-08-011-0/+91
Add NetworkManager.h, which includes all of the other NM header, and require all external users of libnm to use that rather than the individual headers. (An exception is made for nm-dbus-interface.h, nm-vpn-dbus-interface.h, and nm-version.h, which can be included separately.)