summaryrefslogtreecommitdiff
path: root/libnm/nm-remote-connection.h
blob: ce6eef993d0cac1a896a6b995ea254e703e8a965 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
// SPDX-License-Identifier: LGPL-2.1+
/*
 * Copyright (C) 2007 - 2008 Novell, Inc.
 * Copyright (C) 2007 - 2011 Red Hat, Inc.
 */

#ifndef __NM_REMOTE_CONNECTION_H__
#define __NM_REMOTE_CONNECTION_H__

#if !defined (__NETWORKMANAGER_H_INSIDE__) && !defined (NETWORKMANAGER_COMPILATION)
#error "Only <NetworkManager.h> can be included directly."
#endif

#include "nm-object.h"

G_BEGIN_DECLS

#define NM_TYPE_REMOTE_CONNECTION            (nm_remote_connection_get_type ())
#define NM_REMOTE_CONNECTION(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_REMOTE_CONNECTION, NMRemoteConnection))
#define NM_REMOTE_CONNECTION_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), NM_TYPE_REMOTE_CONNECTION, NMRemoteConnectionClass))
#define NM_IS_REMOTE_CONNECTION(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NM_TYPE_REMOTE_CONNECTION))
#define NM_IS_REMOTE_CONNECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NM_TYPE_REMOTE_CONNECTION))
#define NM_REMOTE_CONNECTION_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_REMOTE_CONNECTION, NMRemoteConnectionClass))

/* Properties */
#define NM_REMOTE_CONNECTION_DBUS_CONNECTION "dbus-connection"
#define NM_REMOTE_CONNECTION_PATH            "path"
#define NM_REMOTE_CONNECTION_UNSAVED         "unsaved"
#define NM_REMOTE_CONNECTION_FLAGS           "flags"
#define NM_REMOTE_CONNECTION_FILENAME        "filename"
#define NM_REMOTE_CONNECTION_VISIBLE         "visible"

/**
 * NMRemoteConnection:
 */
struct _NMRemoteConnection {
	NMObject parent;
};

typedef struct {
	NMObjectClass parent_class;

	/*< private >*/
	gpointer padding[8];
} NMRemoteConnectionClass;

GType nm_remote_connection_get_type (void);

NM_AVAILABLE_IN_1_12
void nm_remote_connection_update2 (NMRemoteConnection *connection,
                                   GVariant *settings,
                                   NMSettingsUpdate2Flags flags,
                                   GVariant *args,
                                   GCancellable *cancellable,
                                   GAsyncReadyCallback callback,
                                   gpointer user_data);
NM_AVAILABLE_IN_1_12
GVariant *nm_remote_connection_update2_finish (NMRemoteConnection *connection,
                                               GAsyncResult *result,
                                               GError **error);

_NM_DEPRECATED_SYNC_METHOD
gboolean nm_remote_connection_commit_changes        (NMRemoteConnection *connection,
                                                     gboolean save_to_disk,
                                                     GCancellable *cancellable,
                                                     GError **error);

void     nm_remote_connection_commit_changes_async  (NMRemoteConnection *connection,
                                                     gboolean save_to_disk,
                                                     GCancellable *cancellable,
                                                     GAsyncReadyCallback callback,
                                                     gpointer user_data);
gboolean nm_remote_connection_commit_changes_finish (NMRemoteConnection *connection,
                                                     GAsyncResult *result,
                                                     GError **error);

_NM_DEPRECATED_SYNC_METHOD
gboolean nm_remote_connection_save        (NMRemoteConnection *connection,
                                           GCancellable *cancellable,
                                           GError **error);

void     nm_remote_connection_save_async  (NMRemoteConnection *connection,
                                           GCancellable *cancellable,
                                           GAsyncReadyCallback callback,
                                           gpointer user_data);
gboolean nm_remote_connection_save_finish (NMRemoteConnection *connection,
                                           GAsyncResult *result,
                                           GError **error);

_NM_DEPRECATED_SYNC_METHOD
gboolean nm_remote_connection_delete        (NMRemoteConnection *connection,
                                             GCancellable *cancellable,
                                             GError **error);

void     nm_remote_connection_delete_async  (NMRemoteConnection *connection,
                                             GCancellable *cancellable,
                                             GAsyncReadyCallback callback,
                                             gpointer user_data);
gboolean nm_remote_connection_delete_finish (NMRemoteConnection *connection,
                                             GAsyncResult *result,
                                             GError **error);

_NM_DEPRECATED_SYNC_METHOD
GVariant *nm_remote_connection_get_secrets        (NMRemoteConnection *connection,
                                                   const char *setting_name,
                                                   GCancellable *cancellable,
                                                   GError **error);

void      nm_remote_connection_get_secrets_async  (NMRemoteConnection *connection,
                                                   const char *setting_name,
                                                   GCancellable *cancellable,
                                                   GAsyncReadyCallback callback,
                                                   gpointer user_data);
GVariant *nm_remote_connection_get_secrets_finish (NMRemoteConnection *connection,
                                                   GAsyncResult *result,
                                                   GError **error);

gboolean nm_remote_connection_get_unsaved (NMRemoteConnection *connection);

NM_AVAILABLE_IN_1_12
NMSettingsConnectionFlags nm_remote_connection_get_flags (NMRemoteConnection *connection);

NM_AVAILABLE_IN_1_12
const char *nm_remote_connection_get_filename (NMRemoteConnection *connection);

gboolean nm_remote_connection_get_visible (NMRemoteConnection *connection);

G_END_DECLS

#endif  /* __NM_REMOTE_CONNECTION__ */