Commit Graph

28 Commits

Author SHA1 Message Date
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
f7943baac4 Remove uneccessary array free
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3516 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-03-30 22:19:53 +00:00
Dan Williams
961e3e7bf7 2008-03-29 Dan Williams <dcbw@redhat.com>
* libnm-glib/nm-device-802-11-wireless.c
		- (access_point_added_proxy): create new APs if not found



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3512 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-03-29 20:07:30 +00:00
Dan Williams
c01b4c9e2e 2008-03-27 Dan Williams <dcbw@redhat.com>
* nm-object.c
		- (nm_object_queue_notify): don't notify multiple times for the same
			property

	* nm-object-private.h
		- (handle_ptr_array_return): return NULL if the given array is NULL or
			if it has zero elements

	* nm-ip4-config.c
		- (finalize): use g_ptr_array_foreach() when freeing domains
		- (nm_ip4_config_get_domains): use handle_ptr_array_return()

	* nm-active-connection.c
		- (nm_active_connection_get_devices): use handle_ptr_array_return()

	* nm-device-802-11-wireless.c
	  nm-device-802-11-wireless.h
		- (nm_device_802_11_wireless_get_access_points): return const; use
			handle_ptr_array_return()

	* nm-types.c
		- (nm_object_array_demarshal): always create an array, even of length
			zero, to distinguish between "NM returned no items" and "haven't
			asked NM yet"

	* nm-client.c
		- (dispose): free active connections too
		- (proxy_name_owner_changed): free active connections too when NM goes
			away
		- (nm_client_get_devices): return const; use handle_ptr_array_return()
		- (nm_client_get_active_connections): use handle_ptr_array_return()



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3506 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-03-27 14:10:43 +00:00
Dan Williams
56010ad03a 2008-03-25 Dan Williams <dcbw@redhat.com>
* libnm-glib/nm-ip4-config.c
	  libnm-glib/nm-active-connection.c
	  libnm-glib/nm-access-point.c
		- Use nm_object_queue_notify() instead of g_object_notify()

	* libnm-glib/nm-device.c
		- (demarshal_ip4_config): distinguish between successful but missing
			ip4-config request, and unsuccessful and missing ip4-config request
		- (nm_device_get_ip4_config): don't try to demarshal a NULL ip4-config
			path
		- Use nm_object_queue_notify() instead of g_object_notify()

	* libnm-glib/nm-device-802-11-wireless.c
		- (demarshal_active_ap): distinguish between successfull but missing
			active-ap request, and unsuccessful and missing active-ap request
		- (dispose, clean_up_aps): consolidate AP list and active AP clearing
			code
		- (nm_device_802_11_wireless_set_wireless_enabled): add a private hook
			for the NMClient to notify the device that wireless is disabled,
			and therefore to clear the AP list and active AP
		- Use nm_object_queue_notify() instead of g_object_notify()

	* libnm-glib/nm-client.c
		- (poke_wireless_devices_with_rf_status): new function
		- (update_wireless_status): notify wireless devices of the rfkill status
			so they can clean up if needed
		- Use nm_object_queue_notify() instead of g_object_notify()



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3502 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-03-25 12:41:17 +00:00
Dan Williams
4901747c77 Handle errors better when updating active AP
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3497 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-03-24 19:48:56 +00:00
Dan Williams
007351657f 2008-03-24 Dan Williams <dcbw@redhat.com>
Massive fixup of libnm-glib to:
	a) have all objects (with the exception of VPN) cache their properties and
		update them asynchronously on PropertiesChanged signals from NM
	b) return internal const data for most attributes/properties instead of
		allocated values that the caller must free
	c) cache wrapped objects such that a given D-Bus path will always map to the
		same GObject returned by libnm-glib
	d) remove a few signals and move them to GObject property notifications
	e) match recent NM D-Bus API changes for activation/deactivation
	f) remove some private functions from libnm-glib headers



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3491 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-03-24 15:17:30 +00:00
Dan Williams
a90c522da9 2008-03-14 Dan Williams <dcbw@redhat.com>
* include/wireless-helper.h
	  include/Makefile.am
		- One place for all the junk needed for #including wireless.h

	* test/nm-tool.c
	  src/NetworkManagerAP.c
	  src/wpa.c
	  src/Makefile.am
	  libnm-util/nm-utils.c
	  libnm-util/nm-setting-wireless.c
	  libnm-glib/nm-device-802-11-wireless.c
	  libnm-glib/nm-access-point.c
	  libnm-glib/libnm-glib-test.c
		- include wireless-helper.h, not iwlib.h

	* configure.in
		- Don't need libiw really, just need to check for wireless.h

	* src/kernel-types.h
		- Remove; used types moved into wpa.c

	* src/nm-device-802-11-wireless.c
		- (nm_device_802_11_wireless_update_signal_strength,
		   real_get_generic_capabilities, nm_device_802_11_wireless_get_mode,
		   nm_device_802_11_wireless_set_mode,
		   nm_device_802_11_wireless_get_frequency,
		   nm_device_802_11_wireless_get_ssid,
		   nm_device_802_11_wireless_set_ssid,
		   nm_device_802_11_wireless_get_bitrate,
		   nm_device_802_11_wireless_get_bssid,
		   nm_device_802_11_wireless_disable_encryption): use ioctl() directly
			instead of iwlib functions




git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3462 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-03-14 21:12:03 +00:00
Dan Williams
4c2f6219a9 2008-01-24 Dan Williams <dcbw@redhat.com>
* libnm-glib/nm-device-802-11-wireless.c
		- (get_access_point): move the "/" check here; check for invalid path
			too
		- (nm_device_802_11_wireless_set_active_ap): leave the "/" check up
			to get_access_point()
		- (access_point_added_proxy, access_point_removed_proxy): don't try
			to send signals for non-existent access points



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3269 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-01-24 19:07:14 +00:00
Dan Williams
6ef8fc433f 2008-01-24 Dan Williams <dcbw@redhat.com>
* libnm-glib/nm-device-802-11-wireless.c
		- (nm_device_802_11_wireless_set_active_ap): path of "/" means no AP



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3268 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-01-24 18:59:50 +00:00
Dan Williams
c203ada95a 2008-01-13 Dan Williams <dcbw@redhat.com>
* libnm-glib/nm-device-802-11-wireless.c
		- (nm_device_802_11_wireless_get_access_points): fix memory leak



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3237 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2008-01-14 03:23:29 +00:00
Dan Williams
eda2d662cd 2007-12-07 Dan Williams <dcbw@redhat.com>
Noticed by Christian Persch <chpe@gnome.org>

	Always chain up to parent object in dispose and finalize handlers.
		(gnome.org #433112)



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3154 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-12-07 15:32:45 +00:00
Dan Williams
a2b0d04517 2007-11-13 Dan Williams <dcbw@redhat.com>
* libnm-glib/nm-device-802-11-wireless.h
	  libnm-glib/nm-device-802-11-wireless.c
		- (nm_device_802_11_wireless_get_hw_address): return should be const

	* test/nm-tool.c
	  libnm-glib/libnm-glib-test.c
		- Fixes for above change



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3082 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-11-13 20:03:31 +00:00
Dan Williams
792b14dec4 2007-10-26 Dan Williams <dcbw@redhat.com>
Patch from Helmut Schaa <hschaa@suse.de> (and more bits from me)

	* src/NetworkManagerAP.c
	  src/NetworkManagerAP.h
	  libnm-glib/nm-access-point.c
	  libnm-glib/nm-access-point.h
		- Make 'rate' property a guint32 to better match with WEXT and
			wpa_supplicant and to allow representation of higher bitrates

	* src/nm-device-802-11-wireless.c
	  introspection/nm-device-802-11-wireless.xml
	  libnm-glib/nm-device-802-11-wireless.c
	  libnm-glib/nm-device-802-11-wireless.h
		- Make 'bitrate' property a guint32 to match AP 'rate' property type

	* src/nm-device-802-3-ethernet.c
	  src/nm-device-802-3-ethernet.h
	  introspection/nm-device-802-3-ethernet.xml
	  libnm-glib/nm-device-802-3-ethernet.c
	  libnm-glib/nm-device-802-3-ethernet.h
		- Make 'speed' property a guint32 to match other speed/rate types
		- Make nm_device_802_3_ethernet_get_speed() static

	* test/nm-tool.c
		- Update for the changes above



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3030 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-10-27 02:58:32 +00:00
Tambet Ingo
86306041af 2007-10-12 Tambet Ingo <tambet@gmail.com>
Rework the "properties-changed" signal listening implementation.
        Add a generic implementation to NMObject class that listens for
        the signal and calls property setters of the target NMObject.

        * libnm-glib/nm-object.c (nm_object_handle_properties_changed):
        * Implement.

        * libnm-glib/nm-device-802-11-wireless.c: Move the GObject
        * consturction
        code to the end of file so that all the static functions are
available
        without extra declarations.
        Remove the "properties-changed" signal handling and use the
framework from
        NMObject.
        Implement property setters for properties that change with 
        "properties-changed" signal.

        * libnm-glib/nm-access-point.c: Ditto.



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2972 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-10-12 10:18:46 +00:00
Dan Williams
d030019245 2007-10-06 Dan Williams <dcbw@redhat.com>
* libnm-glib/nm-device-802-11-wireless.c
		- (nm_device_802_11_wireless_get_active_access_point): don't segfault
			on error when getting the active access point over D-Bus from NM



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2939 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-10-06 04:24:30 +00:00
Dan Williams
1f2cdcab4d 2007-10-05 Dan Williams <dcbw@redhat.com>
* libnm-glib/nm-device-802-11-wireless.c
		- Cache properties and update cached properties on D-Bus signals from NM



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2937 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-10-05 20:54:13 +00:00
Dan Williams
fc8130ddd0 2007-10-03 Dan Williams <dcbw@redhat.com>
* src/nm-device-802-11-wireless.c
	  src/nm-device-802-11-wireless.h
	  introspection/nm-device-802-11-wireless.xml
		- GetActiveNetworks -> GetAccessPoints
		- ActiveNetwork -> ActiveAccessPoint
		- NetworkAdded -> AccessPointAdded
		- NetowrkRemoved -> AccessPointRemoved

	* libnm-glib/nm-device-802-11-wireless.c
	  libnm-glib/nm-device-802-11-wireless.h
		- network-added signal -> access-point-added
		- network-removed signal -> access-point-removed
		- nm_device_802_11_wireless_get_active_network() ->
			nm_device_802_11_wireless_get_active_access_point()
		- nm_device_802_11_wireless_get_network_by_path() ->
			nm_device_802_11_wireless_get_access_point_by_path()
		- nm_device_802_11_wireless_get_networks() ->
			nm_device_802_11_wireless_get_access_points()

	* libnm-glib/libnm-glib-test.c
	  test/nm-tool.c
	  src/NetworkManagerPolicy.c
		- Fixups for Network -> AccessPoint



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2928 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-10-03 18:20:35 +00:00
Tambet Ingo
636b1140c5 2007-06-21 Tambet Ingo <tambet@ximian.com>
* libnm-glib/Makefile.am: Add NMObject to build, remove nm-utils.[ch].

	* nm-utils.[ch]: Remove.

	* libnm-glib/nm-object.c: Implement a base class for all libnm-glib dbus-aware
	objects for easy property access and dbus connection handling.

	* libnm-glib/nm-client.c: Derive from NMObject.

	* libnm-glib/nm-device.c: Ditto.

	* libnm-glib/nm-device-802-3-ethernet.c: Changes for being based on NMObject.

	* libnm-glib/nm-device-802-11-wireless.c: Ditto.

	* libnm-glib/nm-ip4-config.c: Ditto.

	* libnm-glib/nm-access-point.c: Ditto.

	* libnm-util/nm-connection.c (nm_connection_compare): Add a stub for connection
	comparision. Currently used by the device activation code to determine if the new
	activation is the same as the old one.

	* src/nm-dbus-nmi.c (nm_dbus_get_user_key_for_network): Don't use the obsolete and
	wrong way of getting the dbus path for AP. Fixes the issue where the applet isn't
	able to ask password for the AP.

	* src/nm-device.c (nm_device_activate): Change the logic here - instead of giving
	up if the device is already connected, tear down it's connection (if it isn't the
	same as new one) and start the activation.

	* src/nm-manager.c: Add the beginnings of NMConnection storage and signals.

	* src/NetworkManagerAP.c (nm_ap_init): Set the default values to AP memebers, fixes
	the issue where all APs are always listed as encrypted.

	* src/NetworkManagerDbus.c (nm_dbus_get_object_path_for_network): Remove. APs have
	their own registered paths.

	* test/nm-tool.c (detail_device): Don't try to get active network from wireless
	device if it's not connected - dbus-glib will happily crash trying to marshal NULL.




git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2615 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-06-22 15:09:02 +00:00
Tambet Ingo
ff0fd77b08 2007-05-07 Tambet Ingo <tambet@ximian.com>
* libnm-glib/Makefile.am: Link with libnm-util to gain access to
	NMConnection.

	* libnm-glib/nm-device-802-11-wireless.c:
	(nm_device_802_3_ethernet_activate): Remove.

	* libnm-glib/nm-device-802-3-ethernet.c
	(nm_device_802_3_ethernet_activate): Remove.

	* libnm-glib/nm-device.c (nm_device_activate): Implement.

	* src/nm-device-802-3-ethernet.c: Implement the new activation using
	NMConnection.

	* src/nm-device-802-11-wireless.c: Store an activation AP once the
	activation has started.
	Implement the new activation using NMConnection.

	* src/nm-activation-request.c: Store a generic connection object instead
	of a wireless-specific AP.

	* src/NetworkManagerPolicy.c (create_connection): Implement. Depending
	on device type, create a device specific connection object suitable for
	device activation.

	* src/nm-device.c (nm_device_activate): Re-implement. Call the device
	specific check to validate the connection and on success start the
	activation.

	* src/nm-device-interface.h: Add a activate virtual function to the
	interface definition.

	* src/nm-device-interface.c (nm_device_interface_activate): Implement.
	(impl_device_activate): Implement.

	* introspection/nm-device.xml: Add a generic device activation interface
	that accepts an abstract NMConnection structure that has device-specific
	information in it.

	* introspection/nm-device-802-3-ethernet.xml: Remove the wired-specific
	activation interface.

	* introspection/nm-device-802-11-wireless.xml: Remove the wireless-specific
	activation interface.



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2569 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-05-07 15:17:45 +00:00
Tambet Ingo
45c54c10b2 2007-03-26 Tambet Ingo <tambet@ximian.com>
* libnm-glib/nm-vpn-connection.h: 
	* libnm-glib/nm-vpn-connection.c: Implement.

	* libnm-glib/nm-client.c: Add VPN support.



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2501 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-03-26 12:42:29 +00:00
Tambet Ingo
e1c3b5538c 2007-03-16 Tambet Ingo <tambet@ximian.com>
* libnm-glib/nm-device.c (nm_device_get_description): Implement.

	* libnm-glib/nm-client.c (nm_client_manager_is_running): Implement. Also add a
	"manager-running" signal that notifies the appearance/disappearance of NM.
	(nm_client_sleep): Implement.

	* libnm-glib/nm-device.c:
	* libnm-glib/nm-device-802-11-wireless.c: 
	* libnm-glib/nm-device-802-3-ethernet.c: 

	Don't inherit from DBusGProxy, add a proxy to private
	data. The reason is, classes inherited from NMDevice wouldn't get any dbus signals
	for anything but their own dbus interface. DBusGProxy objects support only one
	interfaces and to work around this, NMDevice has spearate proxy for each dbus
	interface. The nice side effect of this change is that we do not create a new
	DBusGProxy object for each property access.



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2479 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-03-16 09:37:53 +00:00
Tambet Ingo
96c246cfc4 2007-03-02 Tambet Ingo <tambet@ximian.com>
* libnm-glib/nm-device-802-11-wireless.c
	(nm_device_802_11_wireless_get_capabilities): Implement.

	* libnm-glib/nm-device.c (nm_device_get_capabilities): Implement.

	* src/nm-device-802-11-wireless.c: Add "WirelessCapabilities" property.

	* src/named-manager/nm-named-manager.c (remove_one_zone_from_named): Unref the
	reply only if it's not NULL. Not sure why this started happening right now.

	* src/nm-manager.c (device_stop_and_free): Remove. No need to have different
	code paths for when devices get removed on shutdown or when a device is just
	removed.
	(finalize): Don't use a g_slist_foreach() when removing devices, the list data
	gets freed so any signal from a device (disconnected for instance) would invoke
	NMState update which would crash.
	(nm_manager_remove_device): Bring the device down when it gets removed.

	* src/NetworkManagerPolicy.c (nm_policy_auto_get_best_device): Remove
	the unused dev_type.

	* src/nm-hal-manager.c (create_device_and_add_to_list): Don't keep the
	reference to the added device, NMManager will own it (if it wants).

	* test/nm-tool.c: Rewrite using libnm-glib.



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2417 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-03-05 08:49:30 +00:00
Tambet Ingo
352caa34c6 2007-03-02 Tambet Ingo <tambet@ximian.com>
* libnm-glib/nm-device-802-11-wireless.c: Cache networks (bssids) list.
	We get signalled when it changes.

	* libnm-glib/nm-client.c: Cache NMState and device list, we get signalled
	when it changes.

	* libnm-glib/nm-device.c: Cache the device state property.

	* libnm-glib/nm-access-point.c: Cache the strength property.

	* src/nm-device-802-11-wireless.c: Fix wireless device scanning scheduler.
	The new algorithm is to start from SCAN_INTERVAL_MIN (currently defined as 0)
	and add a SCAN_INTERVAL_STEP (currently 20 seconds) with each successful scan
	until SCAN_INTERVAL_MAX (currently 120 seconds) is reached. Do not scan while
	the device is down, activating, or activated (in case of A/B/G cards).
	Remove some old dead ifdef'ed out code that used to configure wireless devices,
	it's all done through supplicant now.

	* src/supplicant-manager/nm-supplicant-interface.c: Fix the reference
	counting issues with pending calls which caused leaks and crashes when
	interface was removed (now that the interface actually gets removed).

	* src/nm-call-store.c: Make a copy of data before running a foreach
	with user callback on it - The most common usage pattern is to cancel
	(and thus remove) all pending calls with foreach which would modify
	the hash table we're iterating over.

	* src/nm-manager.c: When a device is added, make sure it is "up". When
	it's removed or disabled due to disabling wireless or networking, bring
	it down.

	* include/NetworkManager.h: Add new device state NM_DEVICE_STATE_DOWN.

	* src/nm-device-802-11-wireless.c: 
	* src/nm-device-802-3-ethernet.c: 
	* src/nm-device.c:
		- Remove "init" virtual function, all gobjects have a place for that
		  already (constructor).
		- Replace "start" virtual function with "bring_up", devices can be
		  brought up and down more than just on startup now.
		- Add "is_up" virtual function.
		- Implement one way to bring a device down instead of previous 4 different
		  ways, each of witch did something different.

	* src/NetworkManagerUtils.c (nm_dev_sock_open): This doesn't need an NMDevice,
	all it needs is the device interface.

	Get rid of NMData.dev_list (3 members to go).
	Get rif of NMData in a lot of places.

	* gnome/libnm_glib/libnm_glib.c: Make it compile again.



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2395 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-03-02 09:30:48 +00:00
Tambet Ingo
537b30f99e 2007-02-20 Tambet Ingo <tambet@ximian.com>
* libnm-glib/nm-device-802-11-wireless.c: Add "network-added" and
	"network-removed" signals.

	* libnm-glib/libnm-glib.pc.in: Require NetworkManager >= 0.7.0.

	* libnm-glib/nm-access-point.c: Add "strength-changed" signal, emit it
	when receiving the signal from dbus.

	* src/nm-device-802-11-wireless.c (get_property): Fix PROP_ACTIVE_NETWORK
	property.

	* src/NetworkManagerPolicy.c (state_changed): Fix a typo to make the
	deactivation of the previously activated device working again.

	* src/nm-activation-request.c: Remove NMActStage property and it's getter
	and setter.

	* src/nm-device.c (nm_device_is_activated): Remove.
	state == NM_DEVICE_STATE_ACTIVATED is just as easy to use.

	* include/NetworkManager.h: Remove NM_DBUS_NO_DEVICES_ERROR,
	NM_DBUS_NO_DIALUP_ERROR, NM_DBUS_NO_NETWORKS_ERROR,
	NM_DBUS_NO_ACTIVE_DEVICE_ERROR, NM_DBUS_NO_ACTIVE_NET_ERROR errors and
	NM_DBUS_SIGNAL_STATE_CHANGE signal.
	Remove NMNetworkStatus and NMActStage enums.



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2345 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-02-20 15:24:42 +00:00
Tambet Ingo
c40051389c 2007-02-16 Tambet Ingo <tambet@ximian.com>
* introspection/nm-ip4-config.xml: Implement.

	* libnm-glib/libnm-glib-test.c: Use new DBUS API in tests.

	* libnm-glib/nm-ip4-config.c:
	* libnm-glib/nm-ip4-config.c: Implement.

	* src/nm-ap-security[-*]: Remove circular dependencies between APs and AP
	securities. APs reference security.

	* src/nm-device-802-11-wireless.c: Implement missing properties that need to
	be exported over DBUS.

	* src/nm-device-802-3-ethernet.c: Ditto.

	* src/NetworkManagerAP.c:
	* src/NetworkManagerAP.h:
		- Convert to GObject, export over DBUS.

	* src/nm-ip4-config.h:
	* src/nm-ip4-config.h:
		- Convert to GObject, export over DBUS.




git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2322 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-02-16 11:23:49 +00:00
Tambet Ingo
8a4c57f631 2007-02-12 Tambet Ingo <tambet@ximian.com>
Totally break NetworkManager. Please use 0.6 branch until futher notice.

	* src/:
		- Remove old low-level dbus interface implementations and replace them
		  with dbus-glib one.

	* configure.in:
		- Require dbus-glib >= 0.72.
		- Plug in new sources to build.

	* libnm-glib/:
		- Implement GObject wrappers on top of DBUS glib auto-generated bindings
		  to make it more convenient to use from GObject based programs.

	* introspection/:
		- Implement DBUS XML introspection files, used by both NM and libnm-glib.



git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@2309 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2007-02-12 09:23:43 +00:00