/** * pk_object_register: * @connection: What we want to register to * @object: The GObject we want to register * * Register org.freedesktop.PackageKit on the system bus. * This function MUST be called before DBUS service will work. * * Return value: success **/ G_GNUC_WARN_UNUSED_RESULT static gboolean pk_object_register (DBusGConnection *connection, GObject *object, GError **error) { DBusGProxy *bus_proxy = NULL; guint request_name_result; gboolean ret; gchar *message; bus_proxy = dbus_g_proxy_new_for_name (connection, DBUS_SERVICE_DBUS, DBUS_PATH_DBUS, DBUS_INTERFACE_DBUS); ret = dbus_g_proxy_call (bus_proxy, "RequestName", error, G_TYPE_STRING, PK_DBUS_SERVICE, G_TYPE_UINT, 0, G_TYPE_INVALID, G_TYPE_UINT, &request_name_result, G_TYPE_INVALID); /* free the bus_proxy */ g_object_unref (G_OBJECT (bus_proxy)); /* abort as the DBUS method failed */ if (!ret) { egg_warning ("RequestName failed!"); g_clear_error (error); message = g_strdup_printf ("%s\n%s\n* %s\n* %s '%s'\n", /* TRANSLATORS: failed due to DBus security */ _("Startup failed due to security policies on this machine."), /* TRANSLATORS: only two ways this can fail... */ _("This can happen for two reasons:"), /* TRANSLATORS: only allowed to be owned by root */ _("The correct user is not launching the executable (usually root)"), /* TRANSLATORS: or we are installed in a prefix */ _("The org.freedesktop.PackageKit.conf file is not " "installed in the system directory:"), "/etc/dbus-1/system.d"); g_set_error (error, PK_ENGINE_ERROR, PK_ENGINE_ERROR_DENIED, "%s", message); g_free (message); return FALSE; } /* already running */ if (request_name_result != DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER) { g_set_error (error, PK_ENGINE_ERROR, PK_ENGINE_ERROR_DENIED, "Already running on this machine"); return FALSE; } dbus_g_object_type_install_info (PK_TYPE_ENGINE, &dbus_glib_pk_engine_object_info); dbus_g_error_domain_register (PK_ENGINE_ERROR, NULL, PK_ENGINE_TYPE_ERROR); dbus_g_error_domain_register (PK_TRANSACTION_ERROR, NULL, PK_TRANSACTION_TYPE_ERROR); dbus_g_connection_register_g_object (connection, PK_DBUS_PATH, object); return TRUE; }
static void application_interface_init (ApplicationInterface *app_interface) { dbus_g_error_domain_register (INKSCAPE_ERROR, NULL, INKSCAPE_TYPE_ERROR); }
static void nm_vpn_manager_class_init (NMVPNManagerClass *manager_class) { GObjectClass *object_class = G_OBJECT_CLASS (manager_class); g_type_class_add_private (manager_class, sizeof (NMVPNManagerPrivate)); /* virtual methods */ object_class->dispose = dispose; /* signals */ signals[CONNECTION_ACTIVATED] = g_signal_new ("connection-activated", G_OBJECT_CLASS_TYPE (object_class), G_SIGNAL_RUN_FIRST, 0, NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, G_TYPE_OBJECT); signals[CONNECTION_DEACTIVATED] = g_signal_new ("connection-deactivated", G_OBJECT_CLASS_TYPE (object_class), G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET (NMVPNManagerClass, connection_deactivated), NULL, NULL, _nm_marshal_VOID__OBJECT_UINT_UINT, G_TYPE_NONE, 3, G_TYPE_OBJECT, G_TYPE_UINT, G_TYPE_UINT); dbus_g_error_domain_register (NM_VPN_MANAGER_ERROR, NULL, NM_TYPE_VPN_MANAGER_ERROR); }
static void gsm_manager_class_init (GsmManagerClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); g_type_class_add_private (klass, sizeof (GsmManagerPrivate)); object_class->dispose = gsm_manager_dispose; object_class->finalize = gsm_manager_finalize; signals [INHIBITOR_ADDED] = g_signal_new ("inhibitor-added", G_TYPE_FROM_CLASS (object_class), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GsmManagerClass, inhibitor_added), NULL, NULL, g_cclosure_marshal_VOID__BOXED, G_TYPE_NONE, 1, DBUS_TYPE_G_OBJECT_PATH); signals [INHIBITOR_REMOVED] = g_signal_new ("inhibitor-removed", G_TYPE_FROM_CLASS (object_class), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GsmManagerClass, inhibitor_removed), NULL, NULL, g_cclosure_marshal_VOID__BOXED, G_TYPE_NONE, 1, DBUS_TYPE_G_OBJECT_PATH); dbus_g_object_type_install_info (GSM_TYPE_MANAGER, &dbus_glib_gsm_manager_object_info); dbus_g_error_domain_register (GSM_MANAGER_ERROR, NULL, GSM_MANAGER_TYPE_ERROR); }
static void nm_device_infiniband_class_init (NMDeviceInfinibandClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); NMDeviceClass *parent_class = NM_DEVICE_CLASS (klass); g_type_class_add_private (object_class, sizeof (NMDeviceInfinibandPrivate)); /* virtual methods */ object_class->constructor = constructor; object_class->get_property = get_property; object_class->set_property = set_property; parent_class->get_generic_capabilities = get_generic_capabilities; parent_class->check_connection_compatible = check_connection_compatible; parent_class->complete_connection = complete_connection; parent_class->act_stage1_prepare = act_stage1_prepare; parent_class->ip4_config_pre_commit = ip4_config_pre_commit; parent_class->match_l2_config = match_l2_config; parent_class->get_connection_hw_address = get_connection_hw_address; /* properties */ nm_dbus_manager_register_exported_type (nm_dbus_manager_get (), G_TYPE_FROM_CLASS (klass), &dbus_glib_nm_device_infiniband_object_info); dbus_g_error_domain_register (NM_INFINIBAND_ERROR, NULL, NM_TYPE_INFINIBAND_ERROR); }
void geoclue_types_init (void) { if (initted != FALSE) return; dbus_g_object_register_marshaller (geoclue_marshal_VOID__INT_INT_DOUBLE_DOUBLE_DOUBLE, G_TYPE_NONE, G_TYPE_INT, G_TYPE_INT, G_TYPE_DOUBLE, G_TYPE_DOUBLE, G_TYPE_DOUBLE, G_TYPE_INVALID); dbus_g_object_register_marshaller (geoclue_marshal_VOID__INT_INT_DOUBLE_DOUBLE_DOUBLE_BOXED, G_TYPE_NONE, G_TYPE_INT, G_TYPE_INT, G_TYPE_DOUBLE, G_TYPE_DOUBLE, G_TYPE_DOUBLE, G_TYPE_BOXED, G_TYPE_INVALID); dbus_g_object_register_marshaller (geoclue_marshal_VOID__INT_BOXED_BOXED, G_TYPE_NONE, G_TYPE_INT, G_TYPE_BOXED, G_TYPE_BOXED, G_TYPE_INVALID); dbus_g_object_register_marshaller (geoclue_marshal_VOID__STRING_STRING_STRING_STRING, G_TYPE_NONE, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_INVALID); dbus_g_object_register_marshaller (geoclue_marshal_VOID__INT_INT_INT_POINTER_POINTER, G_TYPE_NONE, G_TYPE_INT, G_TYPE_INT, G_TYPE_INT, DBUS_TYPE_G_INT_ARRAY, GEOCLUE_SATELLITE_INFO_ARRAY, G_TYPE_INVALID); dbus_g_error_domain_register (GEOCLUE_ERROR, GEOCLUE_ERROR_DBUS_INTERFACE, GEOCLUE_TYPE_ERROR); initted = TRUE; }
int setup_agents(void) { dbus_g_error_domain_register(AGENT_ERROR, "org.bluez.Error", AGENT_ERROR_TYPE); client = bluetooth_client_new(); g_signal_connect (G_OBJECT (client), "notify::default-adapter", G_CALLBACK (default_adapter_changed), NULL); default_adapter_changed (G_OBJECT (client), NULL, NULL); return 0; }
static void nm_vpn_manager_class_init (NMVpnManagerClass *manager_class) { GObjectClass *object_class = G_OBJECT_CLASS (manager_class); g_type_class_add_private (manager_class, sizeof (NMVpnManagerPrivate)); /* virtual methods */ object_class->dispose = dispose; dbus_g_error_domain_register (NM_VPN_MANAGER_ERROR, NULL, NM_TYPE_VPN_MANAGER_ERROR); }
static void nm_device_infiniband_class_init (NMDeviceInfinibandClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); NMDeviceClass *parent_class = NM_DEVICE_CLASS (klass); g_type_class_add_private (object_class, sizeof (NMDeviceInfinibandPrivate)); /* virtual methods */ object_class->constructor = constructor; object_class->get_property = get_property; object_class->set_property = set_property; parent_class->get_generic_capabilities = real_get_generic_capabilities; parent_class->update_hw_address = real_update_hw_address; parent_class->get_best_auto_connection = real_get_best_auto_connection; parent_class->check_connection_compatible = real_check_connection_compatible; parent_class->complete_connection = real_complete_connection; parent_class->act_stage1_prepare = real_act_stage1_prepare; parent_class->ip4_config_pre_commit = real_ip4_config_pre_commit; parent_class->spec_match_list = spec_match_list; parent_class->connection_match_config = connection_match_config; parent_class->hwaddr_matches = hwaddr_matches; /* properties */ g_object_class_install_property (object_class, PROP_HW_ADDRESS, g_param_spec_string (NM_DEVICE_INFINIBAND_HW_ADDRESS, "Active MAC Address", "Currently set hardware MAC address", NULL, G_PARAM_READABLE)); g_object_class_install_property (object_class, PROP_CARRIER, g_param_spec_boolean (NM_DEVICE_INFINIBAND_CARRIER, "Carrier", "Carrier", FALSE, G_PARAM_READABLE)); /* Signals */ signals[PROPERTIES_CHANGED] = nm_properties_changed_signal_new (object_class, G_STRUCT_OFFSET (NMDeviceInfinibandClass, properties_changed)); dbus_g_object_type_install_info (G_TYPE_FROM_CLASS (klass), &dbus_glib_nm_device_infiniband_object_info); dbus_g_error_domain_register (NM_INFINIBAND_ERROR, NULL, NM_TYPE_INFINIBAND_ERROR); }
static void gnome_clock_applet_mechanism_class_init (GnomeClockAppletMechanismClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); object_class->constructor = gnome_clock_applet_mechanism_constructor; object_class->finalize = gnome_clock_applet_mechanism_finalize; g_type_class_add_private (klass, sizeof (GnomeClockAppletMechanismPrivate)); dbus_g_object_type_install_info (GNOME_CLOCK_APPLET_TYPE_MECHANISM, &dbus_glib_gnome_clock_applet_mechanism_object_info); dbus_g_error_domain_register (GNOME_CLOCK_APPLET_MECHANISM_ERROR, NULL, GNOME_CLOCK_APPLET_MECHANISM_TYPE_ERROR); }
static void gsd_datetime_mechanism_class_init (GsdDatetimeMechanismClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); object_class->constructor = gsd_datetime_mechanism_constructor; object_class->finalize = gsd_datetime_mechanism_finalize; g_type_class_add_private (klass, sizeof (GsdDatetimeMechanismPrivate)); dbus_g_object_type_install_info (GSD_DATETIME_TYPE_MECHANISM, &dbus_glib_gsd_datetime_mechanism_object_info); dbus_g_error_domain_register (GSD_DATETIME_MECHANISM_ERROR, NULL, GSD_DATETIME_MECHANISM_TYPE_ERROR); }
static void nm_device_vlan_class_init (NMDeviceVlanClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); NMDeviceClass *parent_class = NM_DEVICE_CLASS (klass); parent_class->connection_type = NM_SETTING_VLAN_SETTING_NAME; g_type_class_add_private (object_class, sizeof (NMDeviceVlanPrivate)); /* virtual methods */ object_class->constructed = constructed; object_class->get_property = get_property; object_class->set_property = set_property; object_class->dispose = dispose; object_class->finalize = finalize; parent_class->update_initial_hw_address = update_initial_hw_address; parent_class->get_generic_capabilities = get_generic_capabilities; parent_class->bring_up = bring_up; parent_class->act_stage1_prepare = act_stage1_prepare; parent_class->ip4_config_pre_commit = ip4_config_pre_commit; parent_class->deactivate = deactivate; parent_class->check_connection_compatible = check_connection_compatible; parent_class->complete_connection = complete_connection; parent_class->update_connection = update_connection; /* properties */ g_object_class_install_property (object_class, PROP_PARENT, g_param_spec_object (NM_DEVICE_VLAN_PARENT, "", "", NM_TYPE_DEVICE, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS)); g_object_class_install_property (object_class, PROP_VLAN_ID, g_param_spec_uint (NM_DEVICE_VLAN_ID, "", "", 0, 4095, 0, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS)); nm_dbus_manager_register_exported_type (nm_dbus_manager_get (), G_TYPE_FROM_CLASS (klass), &dbus_glib_nm_device_vlan_object_info); dbus_g_error_domain_register (NM_VLAN_ERROR, NULL, NM_TYPE_VLAN_ERROR); }
/** * tp_error_quark: * * Return the error domain quark for #TpError. * * Since: 0.11.13 */ GQuark tp_error_quark (void) { static gsize quark = 0; if (g_once_init_enter (&quark)) { /* FIXME: When we next break API, this should be changed to * "tp-error-quark" */ GQuark domain = g_quark_from_static_string ("tp_errors"); dbus_g_error_domain_register (domain, TP_ERROR_PREFIX, TP_TYPE_ERROR); g_once_init_leave (&quark, domain); } return (GQuark) quark; }
/** * gpm_object_register: * @connection: What we want to register to * @object: The GObject we want to register * * Register org.mate.PowerManager on the session bus. * This function MUST be called before DBUS service will work. * * Return value: success **/ static gboolean gpm_object_register (DBusGConnection *connection, GObject *object) { DBusGProxy *bus_proxy = NULL; GError *error = NULL; guint request_name_result; gboolean ret; bus_proxy = dbus_g_proxy_new_for_name (connection, DBUS_SERVICE_DBUS, DBUS_PATH_DBUS, DBUS_INTERFACE_DBUS); ret = dbus_g_proxy_call (bus_proxy, "RequestName", &error, G_TYPE_STRING, GPM_DBUS_SERVICE, G_TYPE_UINT, 0, G_TYPE_INVALID, G_TYPE_UINT, &request_name_result, G_TYPE_INVALID); if (error) { egg_debug ("ERROR: %s", error->message); g_error_free (error); } if (!ret) { /* abort as the DBUS method failed */ egg_warning ("RequestName failed!"); return FALSE; } /* free the bus_proxy */ g_object_unref (G_OBJECT (bus_proxy)); /* already running */ if (request_name_result != DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER) { return FALSE; } dbus_g_object_type_install_info (GPM_TYPE_MANAGER, &dbus_glib_gpm_manager_object_info); dbus_g_error_domain_register (GPM_MANAGER_ERROR, NULL, GPM_MANAGER_TYPE_ERROR); dbus_g_connection_register_g_object (connection, GPM_DBUS_PATH, object); return TRUE; }
int main (int argc, char **argv) { DBusGConnection *bus; DBusGProxy *bus_proxy; GError *error = NULL; SMServer *server; GMainLoop *mainloop; guint request_name_result; g_type_init (); dbus_g_object_type_install_info (SM_TYPE_SERVER, &dbus_glib_sm_server_object_info); dbus_g_object_type_install_info (SM_TYPE_OBJECT, &dbus_glib_sm_object_object_info); dbus_g_error_domain_register (SM_ERROR, NULL, SM_TYPE_ERROR); mainloop = g_main_loop_new (NULL, FALSE); bus = dbus_g_bus_get (DBUS_BUS_SESSION, &error); if (!bus) g_critical ("Couldn't connect to session bus: %s\n", error->message); bus_proxy = dbus_g_proxy_new_for_name (bus, "org.freedesktop.DBus", "/org/freedesktop/DBus", "org.freedesktop.DBus"); if (!dbus_g_proxy_call (bus_proxy, "RequestName", &error, G_TYPE_STRING, "com.example.StateServer", G_TYPE_UINT, 0, G_TYPE_INVALID, G_TYPE_UINT, &request_name_result, G_TYPE_INVALID)) g_critical ("Couldn't acquire com.example.StateServer: %s\n", error->message); server = g_object_new (SM_TYPE_SERVER, "bus", bus, NULL); dbus_g_connection_register_g_object (bus, "/com/example/StateServer", G_OBJECT (server)); g_print ("StateMachine server initialized\n"); g_main_loop_run (mainloop); exit (0); }
static void nm_device_bridge_class_init (NMDeviceBridgeClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); NMDeviceClass *parent_class = NM_DEVICE_CLASS (klass); g_type_class_add_private (object_class, sizeof (NMDeviceBridgePrivate)); parent_class->connection_type = NM_SETTING_BRIDGE_SETTING_NAME; /* virtual methods */ object_class->constructed = constructed; object_class->get_property = get_property; object_class->set_property = set_property; parent_class->get_generic_capabilities = get_generic_capabilities; parent_class->is_available = is_available; parent_class->check_connection_compatible = check_connection_compatible; parent_class->check_connection_available = check_connection_available; parent_class->complete_connection = complete_connection; parent_class->update_connection = update_connection; parent_class->act_stage1_prepare = act_stage1_prepare; parent_class->enslave_slave = enslave_slave; parent_class->release_slave = release_slave; /* properties */ g_object_class_install_property (object_class, PROP_SLAVES, g_param_spec_boxed (NM_DEVICE_BRIDGE_SLAVES, "Slaves", "Slaves", DBUS_TYPE_G_ARRAY_OF_OBJECT_PATH, G_PARAM_READABLE)); nm_dbus_manager_register_exported_type (nm_dbus_manager_get (), G_TYPE_FROM_CLASS (klass), &dbus_glib_nm_device_bridge_object_info); dbus_g_error_domain_register (NM_BRIDGE_ERROR, NULL, NM_TYPE_BRIDGE_ERROR); }
static void nm_modem_gsm_class_init (NMModemGsmClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); NMModemClass *modem_class = NM_MODEM_CLASS (klass); g_type_class_add_private (object_class, sizeof (NMModemGsmPrivate)); /* Virtual methods */ object_class->dispose = dispose; modem_class->get_user_pass = get_user_pass; modem_class->get_setting_name = get_setting_name; modem_class->get_best_auto_connection = get_best_auto_connection; modem_class->check_connection_compatible = check_connection_compatible; modem_class->complete_connection = complete_connection; modem_class->act_stage1_prepare = act_stage1_prepare; modem_class->deactivate = deactivate; dbus_g_error_domain_register (NM_GSM_ERROR, NULL, NM_TYPE_GSM_ERROR); }
static void nm_modem_gsm_class_init (NMModemGsmClass *klass) { NMDeviceClass *device_class = NM_DEVICE_CLASS (klass); NMModemClass *modem_class = NM_MODEM_CLASS (klass); /* Virtual methods */ device_class->get_best_auto_connection = real_get_best_auto_connection; device_class->connection_secrets_updated = real_connection_secrets_updated; device_class->act_stage1_prepare = real_act_stage1_prepare; device_class->act_stage2_config = real_act_stage2_config; device_class->deactivate_quickly = real_deactivate_quickly; device_class->check_connection_compatible = real_check_connection_compatible; modem_class->get_ppp_name = real_get_ppp_name; dbus_g_object_type_install_info (G_TYPE_FROM_CLASS (klass), &dbus_glib_nm_device_gsm_object_info); dbus_g_error_domain_register (NM_GSM_ERROR, NULL, NM_TYPE_GSM_ERROR); }
static void gconf_defaults_class_init (GConfDefaultsClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); object_class->constructor = gconf_defaults_constructor; object_class->finalize = gconf_defaults_finalize; signals[SYSTEM_SET] = g_signal_new ("system-set", G_OBJECT_CLASS_TYPE (object_class), G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET (GConfDefaultsClass, system_set), NULL, NULL, g_cclosure_marshal_VOID__BOXED, G_TYPE_NONE, 1, G_TYPE_STRV); g_type_class_add_private (klass, sizeof (GConfDefaultsPrivate)); dbus_g_object_type_install_info (GCONF_TYPE_DEFAULTS, &dbus_glib_gconf_defaults_object_info); dbus_g_error_domain_register (GCONF_DEFAULTS_ERROR, NULL, GCONF_DEFAULTS_TYPE_ERROR); }
static void nm_device_bridge_class_init (NMDeviceBridgeClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); NMDeviceClass *parent_class = NM_DEVICE_CLASS (klass); NMDeviceWiredClass *wired_class = NM_DEVICE_WIRED_CLASS (klass); g_type_class_add_private (object_class, sizeof (NMDeviceBridgePrivate)); /* virtual methods */ object_class->constructed = constructed; object_class->get_property = get_property; object_class->set_property = set_property; parent_class->get_generic_capabilities = get_generic_capabilities; parent_class->update_hw_address = update_hw_address; parent_class->get_hw_address = get_hw_address; parent_class->is_available = is_available; parent_class->get_best_auto_connection = get_best_auto_connection; parent_class->check_connection_compatible = check_connection_compatible; parent_class->complete_connection = complete_connection; parent_class->spec_match_list = spec_match_list; parent_class->connection_match_config = connection_match_config; parent_class->act_stage1_prepare = act_stage1_prepare; parent_class->enslave_slave = enslave_slave; parent_class->release_slave = release_slave; wired_class->carrier_action = carrier_action; /* properties */ g_object_class_install_property (object_class, PROP_HW_ADDRESS, g_param_spec_string (NM_DEVICE_BRIDGE_HW_ADDRESS, "Active MAC Address", "Currently set hardware MAC address", NULL, G_PARAM_READABLE)); g_object_class_install_property (object_class, PROP_CARRIER, g_param_spec_boolean (NM_DEVICE_BRIDGE_CARRIER, "Carrier", "Carrier", FALSE, G_PARAM_READABLE)); g_object_class_install_property (object_class, PROP_SLAVES, g_param_spec_boxed (NM_DEVICE_BRIDGE_SLAVES, "Slaves", "Slaves", DBUS_TYPE_G_ARRAY_OF_OBJECT_PATH, G_PARAM_READABLE)); /* Signals */ signals[PROPERTIES_CHANGED] = nm_properties_changed_signal_new (object_class, G_STRUCT_OFFSET (NMDeviceBridgeClass, properties_changed)); dbus_g_object_type_install_info (G_TYPE_FROM_CLASS (klass), &dbus_glib_nm_device_bridge_object_info); dbus_g_error_domain_register (NM_BRIDGE_ERROR, NULL, NM_TYPE_BRIDGE_ERROR); }
static void nm_device_bt_class_init (NMDeviceBtClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); NMDeviceClass *device_class = NM_DEVICE_CLASS (klass); g_type_class_add_private (object_class, sizeof (NMDeviceBtPrivate)); object_class->get_property = get_property; object_class->set_property = set_property; object_class->finalize = finalize; device_class->get_best_auto_connection = real_get_best_auto_connection; device_class->get_generic_capabilities = real_get_generic_capabilities; device_class->connection_secrets_updated = real_connection_secrets_updated; device_class->deactivate_quickly = real_deactivate_quickly; device_class->act_stage2_config = real_act_stage2_config; device_class->act_stage3_ip4_config_start = real_act_stage3_ip4_config_start; device_class->act_stage4_get_ip4_config = real_act_stage4_get_ip4_config; device_class->check_connection_compatible = real_check_connection_compatible; /* Properties */ g_object_class_install_property (object_class, PROP_HW_ADDRESS, g_param_spec_string (NM_DEVICE_BT_HW_ADDRESS, "Bluetooth address", "Bluetooth address", NULL, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); g_object_class_install_property (object_class, PROP_BT_NAME, g_param_spec_string (NM_DEVICE_BT_NAME, "Bluetooth device name", "Bluetooth device name", NULL, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); g_object_class_install_property (object_class, PROP_BT_CAPABILITIES, g_param_spec_uint (NM_DEVICE_BT_CAPABILITIES, "Bluetooth device capabilities", "Bluetooth device capabilities", NM_BT_CAPABILITY_NONE, G_MAXUINT, NM_BT_CAPABILITY_NONE, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); /* Signals */ signals[PPP_STATS] = g_signal_new ("ppp-stats", G_OBJECT_CLASS_TYPE (object_class), G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET (NMDeviceBtClass, ppp_stats), NULL, NULL, _nm_marshal_VOID__UINT_UINT, G_TYPE_NONE, 2, G_TYPE_UINT, G_TYPE_UINT); signals[PROPERTIES_CHANGED] = nm_properties_changed_signal_new (object_class, G_STRUCT_OFFSET (NMDeviceBtClass, properties_changed)); dbus_g_object_type_install_info (G_TYPE_FROM_CLASS (klass), &dbus_glib_nm_device_bt_object_info); dbus_g_error_domain_register (NM_BT_ERROR, NULL, NM_TYPE_BT_ERROR); }
static void nm_device_wimax_class_init (NMDeviceWimaxClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); NMDeviceClass *device_class = NM_DEVICE_CLASS (klass); g_type_class_add_private (object_class, sizeof (NMDeviceWimaxPrivate)); /* Virtual methods */ object_class->set_property = set_property; object_class->get_property = get_property; object_class->dispose = dispose; device_class->take_down = real_take_down; device_class->hw_is_up = real_hw_is_up; device_class->hw_bring_up = real_hw_bring_up; device_class->hw_take_down = real_hw_take_down; device_class->update_hw_address = real_update_hw_address; device_class->check_connection_compatible = real_check_connection_compatible; device_class->get_best_auto_connection = real_get_best_auto_connection; device_class->get_generic_capabilities = real_get_generic_capabilities; device_class->is_available = real_is_available; device_class->act_stage1_prepare = real_act_stage1_prepare; device_class->act_stage2_config = real_act_stage2_config; device_class->deactivate_quickly = real_deactivate_quickly; /* Properties */ g_object_class_install_property (object_class, PROP_HW_ADDRESS, g_param_spec_string (NM_DEVICE_WIMAX_HW_ADDRESS, "MAC Address", "Hardware MAC address", NULL, G_PARAM_READABLE)); g_object_class_install_property (object_class, PROP_ACTIVE_NSP, g_param_spec_boxed (NM_DEVICE_WIMAX_ACTIVE_NSP, "Active NSP", "Currently active NSP", DBUS_TYPE_G_OBJECT_PATH, G_PARAM_READABLE)); g_object_class_install_property (object_class, PROP_CENTER_FREQ, g_param_spec_uint (NM_DEVICE_WIMAX_CENTER_FREQUENCY, "Center frequency", "Center frequency", 0, G_MAXUINT, 0, G_PARAM_READABLE)); g_object_class_install_property (object_class, PROP_RSSI, g_param_spec_int (NM_DEVICE_WIMAX_RSSI, "RSSI", "RSSI", G_MININT, G_MAXINT, 0, G_PARAM_READABLE)); g_object_class_install_property (object_class, PROP_CINR, g_param_spec_int (NM_DEVICE_WIMAX_CINR, "CINR", "CINR", G_MININT, G_MAXINT, 0, G_PARAM_READABLE)); g_object_class_install_property (object_class, PROP_TX_POWER, g_param_spec_int (NM_DEVICE_WIMAX_TX_POWER, "TX Power", "TX Power", G_MININT, G_MAXINT, 0, G_PARAM_READABLE)); g_object_class_install_property (object_class, PROP_BSID, g_param_spec_string (NM_DEVICE_WIMAX_BSID, "BSID", "BSID", NULL, G_PARAM_READABLE)); /* Signals */ signals[NSP_ADDED] = g_signal_new ("nsp-added", G_OBJECT_CLASS_TYPE (object_class), G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET (NMDeviceWimaxClass, nsp_added), NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, G_TYPE_OBJECT); signals[NSP_REMOVED] = g_signal_new ("nsp-removed", G_OBJECT_CLASS_TYPE (object_class), G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET (NMDeviceWimaxClass, nsp_removed), NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, G_TYPE_OBJECT); signals[PROPERTIES_CHANGED] = nm_properties_changed_signal_new (object_class, G_STRUCT_OFFSET (NMDeviceWimaxClass, properties_changed)); dbus_g_object_type_install_info (G_TYPE_FROM_CLASS (klass), &dbus_glib_nm_device_wimax_object_info); dbus_g_error_domain_register (NM_WIMAX_ERROR, NULL, NM_TYPE_WIMAX_ERROR); }
int main (int argc, char **argv) { DBusGConnection *connection; GError *error; DBusGProxy *driver_proxy; guint32 request_name_ret; g_type_init (); dbus_g_thread_init (); dbus_g_error_domain_register (MY_OBJECT_ERROR, NULL, MY_TYPE_ERROR); g_printerr ("Launching test-service-glib\n"); loop = g_main_loop_new (NULL, FALSE); { GLogLevelFlags fatal_mask; fatal_mask = g_log_set_always_fatal (G_LOG_FATAL_MASK); fatal_mask |= G_LOG_LEVEL_WARNING | G_LOG_LEVEL_CRITICAL; g_log_set_always_fatal (fatal_mask); } error = NULL; connection = dbus_g_bus_get (DBUS_BUS_STARTER, &error); if (connection == NULL) { g_printerr ("Failed to open connection to bus: %s\n", error->message); g_error_free (error); exit (1); } obj = g_object_new (MY_TYPE_OBJECT, NULL); obj2 = g_object_new (MY_TYPE_OBJECT, NULL); subobj = g_object_new (MY_TYPE_OBJECT_SUBCLASS, NULL); dbus_g_connection_register_g_object (connection, "/org/freedesktop/DBus/GLib/Tests/MyTestObject", obj); /* Register a second time; we want the object to also be reachable through this interface */ dbus_g_connection_register_g_object (connection, "/org/freedesktop/DBus/GLib/Tests/Compat/MyTestObjectCompat", obj); dbus_g_connection_register_g_object (connection, "/org/freedesktop/DBus/GLib/Tests/MyTestObject2", obj2); dbus_g_connection_register_g_object (connection, "/org/freedesktop/DBus/GLib/Tests/MyTestObjectSubclass", subobj); driver_proxy = dbus_g_proxy_new_for_name (connection, DBUS_SERVICE_DBUS, DBUS_PATH_DBUS, DBUS_INTERFACE_DBUS); if (!org_freedesktop_DBus_request_name (driver_proxy, TEST_SERVICE_NAME, 0, &request_name_ret, &error)) { g_assert (error != NULL); g_printerr ("Failed to get name: %s\n", error->message); g_clear_error (&error); exit (1); } if (!(request_name_ret == DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER)) { g_printerr ("Got result code %u from requesting name\n", request_name_ret); exit (1); } g_printerr ("GLib test service has name '%s'\n", TEST_SERVICE_NAME); g_printerr ("GLib test service entering main loop\n"); g_main_loop_run (loop); g_printerr ("Successfully completed %s\n", argv[0]); return 0; }
static void bm_device_interface_init (gpointer g_iface) { GType iface_type = G_TYPE_FROM_INTERFACE (g_iface); static gboolean initialized = FALSE; if (initialized) return; /* Properties */ g_object_interface_install_property (g_iface, g_param_spec_string (BM_DEVICE_INTERFACE_UDI, "UDI", "Unique Device Identifier", NULL, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); g_object_interface_install_property (g_iface, g_param_spec_string (BM_DEVICE_INTERFACE_IFACE, "Interface", "Interface", NULL, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); g_object_interface_install_property (g_iface, g_param_spec_string (BM_DEVICE_INTERFACE_DRIVER, "Driver", "Driver", NULL, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); g_object_interface_install_property (g_iface, g_param_spec_uint (BM_DEVICE_INTERFACE_CAPABILITIES, "Capabilities", "Capabilities", 0, G_MAXUINT32, BM_DEVICE_CAP_NONE, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); g_object_interface_install_property (g_iface, g_param_spec_uint (BM_DEVICE_INTERFACE_STATE, "State", "State", 0, G_MAXUINT32, BM_DEVICE_STATE_UNKNOWN, G_PARAM_READABLE)); g_object_interface_install_property (g_iface, g_param_spec_uint (BM_DEVICE_INTERFACE_DEVICE_TYPE, "DeviceType", "DeviceType", 0, G_MAXUINT32, BM_DEVICE_TYPE_UNKNOWN, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | BM_PROPERTY_PARAM_NO_EXPORT)); g_object_interface_install_property (g_iface, g_param_spec_string (BM_DEVICE_INTERFACE_TYPE_DESC, "Type Description", "Device type description", NULL, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | BM_PROPERTY_PARAM_NO_EXPORT)); /* Signals */ g_signal_new ("state-changed", iface_type, G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET (BMDeviceInterface, state_changed), NULL, NULL, _bm_marshal_VOID__UINT_UINT_UINT, G_TYPE_NONE, 3, G_TYPE_UINT, G_TYPE_UINT, G_TYPE_UINT); g_signal_new (BM_DEVICE_INTERFACE_DISCONNECT_REQUEST, iface_type, G_SIGNAL_RUN_FIRST, 0, NULL, NULL, g_cclosure_marshal_VOID__POINTER, G_TYPE_NONE, 1, G_TYPE_POINTER); dbus_g_object_type_install_info (iface_type, &dbus_glib_bm_device_interface_object_info); dbus_g_error_domain_register (BM_DEVICE_INTERFACE_ERROR, NULL, BM_TYPE_DEVICE_INTERFACE_ERROR); initialized = TRUE; }
/** * up_device_class_init: **/ static void up_device_class_init (UpDeviceClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); object_class->get_property = up_device_get_property; object_class->set_property = up_device_set_property; object_class->finalize = up_device_finalize; g_type_class_add_private (klass, sizeof (UpDevicePrivate)); signals[SIGNAL_CHANGED] = g_signal_new ("changed", G_OBJECT_CLASS_TYPE (klass), G_SIGNAL_RUN_LAST | G_SIGNAL_DETAILED, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); dbus_g_object_type_install_info (UP_TYPE_DEVICE, &dbus_glib_up_device_object_info); /** * UpDevice:update-time: */ g_object_class_install_property (object_class, PROP_UPDATE_TIME, g_param_spec_uint64 ("update-time", NULL, NULL, 0, G_MAXUINT64, 0, G_PARAM_READWRITE)); /** * UpDevice:vendor: */ g_object_class_install_property (object_class, PROP_VENDOR, g_param_spec_string ("vendor", NULL, NULL, NULL, G_PARAM_READWRITE)); /** * UpDevice:model: */ g_object_class_install_property (object_class, PROP_MODEL, g_param_spec_string ("model", NULL, NULL, NULL, G_PARAM_READWRITE)); /** * UpDevice:serial: */ g_object_class_install_property (object_class, PROP_SERIAL, g_param_spec_string ("serial", NULL, NULL, NULL, G_PARAM_READWRITE)); /** * UpDevice:native-path: */ g_object_class_install_property (object_class, PROP_NATIVE_PATH, g_param_spec_string ("native-path", NULL, NULL, NULL, G_PARAM_READWRITE)); /** * UpDevice:power-supply: */ g_object_class_install_property (object_class, PROP_POWER_SUPPLY, g_param_spec_boolean ("power-supply", NULL, NULL, FALSE, G_PARAM_READWRITE)); /** * UpDevice:online: */ g_object_class_install_property (object_class, PROP_ONLINE, g_param_spec_boolean ("online", NULL, NULL, FALSE, G_PARAM_READWRITE)); /** * UpDevice:is-present: */ g_object_class_install_property (object_class, PROP_IS_PRESENT, g_param_spec_boolean ("is-present", NULL, NULL, FALSE, G_PARAM_READWRITE)); /** * UpDevice:is-rechargeable: */ g_object_class_install_property (object_class, PROP_IS_RECHARGEABLE, g_param_spec_boolean ("is-rechargeable", NULL, NULL, FALSE, G_PARAM_READWRITE)); /** * UpDevice:has-history: */ g_object_class_install_property (object_class, PROP_HAS_HISTORY, g_param_spec_boolean ("has-history", NULL, NULL, FALSE, G_PARAM_READWRITE)); /** * UpDevice:has-statistics: */ g_object_class_install_property (object_class, PROP_HAS_STATISTICS, g_param_spec_boolean ("has-statistics", NULL, NULL, FALSE, G_PARAM_READWRITE)); /** * UpDevice:type: */ g_object_class_install_property (object_class, PROP_TYPE, g_param_spec_uint ("type", NULL, NULL, UP_DEVICE_KIND_UNKNOWN, UP_DEVICE_KIND_LAST, UP_DEVICE_KIND_UNKNOWN, G_PARAM_READWRITE)); /** * UpDevice:state: */ g_object_class_install_property (object_class, PROP_STATE, g_param_spec_uint ("state", NULL, NULL, UP_DEVICE_STATE_UNKNOWN, UP_DEVICE_STATE_LAST, UP_DEVICE_STATE_UNKNOWN, G_PARAM_READWRITE)); /** * UpDevice:technology: */ g_object_class_install_property (object_class, PROP_TECHNOLOGY, g_param_spec_uint ("technology", NULL, NULL, UP_DEVICE_TECHNOLOGY_UNKNOWN, UP_DEVICE_TECHNOLOGY_LAST, UP_DEVICE_TECHNOLOGY_UNKNOWN, G_PARAM_READWRITE)); /** * UpDevice:capacity: */ g_object_class_install_property (object_class, PROP_CAPACITY, g_param_spec_double ("capacity", NULL, NULL, 0.0, 100.f, 100.0, G_PARAM_READWRITE)); /** * UpDevice:energy: */ g_object_class_install_property (object_class, PROP_ENERGY, g_param_spec_double ("energy", NULL, NULL, 0.0, G_MAXDOUBLE, 0.0, G_PARAM_READWRITE)); /** * UpDevice:energy-empty: */ g_object_class_install_property (object_class, PROP_ENERGY_EMPTY, g_param_spec_double ("energy-empty", NULL, NULL, 0.0, G_MAXDOUBLE, 0.0, G_PARAM_READWRITE)); /** * UpDevice:energy-full: */ g_object_class_install_property (object_class, PROP_ENERGY_FULL, g_param_spec_double ("energy-full", NULL, NULL, 0.0, G_MAXDOUBLE, 0.0, G_PARAM_READWRITE)); /** * UpDevice:energy-full-design: */ g_object_class_install_property (object_class, PROP_ENERGY_FULL_DESIGN, g_param_spec_double ("energy-full-design", NULL, NULL, 0.0, G_MAXDOUBLE, 0.0, G_PARAM_READWRITE)); /** * UpDevice:energy-rate: */ g_object_class_install_property (object_class, PROP_ENERGY_RATE, g_param_spec_double ("energy-rate", NULL, NULL, 0.0, G_MAXDOUBLE, 0.0, G_PARAM_READWRITE)); /** * UpDevice:voltage: */ g_object_class_install_property (object_class, PROP_VOLTAGE, g_param_spec_double ("voltage", NULL, NULL, 0.0, G_MAXDOUBLE, 0.0, G_PARAM_READWRITE)); /** * UpDevice:time-to-empty: */ g_object_class_install_property (object_class, PROP_TIME_TO_EMPTY, g_param_spec_int64 ("time-to-empty", NULL, NULL, 0, G_MAXINT64, 0, G_PARAM_READWRITE)); /** * UpDevice:time-to-full: */ g_object_class_install_property (object_class, PROP_TIME_TO_FULL, g_param_spec_int64 ("time-to-full", NULL, NULL, 0, G_MAXINT64, 0, G_PARAM_READWRITE)); /** * UpDevice:percentage: */ g_object_class_install_property (object_class, PROP_PERCENTAGE, g_param_spec_double ("percentage", NULL, NULL, 0.0, 100.f, 100.0, G_PARAM_READWRITE)); /** * UpDevice:recall-notice: */ g_object_class_install_property (object_class, PROP_RECALL_NOTICE, g_param_spec_boolean ("recall-notice", NULL, NULL, FALSE, G_PARAM_READWRITE)); /** * UpDevice:recall-vendor: */ g_object_class_install_property (object_class, PROP_RECALL_VENDOR, g_param_spec_string ("recall-vendor", NULL, NULL, NULL, G_PARAM_READWRITE)); /** * UpDevice:recall-url: */ g_object_class_install_property (object_class, PROP_RECALL_URL, g_param_spec_string ("recall-url", NULL, NULL, NULL, G_PARAM_READWRITE)); dbus_g_error_domain_register (UP_DEVICE_ERROR, NULL, UP_DEVICE_TYPE_ERROR); }
static void csm_inhibitor_class_init (CsmInhibitorClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); object_class->finalize = csm_inhibitor_finalize; object_class->constructor = csm_inhibitor_constructor; object_class->get_property = csm_inhibitor_get_property; object_class->set_property = csm_inhibitor_set_property; g_object_class_install_property (object_class, PROP_BUS_NAME, g_param_spec_string ("bus-name", "bus-name", "bus-name", "", G_PARAM_READWRITE | G_PARAM_CONSTRUCT)); g_object_class_install_property (object_class, PROP_APP_ID, g_param_spec_string ("app-id", "app-id", "app-id", "", G_PARAM_READWRITE | G_PARAM_CONSTRUCT)); g_object_class_install_property (object_class, PROP_CLIENT_ID, g_param_spec_string ("client-id", "client-id", "client-id", "", G_PARAM_READWRITE | G_PARAM_CONSTRUCT)); g_object_class_install_property (object_class, PROP_REASON, g_param_spec_string ("reason", "reason", "reason", "", G_PARAM_READWRITE | G_PARAM_CONSTRUCT)); g_object_class_install_property (object_class, PROP_FLAGS, g_param_spec_uint ("flags", "flags", "flags", 0, G_MAXINT, 0, G_PARAM_READWRITE | G_PARAM_CONSTRUCT)); g_object_class_install_property (object_class, PROP_TOPLEVEL_XID, g_param_spec_uint ("toplevel-xid", "toplevel-xid", "toplevel-xid", 0, G_MAXINT, 0, G_PARAM_READWRITE | G_PARAM_CONSTRUCT)); g_object_class_install_property (object_class, PROP_COOKIE, g_param_spec_uint ("cookie", "cookie", "cookie", 0, G_MAXINT, 0, G_PARAM_READWRITE | G_PARAM_CONSTRUCT)); dbus_g_object_type_install_info (CSM_TYPE_INHIBITOR, &dbus_glib_csm_inhibitor_object_info); dbus_g_error_domain_register (CSM_INHIBITOR_ERROR, NULL, CSM_INHIBITOR_TYPE_ERROR); g_type_class_add_private (klass, sizeof (CsmInhibitorPrivate)); }
static void nm_device_wimax_class_init (NMDeviceWimaxClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); NMDeviceClass *device_class = NM_DEVICE_CLASS (klass); g_type_class_add_private (object_class, sizeof (NMDeviceWimaxPrivate)); /* Virtual methods */ object_class->set_property = set_property; object_class->get_property = get_property; object_class->dispose = dispose; device_class->check_connection_compatible = check_connection_compatible; device_class->check_connection_available = check_connection_available; device_class->complete_connection = complete_connection; device_class->can_auto_connect = can_auto_connect; device_class->is_available = is_available; device_class->act_stage1_prepare = act_stage1_prepare; device_class->act_stage2_config = act_stage2_config; device_class->deactivate = deactivate; device_class->set_enabled = set_enabled; device_class->state_changed = device_state_changed; /* Properties */ g_object_class_install_property (object_class, PROP_NSPS, g_param_spec_boxed (NM_DEVICE_WIMAX_NSPS, "Network access points", "Network access points", DBUS_TYPE_G_ARRAY_OF_OBJECT_PATH, G_PARAM_READABLE)); g_object_class_install_property (object_class, PROP_ACTIVE_NSP, g_param_spec_boxed (NM_DEVICE_WIMAX_ACTIVE_NSP, "Active NSP", "Currently active NSP", DBUS_TYPE_G_OBJECT_PATH, G_PARAM_READABLE)); g_object_class_install_property (object_class, PROP_CENTER_FREQ, g_param_spec_uint (NM_DEVICE_WIMAX_CENTER_FREQUENCY, "Center frequency", "Center frequency", 0, G_MAXUINT, 0, G_PARAM_READABLE)); g_object_class_install_property (object_class, PROP_RSSI, g_param_spec_int (NM_DEVICE_WIMAX_RSSI, "RSSI", "RSSI", G_MININT, G_MAXINT, 0, G_PARAM_READABLE)); g_object_class_install_property (object_class, PROP_CINR, g_param_spec_int (NM_DEVICE_WIMAX_CINR, "CINR", "CINR", G_MININT, G_MAXINT, 0, G_PARAM_READABLE)); g_object_class_install_property (object_class, PROP_TX_POWER, g_param_spec_int (NM_DEVICE_WIMAX_TX_POWER, "TX Power", "TX Power", G_MININT, G_MAXINT, 0, G_PARAM_READABLE)); g_object_class_install_property (object_class, PROP_BSID, g_param_spec_string (NM_DEVICE_WIMAX_BSID, "BSID", "BSID", NULL, G_PARAM_READABLE)); /* Signals */ signals[NSP_ADDED] = g_signal_new ("nsp-added", G_OBJECT_CLASS_TYPE (object_class), G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET (NMDeviceWimaxClass, nsp_added), NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, G_TYPE_OBJECT); signals[NSP_REMOVED] = g_signal_new ("nsp-removed", G_OBJECT_CLASS_TYPE (object_class), G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET (NMDeviceWimaxClass, nsp_removed), NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, G_TYPE_OBJECT); nm_dbus_manager_register_exported_type (nm_dbus_manager_get (), G_TYPE_FROM_CLASS (klass), &dbus_glib_nm_device_wimax_object_info); dbus_g_error_domain_register (NM_WIMAX_ERROR, NULL, NM_TYPE_WIMAX_ERROR); }
gboolean cpufreq_selector_service_register (CPUFreqSelectorService *service, GError **error) { DBusGConnection *connection; DBusGProxy *bus_proxy; gboolean res; guint result; GError *err = NULL; if (service->system_bus) { g_set_error (error, CPUFREQ_SELECTOR_SERVICE_ERROR, SERVICE_ERROR_ALREADY_REGISTERED, "Service %s already registered", BUS_NAME); return FALSE; } connection = dbus_g_bus_get (DBUS_BUS_SYSTEM, &err); if (!connection) { g_set_error (error, CPUFREQ_SELECTOR_SERVICE_ERROR, SERVICE_ERROR_DBUS, "Couldn't connect to system bus: %s", err->message); g_error_free (err); return FALSE; } bus_proxy = dbus_g_proxy_new_for_name (connection, DBUS_SERVICE_DBUS, DBUS_PATH_DBUS, DBUS_INTERFACE_DBUS); if (!bus_proxy) { g_set_error (error, CPUFREQ_SELECTOR_SERVICE_ERROR, SERVICE_ERROR_DBUS, "Could not construct bus_proxy object"); return FALSE; } res = dbus_g_proxy_call (bus_proxy, "RequestName", &err, G_TYPE_STRING, BUS_NAME, G_TYPE_UINT, DBUS_NAME_FLAG_DO_NOT_QUEUE, G_TYPE_INVALID, G_TYPE_UINT, &result, G_TYPE_INVALID); g_object_unref (bus_proxy); if (!res) { if (err) { g_set_error (error, CPUFREQ_SELECTOR_SERVICE_ERROR, SERVICE_ERROR_DBUS, "Failed to acquire %s: %s", BUS_NAME, err->message); g_error_free (err); } else { g_set_error (error, CPUFREQ_SELECTOR_SERVICE_ERROR, SERVICE_ERROR_DBUS, "Failed to acquire %s", BUS_NAME); } return FALSE; } if (result == DBUS_REQUEST_NAME_REPLY_EXISTS) { g_set_error (error, CPUFREQ_SELECTOR_SERVICE_ERROR, SERVICE_ERROR_ALREADY_REGISTERED, "Service %s already registered", BUS_NAME); return FALSE; } service->authority = polkit_authority_get (); service->system_bus = connection; dbus_g_object_type_install_info (CPUFREQ_TYPE_SELECTOR_SERVICE, &dbus_glib_cpufreq_selector_service_object_info); dbus_g_connection_register_g_object (connection, "/org/gnome/cpufreq_selector/selector", G_OBJECT (service)); dbus_g_error_domain_register (CPUFREQ_SELECTOR_SERVICE_ERROR, NULL, CPUFREQ_TYPE_SELECTOR_SERVICE_ERROR); reset_killtimer (); return TRUE; }
static void nm_vpn_plugin_class_init (NMVPNPluginClass *plugin_class) { GObjectClass *object_class = G_OBJECT_CLASS (plugin_class); g_type_class_add_private (object_class, sizeof (NMVPNPluginPrivate)); dbus_g_object_type_install_info (G_TYPE_FROM_CLASS (plugin_class), &dbus_glib_nm_vpn_plugin_object_info); /* virtual methods */ object_class->constructor = constructor; object_class->set_property = set_property; object_class->get_property = get_property; object_class->dispose = dispose; object_class->finalize = finalize; plugin_class->state_changed = state_changed; /* properties */ g_object_class_install_property (object_class, PROP_DBUS_SERVICE_NAME, g_param_spec_string (NM_VPN_PLUGIN_DBUS_SERVICE_NAME, "DBus service name", "DBus service name", NULL, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); g_object_class_install_property (object_class, PROP_STATE, g_param_spec_uint (NM_VPN_PLUGIN_STATE, "State", "Current VPN service state", NM_VPN_SERVICE_STATE_UNKNOWN, NM_VPN_SERVICE_STATE_STOPPED, NM_VPN_SERVICE_STATE_INIT, G_PARAM_READWRITE)); /* signals */ signals[STATE_CHANGED] = g_signal_new ("state-changed", G_OBJECT_CLASS_TYPE (object_class), G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET (NMVPNPluginClass, state_changed), NULL, NULL, g_cclosure_marshal_VOID__UINT, G_TYPE_NONE, 1, G_TYPE_UINT); signals[SECRETS_REQUIRED] = g_signal_new ("secrets-required", G_OBJECT_CLASS_TYPE (object_class), G_SIGNAL_RUN_FIRST, 0, NULL, NULL, NULL, G_TYPE_NONE, 2, G_TYPE_STRING, G_TYPE_STRV); signals[CONFIG] = g_signal_new ("config", G_OBJECT_CLASS_TYPE (object_class), G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET (NMVPNPluginClass, config), NULL, NULL, g_cclosure_marshal_VOID__BOXED, G_TYPE_NONE, 1, DBUS_TYPE_G_MAP_OF_VARIANT); signals[IP4_CONFIG] = g_signal_new ("ip4-config", G_OBJECT_CLASS_TYPE (object_class), G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET (NMVPNPluginClass, ip4_config), NULL, NULL, g_cclosure_marshal_VOID__BOXED, G_TYPE_NONE, 1, DBUS_TYPE_G_MAP_OF_VARIANT); signals[IP6_CONFIG] = g_signal_new ("ip6-config", G_OBJECT_CLASS_TYPE (object_class), G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET (NMVPNPluginClass, ip6_config), NULL, NULL, g_cclosure_marshal_VOID__BOXED, G_TYPE_NONE, 1, DBUS_TYPE_G_MAP_OF_VARIANT); signals[LOGIN_BANNER] = g_signal_new ("login-banner", G_OBJECT_CLASS_TYPE (object_class), G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET (NMVPNPluginClass, login_banner), NULL, NULL, g_cclosure_marshal_VOID__STRING, G_TYPE_NONE, 1, G_TYPE_STRING); signals[FAILURE] = g_signal_new ("failure", G_OBJECT_CLASS_TYPE (object_class), G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET (NMVPNPluginClass, failure), NULL, NULL, g_cclosure_marshal_VOID__UINT, G_TYPE_NONE, 1, G_TYPE_UINT); signals[QUIT] = g_signal_new ("quit", G_OBJECT_CLASS_TYPE (object_class), G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET (NMVPNPluginClass, quit), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0, G_TYPE_NONE); dbus_g_error_domain_register (NM_VPN_PLUGIN_ERROR, NM_DBUS_VPN_ERROR_PREFIX, NM_TYPE_VPN_PLUGIN_ERROR); setup_unix_signal_handler (); }
static void nm_device_olpc_mesh_class_init (NMDeviceOlpcMeshClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); NMDeviceClass *parent_class = NM_DEVICE_CLASS (klass); g_type_class_add_private (object_class, sizeof (NMDeviceOlpcMeshPrivate)); object_class->constructor = constructor; object_class->get_property = get_property; object_class->set_property = set_property; object_class->dispose = dispose; parent_class->get_type_capabilities = NULL; parent_class->get_generic_capabilities = real_get_generic_capabilities; parent_class->hw_is_up = real_hw_is_up; parent_class->hw_bring_up = real_hw_bring_up; parent_class->hw_take_down = real_hw_take_down; parent_class->is_up = real_is_up; parent_class->bring_up = real_bring_up; parent_class->take_down = real_take_down; parent_class->update_hw_address = real_update_hw_address; parent_class->check_connection_compatible = real_check_connection_compatible; parent_class->complete_connection = real_complete_connection; parent_class->act_stage1_prepare = real_act_stage1_prepare; parent_class->act_stage2_config = real_act_stage2_config; /* Properties */ g_object_class_install_property (object_class, PROP_HW_ADDRESS, g_param_spec_string (NM_DEVICE_OLPC_MESH_HW_ADDRESS, "MAC Address", "Hardware MAC address", NULL, G_PARAM_READABLE)); g_object_class_install_property (object_class, PROP_COMPANION, g_param_spec_boxed (NM_DEVICE_OLPC_MESH_COMPANION, "Companion device", "Companion device object path", DBUS_TYPE_G_OBJECT_PATH, G_PARAM_READABLE)); g_object_class_install_property (object_class, PROP_ACTIVE_CHANNEL, g_param_spec_uint (NM_DEVICE_OLPC_MESH_ACTIVE_CHANNEL, "Active channel", "Active channel", 0, G_MAXUINT32, 0, G_PARAM_READABLE)); signals[PROPERTIES_CHANGED] = nm_properties_changed_signal_new (object_class, G_STRUCT_OFFSET (NMDeviceOlpcMeshClass, properties_changed)); dbus_g_object_type_install_info (G_TYPE_FROM_CLASS (klass), &dbus_glib_nm_device_olpc_mesh_object_info); dbus_g_error_domain_register (NM_OLPC_MESH_ERROR, NULL, NM_TYPE_OLPC_MESH_ERROR); }