mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-02-04 07:10:33 +01:00
Currently "src/" mostly contains the source code of the daemon. I say mostly, because that is not true, there are also the device, settings, wwan, ppp plugins, the initrd generator, the pppd and dhcp helper, and probably more. Also we have source code under libnm-core/, libnm/, clients/, and shared/ directories. That is all confusing. We should have one "src" directory, that contains subdirectories. Those subdirectories should contain individual parts (libraries or applications), that possibly have dependencies on other subdirectories. There should be a flat hierarchy of directories under src/, which contains individual modules. As the name "src/" is already taken, that prevents any sensible restructuring of the code. As a first step, move "src/" to "src/core/". This gives space to reorganize the code better by moving individual components into "src/". For inspiration, look at systemd's "src/" directory. https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/743
52 lines
2.2 KiB
C
52 lines
2.2 KiB
C
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
/*
|
|
* Søren Sandmann <sandmann@daimi.au.dk>
|
|
* Dan Williams <dcbw@redhat.com>
|
|
* Tambet Ingo <tambet@gmail.com>
|
|
* Copyright (C) 2007 - 2011, 2017 Red Hat, Inc.
|
|
* Copyright (C) 2008 Novell, Inc.
|
|
*/
|
|
|
|
#ifndef __NM_HOSTNAME_MANAGER_H__
|
|
#define __NM_HOSTNAME_MANAGER_H__
|
|
|
|
#define NM_TYPE_HOSTNAME_MANAGER (nm_hostname_manager_get_type())
|
|
#define NM_HOSTNAME_MANAGER(obj) \
|
|
(G_TYPE_CHECK_INSTANCE_CAST((obj), NM_TYPE_HOSTNAME_MANAGER, NMHostnameManager))
|
|
#define NM_HOSTNAME_MANAGER_CLASS(klass) \
|
|
(G_TYPE_CHECK_CLASS_CAST((klass), NM_TYPE_HOSTNAME_MANAGER, NMHostnameManagerClass))
|
|
#define NM_IS_HOSTNAME_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), NM_TYPE_HOSTNAME_MANAGER))
|
|
#define NM_IS_HOSTNAME_MANAGER_CLASS(klass) \
|
|
(G_TYPE_CHECK_CLASS_TYPE((klass), NM_TYPE_HOSTNAME_MANAGER))
|
|
#define NM_HOSTNAME_MANAGER_GET_CLASS(obj) \
|
|
(G_TYPE_INSTANCE_GET_CLASS((obj), NM_TYPE_HOSTNAME_MANAGER, NMHostnameManagerClass))
|
|
|
|
#define NM_HOSTNAME_MANAGER_HOSTNAME "hostname"
|
|
|
|
typedef struct _NMHostnameManager NMHostnameManager;
|
|
typedef struct _NMHostnameManagerClass NMHostnameManagerClass;
|
|
|
|
typedef void (*NMHostnameManagerSetHostnameCb)(const char *name,
|
|
gboolean result,
|
|
gpointer user_data);
|
|
|
|
GType nm_hostname_manager_get_type(void);
|
|
|
|
NMHostnameManager *nm_hostname_manager_get(void);
|
|
|
|
const char *nm_hostname_manager_get_hostname(NMHostnameManager *self);
|
|
|
|
char *nm_hostname_manager_read_hostname(NMHostnameManager *self);
|
|
|
|
gboolean nm_hostname_manager_write_hostname(NMHostnameManager *self, const char *hostname);
|
|
|
|
void nm_hostname_manager_set_transient_hostname(NMHostnameManager * self,
|
|
const char * hostname,
|
|
NMHostnameManagerSetHostnameCb cb,
|
|
gpointer user_data);
|
|
|
|
gboolean nm_hostname_manager_get_transient_hostname(NMHostnameManager *self, char **hostname);
|
|
|
|
gboolean nm_hostname_manager_validate_hostname(const char *hostname);
|
|
|
|
#endif /* __NM_HOSTNAME_MANAGER_H__ */
|