summaryrefslogtreecommitdiff
path: root/libnm-glib/nm-object-private.h
Commit message (Collapse)AuthorAgeFilesLines
* libnm-glib: silence some build warningsLubomir Rintel2016-11-211-4/+10
| | | | | | | | | | | | | | | | | | libnm-glib/nm-object-private.h:28: Warning: NMClient: symbol='PropertyMarshalFunc': missing parameter name; undocumentable libnm-glib/nm-object-private.h:28: Warning: NMClient: symbol='PropertyMarshalFunc': missing parameter name; undocumentable libnm-glib/nm-object-private.h:28: Warning: NMClient: symbol='PropertyMarshalFunc': missing parameter name; undocumentable libnm-glib/nm-object-private.h:28: Warning: NMClient: symbol='PropertyMarshalFunc': missing parameter name; undocumentable libnm-glib/nm-object-private.h:82: Warning: NMClient: symbol='NMObjectTypeFunc': missing parameter name; undocumentable libnm-glib/nm-object-private.h:82: Warning: NMClient: symbol='NMObjectTypeFunc': missing parameter name; undocumentable libnm-glib/nm-object-private.h:83: Warning: NMClient: symbol='NMObjectTypeCallbackFunc': missing parameter name; undocumentable libnm-glib/nm-object-private.h:83: Warning: NMClient: symbol='NMObjectTypeCallbackFunc': missing parameter name; undocumentable libnm-glib/nm-object-private.h:84: Warning: NMClient: symbol='NMObjectTypeAsyncFunc': missing parameter name; undocumentable libnm-glib/nm-object-private.h:84: Warning: NMClient: symbol='NMObjectTypeAsyncFunc': missing parameter name; undocumentable libnm-glib/nm-object-private.h:84: Warning: NMClient: symbol='NMObjectTypeAsyncFunc': missing parameter name; undocumentable libnm-glib/nm-object-private.h:84: Warning: NMClient: symbol='NMObjectTypeAsyncFunc': missing parameter name; undocumentable
* libnm-glib: drop some unneeded codeLubomir Rintel2016-11-211-2/+0
| | | | | | | | | ...so that we don't have to fix the following: libnm-glib/nm-object-private.h:30: Warning: NMClient: symbol='NMObjectCreatorFunc': missing parameter name; undocumentable libnm-glib/nm-object-private.h:30: Warning: NMClient: symbol='NMObjectCreatorFunc': missing parameter name; undocumentable Fixes: ad5daa098c308ae58a6d54c453c73451044598fc
* all: cleanup includes in header filesThomas Haller2016-08-171-1/+0
| | | | | | | | | | | | - don't include "nm-default.h" in header files. Every source file must include as first header "nm-default.h", thus our headers get the default include already implicitly. - we don't support compiling NetworkManager itself with a C++ compiler. Remove G_BEGIN_DECLS/G_END_DECLS from internal headers. We do however support users of libnm to use C++, thus they stay in public headers. (cherry picked from commit f19aff89095ca192b8b2e37534b7a899aecd82f9)
* all: make use of new header file "nm-default.h"Thomas Haller2015-08-051-1/+1
|
* libnm-glib: drop private bus supportDan Winship2015-07-241-2/+0
| | | | | Anything that actually *needs* private bus support will be built against libnm these days anyway.
* all: rename nm-glib-compat.h to nm-glib.h, use everywhereDan Winship2015-07-241-1/+1
| | | | | | | | | | | | | | | | Rather than randomly including one or more of <glib.h>, <glib-object.h>, and <gio/gio.h> everywhere (and forgetting to include "nm-glib-compat.h" most of the time), rename nm-glib-compat.h to nm-glib.h, include <gio/gio.h> from there, and then change all .c files in NM to include "nm-glib.h" rather than including the glib headers directly. (Public headers files still have to include the real glib headers, since nm-glib.h isn't installed...) Also, remove glib includes from header files that are already including a base object header file (which must itself already include the glib headers).
* libnm-util, libnm-glib: whitespace fixesDan Winship2014-07-151-2/+2
| | | | Fix indentation, kill trailing whitespace, split some long lines.
* libnm-util, libnm-glib: standardize copyright/license headersDan Winship2014-07-151-3/+1
| | | | | | | | | | | | | | | | | | - Remove list of authors from files that had them; these serve no purpose except to quickly get out of date (and were only used in libnm-util and not libnm-glib anyway). - Just say "Copyright", not "(C) Copyright" or "Copyright (C)" - Put copyright statement after the license, not before - Remove "NetworkManager - Network link manager" from the few files that contained it, and "libnm_glib -- Access network status & information from glib applications" from the many files that contained it. - Remove vim modeline from nm-device-olpc-mesh.[ch], add emacs modeline to files that were missing it.
* libnm-glib: remove unused pseudo-property codeDan Williams2014-01-231-11/+0
| | | | | Now that all previous pseudo-properties have been converted to real D-Bus and GObject properties, we can remove this code.
* libnm-glib: add support for non-pseudo-property added/removed signalsDan Williams2014-01-231-0/+1
| | | | | | | | | With the addition of D-Bus properties for object-array properties in NetworkManager core, libnm-glib can use these properties instead of the pseudo-property stuff. However, we need to maintain API and provide individual added/removed signals for these properties, and that requires diff-ing the new and old object arrays. Add the infrastructure for doing that.
* libnm-glib: use private connection before trying the system busDan Williams2013-04-081-0/+2
| | | | | | | | | Use the D-Bus connection helper whenever we need a connection to NM, which by default tries to use a private connection instead of the shared bus connection whenever the user is root. Doing this by default will not change the behavior of libnm-glib, and allows tools like nmcli and libnm-glib-using clients to work in minimal environments (those without a bus daemon) by default.
* libnm-glib: use helpers to create dbus proxiesDan Williams2013-04-081-0/+3
| | | | | | | | | | When using a private connection, we need to use dbus_g_proxy_new_for_peer() because the bus isn't involved. Since many parts of libnm-glib create a proxy for their corresponding remote object, consolidate the proxy creation logic. A later patch will add logic to use a private connection versus a bus-based one.
* libnm-glib: nm_client_new_async, fix up NMClient asynchrony issuesDan Winship2012-02-031-0/+2
|
* libnm-glib: implement GInitable/GAsyncInitable in NMObjectDan Winship2012-02-031-3/+7
| | | | | | | | | | | | | | | | | | | | | | Implement GInitable and GAsyncInitable in NMObject, with implementations that synchronously or asynchonously load all properties, and change _nm_object_ensure_inited() to run g_initable_init(). Update the object/object-array property handling to initialize the objects after creating them (synchronously or asynchronously, according to the situation), so that they will have all of their properties preloaded before they are ever visible to the caller. Move the non-blocking/non-failable parts of various objects' constructor() methods to constructed(), and move the blocking/failable parts to init(), and implement init_async() methods with non-blocking versions of the blocking methods. Make nm_device_new() and nm_client_new() call _nm_object_ensure_inited(), to preserve the behaviour formerly enforced by their construct() methods, that properties are guaranteed to be initialized before any signals involving them are emitted.
* libnm-glib: add "pseudoproperties" for things like Client.GetDevicesDan Winship2012-02-031-0/+11
| | | | | | | Add generic handling for "properties" that consist of a "Get" method, an "Added" signal, and a "Removed" signal, reusing some of the code for handling object-array-valued properties. And load the values of pseudo properties from _nm_object_reload/ensure_properties as well.
* libnm-glib: simplify handling of object and object array propertiesDan Winship2012-02-031-0/+10
| | | | | | | | | | | | Add an "object_type" field to NMPropertiesInfo, and use that with DBUS_TYPE_G_OBJECT_PATH and DBUS_TYPE_G_ARRAY_OF_OBJECT_PATH properties so that we don't need custom marshallers for each one. When creating an NMDevice or NMActiveConnection, we need to fetch an extra property first to figure out the exact subclass to use, so add a bit of infrastructure for that as well. Also, do that preprocessing asynchronously when processing a property change notification, so that it doesn't block the main loop.
* libnm-glib: simplify property getter methodsDan Winship2012-02-031-45/+7
| | | | | | | | | | | | | | Rather than having every property getter method have code to fetch that specific property's value, just call the new _nm_object_ensure_inited() (which makes sure that we've read all the property values on the object at least once), and then return the cached value. (After we've read the initial property values, the PropertiesChanged signal handler will ensure that the values are kept up to date, so we can always just return cached property values after that point.) This then lets us get rid of _nm_object_get_property() and its wrappers.
* libnm-glib: simplify and genericize property declarationDan Winship2012-02-031-8/+6
| | | | | | | | | | | | | | | Rename _nm_object_handle_properties_changed(), etc, to be about properties in general, rather than just property changes. Interpret func==NULL in NMPropertiesInfo as meaning "use _nm_object_demarshal_generic", and then reorder the fields so that you can just leave that field out in the declarations when it's NULL. Add a way to register properties that exist in D-Bus but aren't tracked by the NMObjects, and use that for NMDevice's D-Bus Ip4Address property, replacing the existing hack. Also add a few other missing properties noticed along the way.
* libnm-glib: allow manual processing of properties changed eventsDan Williams2011-02-161-3/+5
| | | | Mostly for handling the GetAll response.
* libnm-glib: add GError parameter to _nm_object_get_... functionsJiří Klimeš2011-02-151-23/+32
| | | | | It allows us to get the error back and have control over printing the error.
* 2008-11-14 Dan Williams <dcbw@redhat.com>Dan Williams2008-11-141-0/+22
| | | | | | | | Relicense libnm-glib to LGPLv2+ with agreement from contributors git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4285 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* Rename private nm_* functions to _nm_*Michael Biebl2008-08-261-13/+13
| | | | git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4012 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* 2008-03-27 Dan Williams <dcbw@redhat.com>Dan Williams2008-03-271-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-25 Dan Williams <dcbw@redhat.com>Dan Williams2008-03-251-0/+1
| | | | | | | | | | | | * libnm-glib/nm-object.c libnm-glib/nm-object-private.h - (nm_object_queue_notify): add helper to batch & postpone GObject notify signals to an idle handler - (nm_object_get_property): add a timeout to the D-Bus method call git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3501 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
* 2008-03-24 Dan Williams <dcbw@redhat.com>Dan Williams2008-03-241-0/+69
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