summaryrefslogtreecommitdiff
path: root/shared/nm-libnm-core-aux
Commit message (Collapse)AuthorAgeFilesLines
* libnm: mark NMTeamLinkWatcher arguments as const in APIThomas Haller2019-05-232-8/+8
| | | | | | | | | NMTeamLinkWatcher is immutable, meaning there is no way to change an existing instance (aside increasing/decreasing the ref-count). Hence, all API is implicitly const. Still, mark the arguments as const.
* shared: fix invalid assertion in nm_utils_team_link_watcher_from_string()Thomas Haller2019-05-231-3/+4
| | | | Fixes: a473ab431af4 ('cli: refactor team-link-watcher to/from strings')
* dispatcher: look for the scripts in /usr/lib as wellLubomir Rintel2019-04-291-5/+0
| | | | | This makes it possible for packages that ship dispatcher scripts to use the correct location.
* cli: refactor team-link-watcher to/from stringsThomas Haller2019-04-252-121/+333
| | | | | | | | Stricter parsing of the string: - reject attributes that don't make sense depending on the type. - reject duplicate attributes.
* shared: fix to/from string of vlanid and missed-max values for NMTeamLinkWatcherThomas Haller2019-04-251-2/+7
| | | | | | | | | | | | | | | | The vlanid and missed-max values have non-zero default values. That is what nm_utils_team_link_watcher_from_string() honors. Note that nm_utils_team_link_watcher_to_string() must omit printing the value only if it's the default value too. Otherwise, these values are not preserved during a to string conversion and back. Maybe a better fix would be to always print the values, regardless of the default value. But arguably, that is quite ugly because in most cases we don't want to cluter the string output with values that are left at the default.
* shared: fix missing space printing "send-always" flag of NMTeamLinkWatcherThomas Haller2019-04-251-1/+1
|
* cli,shared: move NMTeamLinkWatcher to/from string function to ↵Thomas Haller2019-04-252-0/+162
| | | | | | | | | | | | | "nm-libnm-core-aux.h" to/from string functions are useful. We should be able to reuse them. Move them to their own location. Also, it moves independent code out of "clients/common/nm-meta-setting-desc.c" which is already one of the largest source files we have. Also, it makes the code unit-testable, which is obviously required as the code has bugs.
* shared: add "nm-libnm-core-aux/nm-libnm-core-aux.h"Thomas Haller2019-04-252-0/+47
|
* shared: build helper "libnm-libnm-core-{intern|aux}.la" library for libnm-coreThomas Haller2019-04-181-0/+65
"libnm-core" implements common functionality for "NetworkManager" and "libnm". Note that clients like "nmcli" cannot access the internal API provided by "libnm-core". So, if nmcli wants to do something that is also done by "libnm-core", , "libnm", or "NetworkManager", the code would have to be duplicated. Instead, such code can be in "libnm-libnm-core-{intern|aux}.la". Note that: 0) "libnm-libnm-core-intern.la" is used by libnm-core itsself. On the other hand, "libnm-libnm-core-aux.la" is not used by libnm-core, but provides utilities on top of it. 1) they both extend "libnm-core" with utlities that are not public API of libnm itself. Maybe part of the code should one day become public API of libnm. On the other hand, this is code for which we may not want to commit to a stable interface or which we don't want to provide as part of the API. 2) "libnm-libnm-core-intern.la" is statically linked by "libnm-core" and thus directly available to "libnm" and "NetworkManager". On the other hand, "libnm-libnm-core-aux.la" may be used by "libnm" and "NetworkManager". Both libraries may be statically linked by libnm clients (like nmcli). 3) it must only use glib, libnm-glib-aux.la, and the public API of libnm-core. This is important: it must not use "libnm-core/nm-core-internal.h" nor "libnm-core/nm-utils-private.h" so the static library is usable by nmcli which couldn't access these. Note that "shared/nm-meta-setting.c" is an entirely different case, because it behaves differently depending on whether linking against "libnm-core" or the client programs. As such, this file must be compiled twice. (cherry picked from commit af07ed01c04867e281cc3982a7ab0d244d4f8e2e)