Commit Graph

133 Commits

Author SHA1 Message Date
Dan Williams
54164f475b api: clean up NetworkManager.h
Make things enums, and explicitly enumerate the device types so we
don't have the same API breakage again as we did with the auto-merge
of the wimax code.
2011-02-14 16:37:50 -06:00
Dan Williams
5beb18ad09 api: fix API break due to WiMAX merge
Yeah, we broke API with 0.9, but this one was just pointless.
2011-02-14 16:37:50 -06:00
Dan Williams
f9ceafd4a1 Merge remote branch 'origin/master' into rm-userset 2011-01-12 15:46:37 -06:00
Dan Williams
bf98469b8d include: fix BT capability docs 2011-01-09 02:00:51 -06:00
Dan Williams
9e80c1e85d wimax: make WiMAX mostly work
Heavily modify Inaky's Intel WiMAX SDK glue (originally from connman)
to be more generic and more thread-safe, and suitable for use with
NetworkManager instead of rolling our own client code.  Rewrite the
NMDeviceWimax code to mostly work.

Still to be done: actual connection logic, DHCP handling, spawning
wimaxd if it's not started yet
2011-01-03 23:55:38 -06:00
Dan Williams
0587ef1179 Merge remote branch 'origin/master' into wimax 2011-01-02 17:24:23 -06:00
Dan Williams
1496f8056f libnm-glib: add secret agent base class 2010-12-14 00:03:22 -06:00
Dan Williams
a30cf19858 agent: add agent manager and minimal agent class 2010-12-10 12:38:19 -06:00
Dan Williams
6e287e4179 Merge remote branch 'origin/master' into rm-userset 2010-09-16 17:10:49 -05:00
Jiří Klimeš
b60a70217e trivial: fix cut&paste error in a comment 2010-09-03 14:15:41 +02:00
Daniel Gnoutcheff
f98e2528a6 NetworkMangerSettings -> NetworkManager.Settings
Just for consistency, make settings related stuff live under the
org.freedesktop.NetworkManager namespace, rather than its own
org.freedesktop.NetworkManagerSettings namespace. Renames are done for
DBus interface names, DBus object paths, and polkit actions.
2010-08-07 01:19:46 -04:00
Daniel Gnoutcheff
fb96309899 DBus: merge NetworkManger{,SystemSettings}
Remove the org.freedesktop.NetworkManagerSystemSettings bus name and
have everybody talk to org.freedesktop.NetworkManager. Now that we have
a single settings service that's embedded in the main daemon, we don't
need separate names anymore.
2010-08-07 01:19:46 -04:00
Daniel Gnoutcheff
da6816a03b nm-glib/DBus: merge nm-settings{,-system} iface
Much as with nm-remote-settings and nm-remote-settings-system, the
removal of user settings services means there is no more need for
separate interfaces for user and system settings services.

In libnm-glib, this commit merges everything in
nm-settings-system-interface into nm-settings-interface.  Alongside with
that, we merge everything in the
org.freedesktop.NetworkManagerSettings.System DBus interface into
org.freedesktop.NetworkManagerSettings.
2010-08-06 13:05:46 -04:00
Daniel Gnoutcheff
fa8c9304b5 libnm-*: remove user settings support
Remove code related to "connection scope" and such. Later, we will also
do lots of code flattening and simplification that's possible now that
user settings are gone.
2010-08-06 13:05:46 -04:00
Dan Williams
664ccd4464 Revert "core: fix compilation on glib < 2.23.4"
This reverts commit 8a1fe31b31.

This commit was not intended to be pushed, as it's not ready yet
and isn't even my commit (thus attribution is wrong).
2010-07-12 18:20:09 -07:00
Dan Williams
8a1fe31b31 core: fix compilation on glib < 2.23.4
Where G_FILE_MONITOR_EVENT_MOVED isn't defined yet.
2010-07-02 10:42:32 -07:00
Dan Williams
c4f3bf002b Merge remote branch 'origin/master' into wimax 2010-05-19 08:55:26 -07:00
Dan Williams
c8e23d36e3 core: add numeric reason codes for easier maintenance
Also makes it easier to keep the introspection and the C in sync.
2010-03-23 23:13:49 -07:00
Dan Williams
b95c390015 bluetooth: add timeout for bluetooth connection request 2010-03-23 23:07:17 -07:00
Dan Williams
c5eb684718 Merge remote branch 'origin/btdun' 2010-02-18 10:18:20 -08:00
Dan Williams
0a5a0146f8 bluetooth: finish DUN implementation 2010-01-28 11:21:53 -08:00
Dan Williams
4f537c195c libnm-glib: add NMDHCP6Config class 2010-01-15 12:40:19 -08:00
Tambet Ingo
75c734f1a9 wimax: Implement WiMAX support 2009-12-18 15:41:27 +02:00
Dan Williams
393bdd3737 core: generalize unavailable -> disconnected delayed transition
Instead of doing this in every device subclass, do it in the NMDevice
superclass.  nm_device_can_activate() already did the same logic that
each of the subclass device_state_changed() handlers were doing to
figure out whether they could do the transition from unavailable
to disconnected, so just use that in NMDevice and kill lots of code.
2009-09-14 13:24:29 -07:00
Dan Williams
222869a7ef include: number device activation stages in NetworkManager.h 2009-09-09 07:11:29 -07:00
Dan Williams
0877323e8d libnm-glib: add NMIP6Config object that proxies device's IP6 config 2009-08-20 11:30:52 -05:00
Dan Williams
38f732a721 Merge branch 'iscsi' 2009-08-10 15:52:28 -05:00
Dan Williams
78bb1c01b7 core: implement connection assumption
Mark activation requests that contain connections to be assumed,
and use that to short-circuit various parts of the activation
process by not touching various device attributes, since they
are already set up.  Also ensure the device is not deactivated
when it initially becomes managed, because that would kill the
connection we are about to assume.
2009-08-05 18:03:09 -04:00
Daniel Drake
ff88cf12c2 olpc: add mesh device logic and config setting 2009-08-05 16:34:02 -04:00
Dan Williams
1bb492935a bluetooth: fixes and addition of NMDeviceBt to libnm-glib 2009-07-10 10:45:24 -04:00
Dan Williams
7d88a87214 bluetooth: NMDeviceBt and associated fixes 2009-05-14 11:01:56 -04:00
Dan Williams
3f907cb9e3 License header and FSF address update 2008-12-20 09:46:41 -05:00
Dan Williams
f029b6f4e9 2008-10-22 Dan Williams <dcbw@redhat.com>
* include/NetworkManager.h
	  introspection/nm-device.xml
		- Add device state change reason for carrier changes

	* src/nm-device-ethernet.c
		- (set_carrier): use the carrier change reason when changing device
			state in response to carrier changes



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4203 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-22 13:35:07 +00:00
Dan Williams
f078992e4d 2008-10-11 Dan Williams <dcbw@redhat.com>
* include/NetworkManager.h
	  introspection/nm-device.xml
	  include/NetworkManagerVPN.h
		- Add a few more state reasons for the device deactivated state

	* src/nm-device-interface.c
	  src/nm-device-interface.h
		- (nm_device_interface_deactivate): add a 'reason' argument

	* src/nm-device.c
	  src/nm-device.h
		- (nm_device_deactivate, nm_device_take_down): add a 'reason' argument
		- (nm_device_state_changed): pass the state change reason to
			nm_device_take_down()
		- (nm_device_set_managed): take a 'reason' argument, and pass it along
			to the state change function

	* src/nm-manager.c
	  src/nm-manager.h
		- (remove_one_device, handle_unmanaged_devices, sync_devices,
		   impl_manager_sleep): pass a reason code to nm_device_set_managed()
		- (nm_manager_deactivate_connection): add a 'reason' argument and pass
			something reasonable along to VPN deactivation

	* src/vpn-manager/nm-vpn-manager.c
	  src/vpn-manager/nm-vpn-manager.h
		- (nm_vpn_manager_deactivate_connection): add a 'reason' argument and
			pass that along to nm_vpn_connection_disconnect()



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4174 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-10-11 19:57:45 +00:00
Dan Williams
728dccd92c 2008-08-18 Dan Williams <dcbw@redhat.com>
* include/NetworkManager.h
	  introspection/nm-device.xml
		- Add a "missing firmware" device state reason

	* src/NetworkManagerSystem.c
	  src/NetworkManagerSystem.h
		- (nm_system_device_set_up_down): add a no_firmware argument
		- (nm_system_device_set_up_down_with_iface): if the result of setting
			IFF_UP is ENOENT, that almost always means missing firmware

	* src/backends/NetworkManagerGeneric.c
	  src/nm-device-ethernet.c
	  src/nm-device-private.h
	  src/nm-device-wifi.c
	  src/nm-device.c
	  src/nm-device.h
	  src/nm-hso-gsm-device.c
	  src/vpn-manager/nm-vpn-connection.c
		- Pass no_firmware along; check it where appropriate



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3983 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-08-18 18:29:47 +00:00
Dan Williams
afe47b8d3a 2008-08-17 Dan Williams <dcbw@redhat.com>
* include/NetworkManager.h
	  introspection/nm-device.xml
	  src/nm-gsm-device.c
		- Finer-grained GSM registration failure error codes



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3978 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-08-17 23:41:41 +00:00
Dan Williams
881370ab2c 2008-08-07 Dan Williams <dcbw@redhat.com>
* include/NetworkManager.h
		- Add the DHCP4Config D-Bus interface

	* libnm-glib/Makefile.am
	  libnm-glib/nm-dhcp4-config.c
	  libnm-glib/nm-dhcp4-config.h
		- Handle DHCP4 config objects exported by NM over D-Bus

	* libnm-glib/nm-device.c
	  libnm-glib/nm-device.h
		- Add a 'dhcp4-config' property

	* libnm-glib/libnm-glib-test.c
		- Print out DHCP4 config for devices
		- Fix some crashes when no connections are active

	* src/nm-device-interface.c
	  src/nm-device.c
	  src/nm-dhcp4-config.c
	  src/nm-dhcp4-config.h
		- Treat dhcp4-config object as an object path at the D-Bus interface so
			that when it doesn't exist we can proxy it as "/" which dbus-glib
			doesn't let us do when the property type is G_TYPE_OBJECT



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3905 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-08-07 15:26:32 +00:00
Dan Williams
90099fd06e Add new state for shared connection service failure
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3827 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-07-17 15:17:25 +00:00
Dan Williams
95bb76aa7f 2008-07-11 Dan Williams <dcbw@redhat.com>
Modify the NMDevice::state-changed signal to include the previous state
	and reason. Enables the applet to provide more information why device
	activation failed.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3819 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-07-11 10:28:53 +00:00
Dan Williams
b0cf66eda8 2008-06-26 Dan Williams <dcbw@redhat.com>
* Update FSF address in license headers (Michael Biebl <biebl@debian.org>)



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3775 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-06-26 18:31:52 +00:00
Dan Williams
0fdb07ca3d 2008-06-10 Dan Williams <dcbw@redhat.com>
The grand 802-11-wireless rename.  Get rid of the 802-11/80211/802_11 bits
	and use "wifi" everwhere instead.



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3742 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-06-10 16:32:39 +00:00
Dan Williams
2b00116361 2008-06-10 Dan Williams <dcbw@redhat.com>
The grand 802-3-ethernet rename.  Get rid of the 802-3/8023/802_3 bits.



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3741 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-06-10 15:54:23 +00:00
Dan Williams
6919b29f11 2008-06-10 Dan Williams <dcbw@redhat.com>
Patch from Tambet Ingo <tambet@gmail.com>

	* src/ppp-manager/nm-ppp-manager.c: Add ppp stats monitoring, signal the
		changes.

	* src/nm-serial-device.c: Monitor "ppp-stats" signals from NMPPPManager. Add
		a signal to emit these changes over dbus.

	* src/Makefile.am: Genereate nm-serial-device-glue.

	* libnm-glib/nm-serial-device.[ch]: Implement.

	* libnm-glib/nm-cdma-device.[ch]
	  libnm-glib/nm-gsm-device.[ch]: Inherit from NMSerialDevice.

	* libnm-glib/Makefile.am: Add nm-serial-device.[ch].

	* introspection/nm-device-serial.xml: Implement.

	* introspection/all.xml: Fix a couple of typos, add nm-device-serial.xml.

	* introspection/Makefile.am: Add nm-device-serial.xml.

	* include/NetworkManager.h: Add a DBus interface for serial device.



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3740 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-06-10 14:59:22 +00:00
Dan Williams
4f421ef874 Fix syntax errors with enums in pedantic mode (Will Stephenson)
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3664 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-05-13 16:57:01 +00:00
Tambet Ingo
17f26b8d31 2008-05-05 Tambet Ingo <tambet@gmail.com>
* libnm-glib/nm-dbus-settings.c (constructor): Fix the
	"PropertiesChanged" signal signature.

	* libnm-glib/nm-dbus-connection.c (constructor): Use the common GType
	defined in nm-dbus-glib-types.h.
	Don't register the connection on dbus, we're a proxy class to
	communicate with an already registered connection over dbus.

2008-04-30  Tambet Ingo  <tambet@gmail.com>

	Implement new subclasses of NMSettings and NMExportedConnection to make
	it easier for the applet to access and modify system settings.

	* libnm-glib/nm-dbus-connection.[ch]:
	* libnm-glib/nm-dbus-settings.[ch]:
	* libnm-glib/nm-dbus-settings-system.[ch]: Implement.

	* libnm-glib/Makefile.am: Add the new files to build, generate some more
	bindings and glue.

	* include/NetworkManager.h: Define the system settings DBus interface.

2008-04-30  Tambet Ingo  <tambet@gmail.com>

	Implement additional C API for exported connections to make them identical
	with the DBus API. Change the (list_connections) virtual function to be
	more usable from C - instead of requiring implementers to return a GPtrArray
	of dbus paths, return a list of connections.

	* libnm-glib/nm-settings.c (nm_exported_connection_class_init): Fix a typo.
	(nm_settings_list_connections):
	(nm_exported_connection_new):
	(nm_exported_connection_update):
	(nm_exported_connection_delete): Implement.

	(impl_settings_list_connections):
	(impl_exported_connection_update):
	(impl_exported_connection_delete): Use the new public functions to make
	sure the C and dbus interfaces stay in sync.

	* system-settings/src/dbus-settings.c (list_connections): Return a list of
	connections.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3630 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-05-05 07:07:44 +00:00
Dan Williams
675d12263a 2008-04-21 Dan Williams <dcbw@redhat.com>
* include/NetworkManager.h
		- Add NMActiveConnectionState enum

	* introspection/nm-active-connection.xml
	  introspection/nm-vpn-connection.xml
		- Add 'State' property for overall active connection state
		- Add 'Default' property, when True means this active connection
			has the default route
		- Add PropertyChanged signals so changes actually go out over the bus

	* src/nm-active-connection.h
		- Add defines for State & Default properties

	* src/nm-activation-request.c
		- Add 'state' and 'default' properties, hook up to device 'state-changed'
			signal to determine active connection state

	* src/vpn-manager/nm-vpn-connection.c
	  src/vpn-manager/nm-vpn-connection.h
	  src/vpn-manager/nm-vpn-manager.c
	  src/vpn-manager/nm-vpn-service.c
		- Rename old 'state' to 'vpn-state'
		- Rename nm_vpn_connection_get_state() -> nm_vpn_connection_get_vpn_state()
		- Add 'state' and 'default' properties, hook up to the vpn connection's
			'vpn-state-changed' signal

	* libnm-glib/nm-active-connection.c
	  libnm-glib/nm-active-connection.h
		- Add new 'state' and 'default' properties and accessors

	* libnm-glib/nm-vpn-connection.c
	  libnm-glib/nm-vpn-connection.h
		- Rename old 'state' property to 'vpn-state'
		- Add new 'state' and 'default' properties and accessors



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3582 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-22 00:28:02 +00:00
Dan Williams
1e1c99afba 2008-04-15 Dan Williams <dcbw@redhat.com>
Remove exposure of wireless-tools mode types in the API.

	* include/NetworkManager.h
		- Define NM80211Mode enum

	* introspection/generic-types.xml
		- Describe NM_802_11_MODE enum
		- Remove IW_MODE_* enum

	* introspection/nm-access-point.xml
	  libnm-glib/nm-access-point.c
	  libnm-glib/nm-access-point.h
		- 'mode' is now of type NM80211Mode, a DBUS_TYPE_UINT

	* introspection/nm-device-802-11-wireless.xml
	  libnm-glib/nm-device-802-11-wireless.c
	  libnm-glib/nm-device-802-11-wireless.h
		- 'mode' is now of type NM80211Mode, a DBUS_TYPE_UINT

	* libnm-util/nm-setting-wireless.c
	  src/NetworkManagerAP.c
	  src/NetworkManagerAP.h
	  src/nm-device-802-11-wireless.c
	  src/nm-device-802-11-wireless.h
	  test/nm-tool.c
		- Use NM80211Mode not IW_MODE_*



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3562 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-15 20:39:34 +00:00
Dan Williams
54aac18883 2008-04-07 Dan Williams <dcbw@redhat.com>
* include/NetworkManager.h
		- Remove the DOWN and CANCELLED device states
		- Add UNMANAGED and UNAVAILABLE device states
		- Document the device states

	* introspection/nm-device.xml
	  src/nm-device-interface.c
	  src/nm-device-interface.h
		- Add the 'managed' property

	* test/nm-tool.c
		- (detail_device): print out device state

	* src/NetworkManagerSystem.h
	  src/backends/NetworkManagerArch.c
	  src/backends/NetworkManagerDebian.c
	  src/backends/NetworkManagerFrugalware.c
	  src/backends/NetworkManagerGentoo.c
	  src/backends/NetworkManagerMandriva.c
	  src/backends/NetworkManagerPaldo.c
	  src/backends/NetworkManagerRedHat.c
	  src/backends/NetworkManagerSlackware.c
	  src/backends/NetworkManagerSuSE.c
		- (nm_system_device_get_system_config, nm_system_device_get_disabled
		   nm_system_device_free_system_config): remove; they were unused and
			their functionality should be re-implemented in each distro's
			system settings service plugin 

	* src/nm-gsm-device.c
	  src/nm-gsm-device.h
	  src/nm-cdma-device.c
	  src/nm-cdma-device.h
		- (*_new): take the 'managed' argument

	* src/nm-device.c
		- (nm_device_set_address): remove, fold into nm_device_bring_up()
		- (nm_device_init): start in unmanaged state, not disconnected
		- (constructor): don't start device until the system settings service
			has had a chance to figure out if the device is managed or not
		- (nm_device_deactivate, nm_device_bring_up, nm_device_bring_down):
			don't set device state here, let callers handle that as appropriate
		- (nm_device_dispose): don't touch the device if it's not managed
		- (set_property, get_property, nm_device_class_init): implement the
			'managed' property
		- (nm_device_state_changed): bring the device up if its now managed,
			and deactivate it if it used to be active
		- (nm_device_get_managed, nm_device_set_managed): do the right thing
			with the managed state

	* src/nm-hal-manager.c
		- (wired_device_creator, wireless_device_creator, modem_device_creator):
			take initial managed state and pass it along to device constructors
		- (create_device_and_add_to_list): get managed state and pass to
			type creators

	* src/nm-device-802-11-wireless.c
		- (real_can_activate): fold in most of
			nm_device_802_11_wireless_can_activate()
		- (can_scan): can't scan in UNAVAILABLE or UNMANAGED
		- (link_timeout_cb): instead of deactivating, change device state and
			let the device state handler to it
		- (real_update_hw_address): clean up
		- (state_changed_cb): when entering UNAVAILABLE state, schedule an idle
			handler to transition to DISCONNECTED if the device isn't rfkilled

	* src/nm-device-802-3-ethernet.c
		- (set_carrier): move above callers and get rid of prototype
		- (device_state_changed): when entering UNAVAILABLE state, schedule an
			idle handler to transition to DISCONNECTED if the device has a
			carrier
		- (real_update_hw_address): clean up
		- (link_timeout_cb, ppp_state_changed): change state instead of calling
			deactivation directly as deactivation doesn't change state anymore

	* src/NetworkManagerPolicy.c
		- (schedule_activate_check): yay, remove wireless_enabled hack since
			the NMManager and wireless devices work that out themselves now
		- (device_state_changed): change to a switch and update for new device
			states
		- (device_carrier_changed): remove; device handles this now through
			state changes
		- (device_added): don't care about carrier any more; the initial
			activation check will happen when the device transitions to
			DISCONNECTED

	* src/nm-manager.c
		- (dispose): clear unmanaged devices
		- (handle_unmanaged_devices): update unmanaged device list and toggle
			the managed property on each device when needed
		- (system_settings_properties_changed_cb): handle signals from the
			system settings service
		- (system_settings_get_unmanaged_devices_cb): handle callback from
			getting the unmanaged device list method call
		- (query_unmanaged_devices): ask the system settings service for its
			list of unmanaged devices
		- (nm_manager_name_owner_changed, initial_get_connections): get unmanaged
			devices
		- (manager_set_wireless_enabled): push rfkill state down to wireless
			devices directly and let them handle the necessary state transitions
		- (manager_device_state_changed): update for new device states
		- (nm_manager_add_device): set initial rfkill state on wireless devices
		- (nm_manager_remove_device): don't touch the device if it's unmanaged
		- (nm_manager_activate_connection): return error if the device is
			unmanaged
		- (nm_manager_sleep): handle new device states correctly; don't change
			the state of unavailable/unmanaged devices

	* libnm-glib/nm-device-802-11-wireless.c
		- (state_changed_cb): update for new device states



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3540 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-04-08 02:58:02 +00:00
Dan Williams
31659eeb8d Remove unused constants
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3495 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-03-24 18:22:03 +00:00
Dan Williams
30b85fa9f4 clean up; remove NMI_DBUS_USER_KEY_CANCELED_ERROR since it's no longer used
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3488 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-03-23 14:47:11 +00:00