summaryrefslogtreecommitdiff
path: root/libnm/nm-types.h
Commit message (Collapse)AuthorAgeFilesLines
* libnm: add support for ovs-bridge devicesLubomir Rintel2017-10-301-0/+1
|
* libnm: add support for ovs-port devicesLubomir Rintel2017-10-301-0/+1
|
* libnm: add support for ovs-interface devicesLubomir Rintel2017-10-301-30/+31
|
* device: add NMDevicePPPBeniamino Galvani2017-08-051-0/+1
| | | | | | The new device type represents a PPP interface, and will implement the activation of new-style PPPoE connections, i.e. the ones that don't claim the parent device.
* include: use double-quotes to include our own headersThomas Haller2017-03-091-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In practice, this should only matter when there are multiple header files with the same name. That is something we try to avoid already, by giving headers a distinct name. When building NetworkManager itself, we clearly want to use double-quotes for including our own headers. But we also want to do that in our public headers. For example: ./a.c #include <stdio.h> #include <nm-1.h> void main() { printf ("INCLUDED %s/nm-2.h\n", SYMB); } ./1/nm-1.h #include <nm-2.h> ./1/nm-2.h #define SYMB "1" ./2/nm-2.h #define SYMB "2" $ cc -I./2 -I./1 ./a.c $ ./a.out INCLUDED 2/nm-2.h Exceptions to this are - headers in "shared/nm-utils" that include <NetworkManager.h>. These headers are copied into projects and hence used like headers owned by those projects. - examples/C
* core: add support for dummy devicesBeniamino Galvani2017-02-221-0/+1
| | | | | | | Add support for creating dummy devices. This commit adds a D-Bus interface 'org.freedesktop.NetworkManager.Device.Dummy' which is used primarily for determining the device type but does not carry any properties.
* core,libnm: introduce NMDeviceMacsecBeniamino Galvani2017-01-161-0/+1
| | | | | At the moment the device only exposes the current link status, but cannot create new links.
* libnm: add NMDeviceVxlanBeniamino Galvani2015-12-091-0/+1
|
* libnm: add NMDeviceMacvlanBeniamino Galvani2015-12-091-0/+1
|
* libnm: add NMDeviceIPTunnelBeniamino Galvani2015-12-011-0/+1
|
* libnm: add NMDeviceTunBeniamino Galvani2015-11-251-0/+1
|
* 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, docs: docs fixesDan Winship2014-11-071-2/+0
| | | | | | | | | | Update the docs build to include and exclude the correct files. Fill in some missing documentation, and fix problems in the existing docs. (In particular, "<" can't appear as a literal in documentation, so change it to "&lt;". Also, "PKCS#12" has to be written as "PKCS#<!-- -->12", or gtk-doc will think "#12" is a reference to a type named "12".)
* libnm: rename NMVpnPluginUiInterface, add to NetworkManager.hDan Winship2014-11-071-0/+2
| | | | | | | | | | | | | | | | 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: add nm-types.h, to avoid include loopsDan Winship2014-10-101-0/+56
| | | | | Add nm-types.h defining all the type structs, to avoid future include loops. Clean up the includes in all of the installed headers.
* libnm: fix NMIP4Config/NMIP6Config addresses/routes propertiesDan Winship2014-09-041-43/+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: drop libnm IP-address-array types, use G_TYPE_STRVDan Winship2014-09-041-6/+0
| | | | | | Make NMIP4Config:nameservers, NMIP4Config:wins-servers, and NMIP6Config:nameservers be G_TYPE_STRV, with stringified IP addresses, and update the APIs accordingly.
* libnm: drop NM_TYPE_OBJECT_ARRAY, use G_TYPE_PTR_ARRAYDan Winship2014-09-041-3/+0
| | | | | | | | | | | | | Use G_TYPE_PTR_ARRAY for GPtrArray-of-NMObject-valued properties, because it has better introspection/bindings support. As with the strdict change in libnm-core, we need to manually copy the array in get_property() implementations, to preserve the standard semantics that get_property() returns a copy, not the internal array. (This patch also changes those properties so that they are always non-NULL until dispose(); previously some of them could be either NULL or 0-length at different times.)
* libnm: drop NM_TYPE_SSID, use G_TYPE_BYTESDan Winship2014-09-041-3/+0
| | | | | Make NMAccessPoint:ssid be G_TYPE_BYTES and update the corresponding APIs accordingly.
* libnm: drop NM_TYPE_STRING_ARRAY, use G_TYPE_STRVDan Winship2014-09-041-3/+0
| | | | | Make NMIP4Config and NMIP6Config's array-of-string properties be G_TYPE_STRV, and update the corresponding APIs accordingly.
* 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/+4
| | | | | | | | | | 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.)
* libnm: add libnm/libnm-core (part 2)Dan Winship2014-08-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | This fixes up the code from the previous "clean" import, and adds build infrastructure. [There are two slightly orthogonal sets of changes in this patch. First, the files added in the previous commit were modified as followed: # Replace internal references to "libnm-util" and "libnm-glib" with "libnm" perl -pi -e 's/libnm-(util|glib)/libnm/;' libnm-core/*.[ch] libnm-core/tests/*.[ch] libnm/*.[ch] libnm/tests/*.[ch] # Fix includes of the enum-types files perl -pi -e 's/nm-utils-enum-types/nm-core-enum-types/;' libnm-core/*.[ch] libnm-core/tests/*.[ch] libnm/*.[ch] libnm/tests/*.[ch] perl -pi -e 's/nm-glib-enum-types/nm-enum-types/;' libnm/*.[ch] libnm/tests/*.[ch] # Fix some python example code perl -pi -e 's/import NMClient/import NM/;' -e 's/NMClient.Client\(\)/NM.Client()/;' libnm/nm-client.c Then, the build infrastructure was added (without further modifying any existing files in libnm-core or libnm.) Note: to regenerate libnm.ver after rebase: (head -2 libnm-util/libnm-util.ver; (grep -h '\s'nm_ libnm-util/libnm-util.ver libnm-glib/libnm-glib.ver | env LANG=C sort); tail -3 libnm-util/libnm-util.ver) > libnm/libnm.ver ]
* libnm: add libnm/libnm-core (part 1)Dan Winship2014-08-011-0/+54
This commit begins creating the new "libnm", which will replace libnm-util and libnm-glib. The main reason for the libnm-util/libnm-glib split is that the daemon needs to link to libnm-util (to get NMSettings, NMConnection, etc), but can't link to libnm-glib (because it uses many of the same type names as the NetworkManager daemon. eg, NMDevice). So the daemon links to only libnm-util, but basically all clients link to both. With libnm, there will be only a single client-visible library, and NetworkManager will internally link against a private "libnm-core" containing the parts that used to be in libnm-util. (The "libnm-core" parts still need to be in their own directory so that the daemon can see those header files without also seeing the ones in libnm/ that conflict with its own headers.) [This commit just copies the source code from libnm-util/ to libnm-core/, and libnm-glib/ to libnm/: mkdir -p libnm-core/tests/ mkdir -p libnm/tests/ cp libnm-util/*.[ch] libnm-util/nm-version.h.in libnm-core/ rm -f libnm-core/nm-version.h libnm-core/nm-setting-template.[ch] libnm-core/nm-utils-enum-types.[ch] cp libnm-util/tests/*.[ch] libnm-core/tests/ cp libnm-glib/*.[ch] libnm/ rm -f libnm/libnm_glib.[ch] libnm/libnm-glib-test.c libnm/nm-glib-enum-types.[ch] cp libnm-glib/tests/*.[ch] libnm/tests/ ]