summary refs log tree commit diff
path: root/src/vpn-manager/nm-vpn-connection.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/vpn-manager/nm-vpn-connection.h')
-rw-r--r--src/vpn-manager/nm-vpn-connection.h77
1 files changed, 44 insertions, 33 deletions
diff --git a/src/vpn-manager/nm-vpn-connection.h b/src/vpn-manager/nm-vpn-connection.h
index c9c88cda..0e63caac 100644
--- a/src/vpn-manager/nm-vpn-connection.h
+++ b/src/vpn-manager/nm-vpn-connection.h
@@ -19,21 +19,22 @@
  * Copyright (C) 2006 - 2008 Novell, Inc.
  */
 
-#ifndef NM_VPN_CONNECTION_H
-#define NM_VPN_CONNECTION_H
+#ifndef __NETWORKMANAGER_VPN_CONNECTION_H__
+#define __NETWORKMANAGER_VPN_CONNECTION_H__
 
 #include <glib.h>
 #include <glib-object.h>
-#include "NetworkManagerVPN.h"
+#include "nm-vpn-dbus-interface.h"
 #include "nm-device.h"
 #include "nm-auth-subject.h"
+#include "nm-active-connection.h"
 
 #define NM_TYPE_VPN_CONNECTION            (nm_vpn_connection_get_type ())
-#define NM_VPN_CONNECTION(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_VPN_CONNECTION, NMVPNConnection))
-#define NM_VPN_CONNECTION_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), NM_TYPE_VPN_CONNECTION, NMVPNConnectionClass))
+#define NM_VPN_CONNECTION(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), NM_TYPE_VPN_CONNECTION, NMVpnConnection))
+#define NM_VPN_CONNECTION_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), NM_TYPE_VPN_CONNECTION, NMVpnConnectionClass))
 #define NM_IS_VPN_CONNECTION(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NM_TYPE_VPN_CONNECTION))
 #define NM_IS_VPN_CONNECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NM_TYPE_VPN_CONNECTION))
-#define NM_VPN_CONNECTION_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_VPN_CONNECTION, NMVPNConnectionClass))
+#define NM_VPN_CONNECTION_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_VPN_CONNECTION, NMVpnConnectionClass))
 
 /* Properties */
 #define NM_VPN_CONNECTION_VPN_STATE "vpn-state"
@@ -41,52 +42,62 @@
 
 /* Signals */
 /* not exported: includes old reason code */
-#define NM_VPN_CONNECTION_INTERNAL_STATE_CHANGED "internal-state-changed"
+#define NM_VPN_CONNECTION_INTERNAL_STATE_CHANGED       "internal-state-changed"
+#define NM_VPN_CONNECTION_INTERNAL_RETRY_AFTER_FAILURE "internal-retry-after-failure"
 
 
-typedef struct {
+#define NM_VPN_ROUTE_METRIC_DEFAULT     50
+
+
+struct _NMVpnConnection {
 	NMActiveConnection parent;
-} NMVPNConnection;
+};
 
 typedef struct {
 	NMActiveConnectionClass parent;
 
 	/* Signals */
-	void (*vpn_state_changed) (NMVPNConnection *connection,
-	                           NMVPNConnectionState new_state,
-	                           NMVPNConnectionStateReason reason);
+	void (*vpn_state_changed) (NMVpnConnection *connection,
+	                           NMVpnConnectionState new_state,
+	                           NMVpnConnectionStateReason reason);
 
 	/* not exported over D-Bus */
-	void (*internal_state_changed) (NMVPNConnection *connection,
-	                                NMVPNConnectionState new_state,
-	                                NMVPNConnectionState old_state,
-	                                NMVPNConnectionStateReason reason);
-} NMVPNConnectionClass;
+	void (*internal_state_changed) (NMVpnConnection *connection,
+	                                NMVpnConnectionState new_state,
+	                                NMVpnConnectionState old_state,
+	                                NMVpnConnectionStateReason reason);
+
+	void (*internal_failed_retry)  (NMVpnConnection *connection);
+} NMVpnConnectionClass;
 
 GType nm_vpn_connection_get_type (void);
 
-NMVPNConnection * nm_vpn_connection_new (NMConnection *connection,
+NMVpnConnection * nm_vpn_connection_new (NMConnection *connection,
                                          NMDevice *parent_device,
                                          const char *specific_object,
                                          NMAuthSubject *subject);
 
-void                 nm_vpn_connection_activate        (NMVPNConnection *connection);
-NMConnection *       nm_vpn_connection_get_connection  (NMVPNConnection *connection);
-NMVPNConnectionState nm_vpn_connection_get_vpn_state   (NMVPNConnection *connection);
-const char *         nm_vpn_connection_get_banner      (NMVPNConnection *connection);
+void                 nm_vpn_connection_activate        (NMVpnConnection *connection);
+NMConnection *       nm_vpn_connection_get_connection  (NMVpnConnection *connection);
+const char*          nm_vpn_connection_get_connection_id (NMVpnConnection *connection);
+NMVpnConnectionState nm_vpn_connection_get_vpn_state   (NMVpnConnection *connection);
+const char *         nm_vpn_connection_get_banner      (NMVpnConnection *connection);
 
-gboolean             nm_vpn_connection_deactivate      (NMVPNConnection *connection,
-                                                        NMVPNConnectionStateReason reason,
+gboolean             nm_vpn_connection_deactivate      (NMVpnConnection *connection,
+                                                        NMVpnConnectionStateReason reason,
                                                         gboolean quitting);
-void                 nm_vpn_connection_disconnect      (NMVPNConnection *connection,
-                                                        NMVPNConnectionStateReason reason,
+void                 nm_vpn_connection_disconnect      (NMVpnConnection *connection,
+                                                        NMVpnConnectionStateReason reason,
                                                         gboolean quitting);
 
-NMIP4Config *        nm_vpn_connection_get_ip4_config  (NMVPNConnection *connection);
-NMIP6Config *        nm_vpn_connection_get_ip6_config  (NMVPNConnection *connection);
-const char *         nm_vpn_connection_get_ip_iface    (NMVPNConnection *connection);
-int                  nm_vpn_connection_get_ip_ifindex  (NMVPNConnection *connection);
-guint32              nm_vpn_connection_get_ip4_internal_gateway (NMVPNConnection *connection);
-struct in6_addr *    nm_vpn_connection_get_ip6_internal_gateway (NMVPNConnection *connection);
+NMIP4Config *        nm_vpn_connection_get_ip4_config  (NMVpnConnection *connection);
+NMIP6Config *        nm_vpn_connection_get_ip6_config  (NMVpnConnection *connection);
+const char *         nm_vpn_connection_get_ip_iface    (NMVpnConnection *connection);
+int                  nm_vpn_connection_get_ip_ifindex  (NMVpnConnection *connection);
+guint32              nm_vpn_connection_get_ip4_internal_gateway (NMVpnConnection *connection);
+struct in6_addr *    nm_vpn_connection_get_ip6_internal_gateway (NMVpnConnection *connection);
+
+guint32              nm_vpn_connection_get_ip4_route_metric (NMVpnConnection *connection);
+guint32              nm_vpn_connection_get_ip6_route_metric (NMVpnConnection *connection);
 
-#endif /* NM_VPN_CONNECTION_H */
+#endif /* __NETWORKMANAGER_VPN_CONNECTION_H__ */