Back to index

indicator-session  12.10.0
dbus-user.c
Go to the documentation of this file.
00001 /*
00002  * Generated by gdbus-codegen 2.33.3. DO NOT EDIT.
00003  *
00004  * The license of this code is the same as for the source it was derived from.
00005  */
00006 
00007 #ifdef HAVE_CONFIG_H
00008 #  include "config.h"
00009 #endif
00010 
00011 #include "dbus-user.h"
00012 
00013 #include <string.h>
00014 #ifdef G_OS_UNIX
00015 #  include <gio/gunixfdlist.h>
00016 #endif
00017 
00018 typedef struct
00019 {
00020   GDBusArgInfo parent_struct;
00021   gboolean use_gvariant;
00022 } _ExtendedGDBusArgInfo;
00023 
00024 typedef struct
00025 {
00026   GDBusMethodInfo parent_struct;
00027   const gchar *signal_name;
00028   gboolean pass_fdlist;
00029 } _ExtendedGDBusMethodInfo;
00030 
00031 typedef struct
00032 {
00033   GDBusSignalInfo parent_struct;
00034   const gchar *signal_name;
00035 } _ExtendedGDBusSignalInfo;
00036 
00037 typedef struct
00038 {
00039   GDBusPropertyInfo parent_struct;
00040   const gchar *hyphen_name;
00041   gboolean use_gvariant;
00042 } _ExtendedGDBusPropertyInfo;
00043 
00044 typedef struct
00045 {
00046   GDBusInterfaceInfo parent_struct;
00047   const gchar *hyphen_name;
00048 } _ExtendedGDBusInterfaceInfo;
00049 
00050 typedef struct
00051 {
00052   const _ExtendedGDBusPropertyInfo *info;
00053   guint prop_id;
00054   GValue orig_value; /* the value before the change */
00055 } ChangedProperty;
00056 
00057 static void
00058 _changed_property_free (ChangedProperty *data)
00059 {
00060   g_value_unset (&data->orig_value);
00061   g_free (data);
00062 }
00063 
00064 static gboolean
00065 _g_strv_equal0 (gchar **a, gchar **b)
00066 {
00067   gboolean ret = FALSE;
00068   guint n;
00069   if (a == NULL && b == NULL)
00070     {
00071       ret = TRUE;
00072       goto out;
00073     }
00074   if (a == NULL || b == NULL)
00075     goto out;
00076   if (g_strv_length (a) != g_strv_length (b))
00077     goto out;
00078   for (n = 0; a[n] != NULL; n++)
00079     if (g_strcmp0 (a[n], b[n]) != 0)
00080       goto out;
00081   ret = TRUE;
00082 out:
00083   return ret;
00084 }
00085 
00086 static gboolean
00087 _g_variant_equal0 (GVariant *a, GVariant *b)
00088 {
00089   gboolean ret = FALSE;
00090   if (a == NULL && b == NULL)
00091     {
00092       ret = TRUE;
00093       goto out;
00094     }
00095   if (a == NULL || b == NULL)
00096     goto out;
00097   ret = g_variant_equal (a, b);
00098 out:
00099   return ret;
00100 }
00101 
00102 G_GNUC_UNUSED static gboolean
00103 _g_value_equal (const GValue *a, const GValue *b)
00104 {
00105   gboolean ret = FALSE;
00106   g_assert (G_VALUE_TYPE (a) == G_VALUE_TYPE (b));
00107   switch (G_VALUE_TYPE (a))
00108     {
00109       case G_TYPE_BOOLEAN:
00110         ret = (g_value_get_boolean (a) == g_value_get_boolean (b));
00111         break;
00112       case G_TYPE_UCHAR:
00113         ret = (g_value_get_uchar (a) == g_value_get_uchar (b));
00114         break;
00115       case G_TYPE_INT:
00116         ret = (g_value_get_int (a) == g_value_get_int (b));
00117         break;
00118       case G_TYPE_UINT:
00119         ret = (g_value_get_uint (a) == g_value_get_uint (b));
00120         break;
00121       case G_TYPE_INT64:
00122         ret = (g_value_get_int64 (a) == g_value_get_int64 (b));
00123         break;
00124       case G_TYPE_UINT64:
00125         ret = (g_value_get_uint64 (a) == g_value_get_uint64 (b));
00126         break;
00127       case G_TYPE_DOUBLE:
00128         {
00129           /* Avoid -Wfloat-equal warnings by doing a direct bit compare */
00130           gdouble da = g_value_get_double (a);
00131           gdouble db = g_value_get_double (b);
00132           ret = memcmp (&da, &db, sizeof (gdouble)) == 0;
00133         }
00134         break;
00135       case G_TYPE_STRING:
00136         ret = (g_strcmp0 (g_value_get_string (a), g_value_get_string (b)) == 0);
00137         break;
00138       case G_TYPE_VARIANT:
00139         ret = _g_variant_equal0 (g_value_get_variant (a), g_value_get_variant (b));
00140         break;
00141       default:
00142         if (G_VALUE_TYPE (a) == G_TYPE_STRV)
00143           ret = _g_strv_equal0 (g_value_get_boxed (a), g_value_get_boxed (b));
00144         else
00145           g_critical ("_g_value_equal() does not handle type %s", g_type_name (G_VALUE_TYPE (a)));
00146         break;
00147     }
00148   return ret;
00149 }
00150 
00151 /* ------------------------------------------------------------------------
00152  * Code for interface org.freedesktop.Accounts.User
00153  * ------------------------------------------------------------------------
00154  */
00155 
00164 /* ---- Introspection data for org.freedesktop.Accounts.User ---- */
00165 
00166 static const _ExtendedGDBusArgInfo _accounts_user_method_info_set_user_name_IN_ARG_name =
00167 {
00168   {
00169     -1,
00170     (gchar *) "name",
00171     (gchar *) "s",
00172     NULL
00173   },
00174   FALSE
00175 };
00176 
00177 static const _ExtendedGDBusArgInfo * const _accounts_user_method_info_set_user_name_IN_ARG_pointers[] =
00178 {
00179   &_accounts_user_method_info_set_user_name_IN_ARG_name,
00180   NULL
00181 };
00182 
00183 static const GDBusAnnotationInfo _accounts_user_method_set_user_name_annotation_info_0 =
00184 {
00185   -1,
00186   (gchar *) "org.freedesktop.DBus.GLib.Async",
00187   (gchar *) "",
00188   NULL
00189 };
00190 
00191 static const GDBusAnnotationInfo * const _accounts_user_method_set_user_name_annotation_info_pointers[] =
00192 {
00193   &_accounts_user_method_set_user_name_annotation_info_0,
00194   NULL
00195 };
00196 
00197 static const _ExtendedGDBusMethodInfo _accounts_user_method_info_set_user_name =
00198 {
00199   {
00200     -1,
00201     (gchar *) "SetUserName",
00202     (GDBusArgInfo **) &_accounts_user_method_info_set_user_name_IN_ARG_pointers,
00203     NULL,
00204     (GDBusAnnotationInfo **) &_accounts_user_method_set_user_name_annotation_info_pointers
00205   },
00206   "handle-set-user-name",
00207   FALSE
00208 };
00209 
00210 static const _ExtendedGDBusArgInfo _accounts_user_method_info_set_real_name_IN_ARG_name =
00211 {
00212   {
00213     -1,
00214     (gchar *) "name",
00215     (gchar *) "s",
00216     NULL
00217   },
00218   FALSE
00219 };
00220 
00221 static const _ExtendedGDBusArgInfo * const _accounts_user_method_info_set_real_name_IN_ARG_pointers[] =
00222 {
00223   &_accounts_user_method_info_set_real_name_IN_ARG_name,
00224   NULL
00225 };
00226 
00227 static const GDBusAnnotationInfo _accounts_user_method_set_real_name_annotation_info_0 =
00228 {
00229   -1,
00230   (gchar *) "org.freedesktop.DBus.GLib.Async",
00231   (gchar *) "",
00232   NULL
00233 };
00234 
00235 static const GDBusAnnotationInfo * const _accounts_user_method_set_real_name_annotation_info_pointers[] =
00236 {
00237   &_accounts_user_method_set_real_name_annotation_info_0,
00238   NULL
00239 };
00240 
00241 static const _ExtendedGDBusMethodInfo _accounts_user_method_info_set_real_name =
00242 {
00243   {
00244     -1,
00245     (gchar *) "SetRealName",
00246     (GDBusArgInfo **) &_accounts_user_method_info_set_real_name_IN_ARG_pointers,
00247     NULL,
00248     (GDBusAnnotationInfo **) &_accounts_user_method_set_real_name_annotation_info_pointers
00249   },
00250   "handle-set-real-name",
00251   FALSE
00252 };
00253 
00254 static const _ExtendedGDBusArgInfo _accounts_user_method_info_set_email_IN_ARG_email =
00255 {
00256   {
00257     -1,
00258     (gchar *) "email",
00259     (gchar *) "s",
00260     NULL
00261   },
00262   FALSE
00263 };
00264 
00265 static const _ExtendedGDBusArgInfo * const _accounts_user_method_info_set_email_IN_ARG_pointers[] =
00266 {
00267   &_accounts_user_method_info_set_email_IN_ARG_email,
00268   NULL
00269 };
00270 
00271 static const GDBusAnnotationInfo _accounts_user_method_set_email_annotation_info_0 =
00272 {
00273   -1,
00274   (gchar *) "org.freedesktop.DBus.GLib.Async",
00275   (gchar *) "",
00276   NULL
00277 };
00278 
00279 static const GDBusAnnotationInfo * const _accounts_user_method_set_email_annotation_info_pointers[] =
00280 {
00281   &_accounts_user_method_set_email_annotation_info_0,
00282   NULL
00283 };
00284 
00285 static const _ExtendedGDBusMethodInfo _accounts_user_method_info_set_email =
00286 {
00287   {
00288     -1,
00289     (gchar *) "SetEmail",
00290     (GDBusArgInfo **) &_accounts_user_method_info_set_email_IN_ARG_pointers,
00291     NULL,
00292     (GDBusAnnotationInfo **) &_accounts_user_method_set_email_annotation_info_pointers
00293   },
00294   "handle-set-email",
00295   FALSE
00296 };
00297 
00298 static const _ExtendedGDBusArgInfo _accounts_user_method_info_set_language_IN_ARG_language =
00299 {
00300   {
00301     -1,
00302     (gchar *) "language",
00303     (gchar *) "s",
00304     NULL
00305   },
00306   FALSE
00307 };
00308 
00309 static const _ExtendedGDBusArgInfo * const _accounts_user_method_info_set_language_IN_ARG_pointers[] =
00310 {
00311   &_accounts_user_method_info_set_language_IN_ARG_language,
00312   NULL
00313 };
00314 
00315 static const GDBusAnnotationInfo _accounts_user_method_set_language_annotation_info_0 =
00316 {
00317   -1,
00318   (gchar *) "org.freedesktop.DBus.GLib.Async",
00319   (gchar *) "",
00320   NULL
00321 };
00322 
00323 static const GDBusAnnotationInfo * const _accounts_user_method_set_language_annotation_info_pointers[] =
00324 {
00325   &_accounts_user_method_set_language_annotation_info_0,
00326   NULL
00327 };
00328 
00329 static const _ExtendedGDBusMethodInfo _accounts_user_method_info_set_language =
00330 {
00331   {
00332     -1,
00333     (gchar *) "SetLanguage",
00334     (GDBusArgInfo **) &_accounts_user_method_info_set_language_IN_ARG_pointers,
00335     NULL,
00336     (GDBusAnnotationInfo **) &_accounts_user_method_set_language_annotation_info_pointers
00337   },
00338   "handle-set-language",
00339   FALSE
00340 };
00341 
00342 static const _ExtendedGDBusArgInfo _accounts_user_method_info_set_xsession_IN_ARG_x_session =
00343 {
00344   {
00345     -1,
00346     (gchar *) "x_session",
00347     (gchar *) "s",
00348     NULL
00349   },
00350   FALSE
00351 };
00352 
00353 static const _ExtendedGDBusArgInfo * const _accounts_user_method_info_set_xsession_IN_ARG_pointers[] =
00354 {
00355   &_accounts_user_method_info_set_xsession_IN_ARG_x_session,
00356   NULL
00357 };
00358 
00359 static const GDBusAnnotationInfo _accounts_user_method_set_xsession_annotation_info_0 =
00360 {
00361   -1,
00362   (gchar *) "org.freedesktop.DBus.GLib.Async",
00363   (gchar *) "",
00364   NULL
00365 };
00366 
00367 static const GDBusAnnotationInfo _accounts_user_method_set_xsession_annotation_info_1 =
00368 {
00369   -1,
00370   (gchar *) "org.freedesktop.DBus.GLib.CSymbol",
00371   (gchar *) "user_set_x_session",
00372   NULL
00373 };
00374 
00375 static const GDBusAnnotationInfo * const _accounts_user_method_set_xsession_annotation_info_pointers[] =
00376 {
00377   &_accounts_user_method_set_xsession_annotation_info_0,
00378   &_accounts_user_method_set_xsession_annotation_info_1,
00379   NULL
00380 };
00381 
00382 static const _ExtendedGDBusMethodInfo _accounts_user_method_info_set_xsession =
00383 {
00384   {
00385     -1,
00386     (gchar *) "SetXSession",
00387     (GDBusArgInfo **) &_accounts_user_method_info_set_xsession_IN_ARG_pointers,
00388     NULL,
00389     (GDBusAnnotationInfo **) &_accounts_user_method_set_xsession_annotation_info_pointers
00390   },
00391   "handle-set-xsession",
00392   FALSE
00393 };
00394 
00395 static const _ExtendedGDBusArgInfo _accounts_user_method_info_set_location_IN_ARG_location =
00396 {
00397   {
00398     -1,
00399     (gchar *) "location",
00400     (gchar *) "s",
00401     NULL
00402   },
00403   FALSE
00404 };
00405 
00406 static const _ExtendedGDBusArgInfo * const _accounts_user_method_info_set_location_IN_ARG_pointers[] =
00407 {
00408   &_accounts_user_method_info_set_location_IN_ARG_location,
00409   NULL
00410 };
00411 
00412 static const GDBusAnnotationInfo _accounts_user_method_set_location_annotation_info_0 =
00413 {
00414   -1,
00415   (gchar *) "org.freedesktop.DBus.GLib.Async",
00416   (gchar *) "",
00417   NULL
00418 };
00419 
00420 static const GDBusAnnotationInfo * const _accounts_user_method_set_location_annotation_info_pointers[] =
00421 {
00422   &_accounts_user_method_set_location_annotation_info_0,
00423   NULL
00424 };
00425 
00426 static const _ExtendedGDBusMethodInfo _accounts_user_method_info_set_location =
00427 {
00428   {
00429     -1,
00430     (gchar *) "SetLocation",
00431     (GDBusArgInfo **) &_accounts_user_method_info_set_location_IN_ARG_pointers,
00432     NULL,
00433     (GDBusAnnotationInfo **) &_accounts_user_method_set_location_annotation_info_pointers
00434   },
00435   "handle-set-location",
00436   FALSE
00437 };
00438 
00439 static const _ExtendedGDBusArgInfo _accounts_user_method_info_set_home_directory_IN_ARG_homedir =
00440 {
00441   {
00442     -1,
00443     (gchar *) "homedir",
00444     (gchar *) "s",
00445     NULL
00446   },
00447   FALSE
00448 };
00449 
00450 static const _ExtendedGDBusArgInfo * const _accounts_user_method_info_set_home_directory_IN_ARG_pointers[] =
00451 {
00452   &_accounts_user_method_info_set_home_directory_IN_ARG_homedir,
00453   NULL
00454 };
00455 
00456 static const GDBusAnnotationInfo _accounts_user_method_set_home_directory_annotation_info_0 =
00457 {
00458   -1,
00459   (gchar *) "org.freedesktop.DBus.GLib.Async",
00460   (gchar *) "",
00461   NULL
00462 };
00463 
00464 static const GDBusAnnotationInfo * const _accounts_user_method_set_home_directory_annotation_info_pointers[] =
00465 {
00466   &_accounts_user_method_set_home_directory_annotation_info_0,
00467   NULL
00468 };
00469 
00470 static const _ExtendedGDBusMethodInfo _accounts_user_method_info_set_home_directory =
00471 {
00472   {
00473     -1,
00474     (gchar *) "SetHomeDirectory",
00475     (GDBusArgInfo **) &_accounts_user_method_info_set_home_directory_IN_ARG_pointers,
00476     NULL,
00477     (GDBusAnnotationInfo **) &_accounts_user_method_set_home_directory_annotation_info_pointers
00478   },
00479   "handle-set-home-directory",
00480   FALSE
00481 };
00482 
00483 static const _ExtendedGDBusArgInfo _accounts_user_method_info_set_shell_IN_ARG_shell =
00484 {
00485   {
00486     -1,
00487     (gchar *) "shell",
00488     (gchar *) "s",
00489     NULL
00490   },
00491   FALSE
00492 };
00493 
00494 static const _ExtendedGDBusArgInfo * const _accounts_user_method_info_set_shell_IN_ARG_pointers[] =
00495 {
00496   &_accounts_user_method_info_set_shell_IN_ARG_shell,
00497   NULL
00498 };
00499 
00500 static const GDBusAnnotationInfo _accounts_user_method_set_shell_annotation_info_0 =
00501 {
00502   -1,
00503   (gchar *) "org.freedesktop.DBus.GLib.Async",
00504   (gchar *) "",
00505   NULL
00506 };
00507 
00508 static const GDBusAnnotationInfo * const _accounts_user_method_set_shell_annotation_info_pointers[] =
00509 {
00510   &_accounts_user_method_set_shell_annotation_info_0,
00511   NULL
00512 };
00513 
00514 static const _ExtendedGDBusMethodInfo _accounts_user_method_info_set_shell =
00515 {
00516   {
00517     -1,
00518     (gchar *) "SetShell",
00519     (GDBusArgInfo **) &_accounts_user_method_info_set_shell_IN_ARG_pointers,
00520     NULL,
00521     (GDBusAnnotationInfo **) &_accounts_user_method_set_shell_annotation_info_pointers
00522   },
00523   "handle-set-shell",
00524   FALSE
00525 };
00526 
00527 static const _ExtendedGDBusArgInfo _accounts_user_method_info_set_icon_file_IN_ARG_filename =
00528 {
00529   {
00530     -1,
00531     (gchar *) "filename",
00532     (gchar *) "s",
00533     NULL
00534   },
00535   FALSE
00536 };
00537 
00538 static const _ExtendedGDBusArgInfo * const _accounts_user_method_info_set_icon_file_IN_ARG_pointers[] =
00539 {
00540   &_accounts_user_method_info_set_icon_file_IN_ARG_filename,
00541   NULL
00542 };
00543 
00544 static const GDBusAnnotationInfo _accounts_user_method_set_icon_file_annotation_info_0 =
00545 {
00546   -1,
00547   (gchar *) "org.freedesktop.DBus.GLib.Async",
00548   (gchar *) "",
00549   NULL
00550 };
00551 
00552 static const GDBusAnnotationInfo * const _accounts_user_method_set_icon_file_annotation_info_pointers[] =
00553 {
00554   &_accounts_user_method_set_icon_file_annotation_info_0,
00555   NULL
00556 };
00557 
00558 static const _ExtendedGDBusMethodInfo _accounts_user_method_info_set_icon_file =
00559 {
00560   {
00561     -1,
00562     (gchar *) "SetIconFile",
00563     (GDBusArgInfo **) &_accounts_user_method_info_set_icon_file_IN_ARG_pointers,
00564     NULL,
00565     (GDBusAnnotationInfo **) &_accounts_user_method_set_icon_file_annotation_info_pointers
00566   },
00567   "handle-set-icon-file",
00568   FALSE
00569 };
00570 
00571 static const _ExtendedGDBusArgInfo _accounts_user_method_info_set_locked_IN_ARG_locked =
00572 {
00573   {
00574     -1,
00575     (gchar *) "locked",
00576     (gchar *) "b",
00577     NULL
00578   },
00579   FALSE
00580 };
00581 
00582 static const _ExtendedGDBusArgInfo * const _accounts_user_method_info_set_locked_IN_ARG_pointers[] =
00583 {
00584   &_accounts_user_method_info_set_locked_IN_ARG_locked,
00585   NULL
00586 };
00587 
00588 static const GDBusAnnotationInfo _accounts_user_method_set_locked_annotation_info_0 =
00589 {
00590   -1,
00591   (gchar *) "org.freedesktop.DBus.GLib.Async",
00592   (gchar *) "",
00593   NULL
00594 };
00595 
00596 static const GDBusAnnotationInfo * const _accounts_user_method_set_locked_annotation_info_pointers[] =
00597 {
00598   &_accounts_user_method_set_locked_annotation_info_0,
00599   NULL
00600 };
00601 
00602 static const _ExtendedGDBusMethodInfo _accounts_user_method_info_set_locked =
00603 {
00604   {
00605     -1,
00606     (gchar *) "SetLocked",
00607     (GDBusArgInfo **) &_accounts_user_method_info_set_locked_IN_ARG_pointers,
00608     NULL,
00609     (GDBusAnnotationInfo **) &_accounts_user_method_set_locked_annotation_info_pointers
00610   },
00611   "handle-set-locked",
00612   FALSE
00613 };
00614 
00615 static const _ExtendedGDBusArgInfo _accounts_user_method_info_set_account_type_IN_ARG_accountType =
00616 {
00617   {
00618     -1,
00619     (gchar *) "accountType",
00620     (gchar *) "i",
00621     NULL
00622   },
00623   FALSE
00624 };
00625 
00626 static const _ExtendedGDBusArgInfo * const _accounts_user_method_info_set_account_type_IN_ARG_pointers[] =
00627 {
00628   &_accounts_user_method_info_set_account_type_IN_ARG_accountType,
00629   NULL
00630 };
00631 
00632 static const GDBusAnnotationInfo _accounts_user_method_set_account_type_annotation_info_0 =
00633 {
00634   -1,
00635   (gchar *) "org.freedesktop.DBus.GLib.Async",
00636   (gchar *) "",
00637   NULL
00638 };
00639 
00640 static const GDBusAnnotationInfo * const _accounts_user_method_set_account_type_annotation_info_pointers[] =
00641 {
00642   &_accounts_user_method_set_account_type_annotation_info_0,
00643   NULL
00644 };
00645 
00646 static const _ExtendedGDBusMethodInfo _accounts_user_method_info_set_account_type =
00647 {
00648   {
00649     -1,
00650     (gchar *) "SetAccountType",
00651     (GDBusArgInfo **) &_accounts_user_method_info_set_account_type_IN_ARG_pointers,
00652     NULL,
00653     (GDBusAnnotationInfo **) &_accounts_user_method_set_account_type_annotation_info_pointers
00654   },
00655   "handle-set-account-type",
00656   FALSE
00657 };
00658 
00659 static const _ExtendedGDBusArgInfo _accounts_user_method_info_set_password_mode_IN_ARG_mode =
00660 {
00661   {
00662     -1,
00663     (gchar *) "mode",
00664     (gchar *) "i",
00665     NULL
00666   },
00667   FALSE
00668 };
00669 
00670 static const _ExtendedGDBusArgInfo * const _accounts_user_method_info_set_password_mode_IN_ARG_pointers[] =
00671 {
00672   &_accounts_user_method_info_set_password_mode_IN_ARG_mode,
00673   NULL
00674 };
00675 
00676 static const GDBusAnnotationInfo _accounts_user_method_set_password_mode_annotation_info_0 =
00677 {
00678   -1,
00679   (gchar *) "org.freedesktop.DBus.GLib.Async",
00680   (gchar *) "",
00681   NULL
00682 };
00683 
00684 static const GDBusAnnotationInfo * const _accounts_user_method_set_password_mode_annotation_info_pointers[] =
00685 {
00686   &_accounts_user_method_set_password_mode_annotation_info_0,
00687   NULL
00688 };
00689 
00690 static const _ExtendedGDBusMethodInfo _accounts_user_method_info_set_password_mode =
00691 {
00692   {
00693     -1,
00694     (gchar *) "SetPasswordMode",
00695     (GDBusArgInfo **) &_accounts_user_method_info_set_password_mode_IN_ARG_pointers,
00696     NULL,
00697     (GDBusAnnotationInfo **) &_accounts_user_method_set_password_mode_annotation_info_pointers
00698   },
00699   "handle-set-password-mode",
00700   FALSE
00701 };
00702 
00703 static const _ExtendedGDBusArgInfo _accounts_user_method_info_set_password_IN_ARG_password =
00704 {
00705   {
00706     -1,
00707     (gchar *) "password",
00708     (gchar *) "s",
00709     NULL
00710   },
00711   FALSE
00712 };
00713 
00714 static const _ExtendedGDBusArgInfo _accounts_user_method_info_set_password_IN_ARG_hint =
00715 {
00716   {
00717     -1,
00718     (gchar *) "hint",
00719     (gchar *) "s",
00720     NULL
00721   },
00722   FALSE
00723 };
00724 
00725 static const _ExtendedGDBusArgInfo * const _accounts_user_method_info_set_password_IN_ARG_pointers[] =
00726 {
00727   &_accounts_user_method_info_set_password_IN_ARG_password,
00728   &_accounts_user_method_info_set_password_IN_ARG_hint,
00729   NULL
00730 };
00731 
00732 static const GDBusAnnotationInfo _accounts_user_method_set_password_annotation_info_0 =
00733 {
00734   -1,
00735   (gchar *) "org.freedesktop.DBus.GLib.Async",
00736   (gchar *) "",
00737   NULL
00738 };
00739 
00740 static const GDBusAnnotationInfo * const _accounts_user_method_set_password_annotation_info_pointers[] =
00741 {
00742   &_accounts_user_method_set_password_annotation_info_0,
00743   NULL
00744 };
00745 
00746 static const _ExtendedGDBusMethodInfo _accounts_user_method_info_set_password =
00747 {
00748   {
00749     -1,
00750     (gchar *) "SetPassword",
00751     (GDBusArgInfo **) &_accounts_user_method_info_set_password_IN_ARG_pointers,
00752     NULL,
00753     (GDBusAnnotationInfo **) &_accounts_user_method_set_password_annotation_info_pointers
00754   },
00755   "handle-set-password",
00756   FALSE
00757 };
00758 
00759 static const _ExtendedGDBusArgInfo _accounts_user_method_info_set_automatic_login_IN_ARG_enabled =
00760 {
00761   {
00762     -1,
00763     (gchar *) "enabled",
00764     (gchar *) "b",
00765     NULL
00766   },
00767   FALSE
00768 };
00769 
00770 static const _ExtendedGDBusArgInfo * const _accounts_user_method_info_set_automatic_login_IN_ARG_pointers[] =
00771 {
00772   &_accounts_user_method_info_set_automatic_login_IN_ARG_enabled,
00773   NULL
00774 };
00775 
00776 static const GDBusAnnotationInfo _accounts_user_method_set_automatic_login_annotation_info_0 =
00777 {
00778   -1,
00779   (gchar *) "org.freedesktop.DBus.GLib.Async",
00780   (gchar *) "",
00781   NULL
00782 };
00783 
00784 static const GDBusAnnotationInfo * const _accounts_user_method_set_automatic_login_annotation_info_pointers[] =
00785 {
00786   &_accounts_user_method_set_automatic_login_annotation_info_0,
00787   NULL
00788 };
00789 
00790 static const _ExtendedGDBusMethodInfo _accounts_user_method_info_set_automatic_login =
00791 {
00792   {
00793     -1,
00794     (gchar *) "SetAutomaticLogin",
00795     (GDBusArgInfo **) &_accounts_user_method_info_set_automatic_login_IN_ARG_pointers,
00796     NULL,
00797     (GDBusAnnotationInfo **) &_accounts_user_method_set_automatic_login_annotation_info_pointers
00798   },
00799   "handle-set-automatic-login",
00800   FALSE
00801 };
00802 
00803 static const _ExtendedGDBusMethodInfo * const _accounts_user_method_info_pointers[] =
00804 {
00805   &_accounts_user_method_info_set_user_name,
00806   &_accounts_user_method_info_set_real_name,
00807   &_accounts_user_method_info_set_email,
00808   &_accounts_user_method_info_set_language,
00809   &_accounts_user_method_info_set_xsession,
00810   &_accounts_user_method_info_set_location,
00811   &_accounts_user_method_info_set_home_directory,
00812   &_accounts_user_method_info_set_shell,
00813   &_accounts_user_method_info_set_icon_file,
00814   &_accounts_user_method_info_set_locked,
00815   &_accounts_user_method_info_set_account_type,
00816   &_accounts_user_method_info_set_password_mode,
00817   &_accounts_user_method_info_set_password,
00818   &_accounts_user_method_info_set_automatic_login,
00819   NULL
00820 };
00821 
00822 static const _ExtendedGDBusSignalInfo _accounts_user_signal_info_changed =
00823 {
00824   {
00825     -1,
00826     (gchar *) "Changed",
00827     NULL,
00828     NULL
00829   },
00830   "changed"
00831 };
00832 
00833 static const _ExtendedGDBusSignalInfo * const _accounts_user_signal_info_pointers[] =
00834 {
00835   &_accounts_user_signal_info_changed,
00836   NULL
00837 };
00838 
00839 static const _ExtendedGDBusPropertyInfo _accounts_user_property_info_uid =
00840 {
00841   {
00842     -1,
00843     (gchar *) "Uid",
00844     (gchar *) "t",
00845     G_DBUS_PROPERTY_INFO_FLAGS_READABLE,
00846     NULL
00847   },
00848   "uid",
00849   FALSE
00850 };
00851 
00852 static const _ExtendedGDBusPropertyInfo _accounts_user_property_info_user_name =
00853 {
00854   {
00855     -1,
00856     (gchar *) "UserName",
00857     (gchar *) "s",
00858     G_DBUS_PROPERTY_INFO_FLAGS_READABLE,
00859     NULL
00860   },
00861   "user-name",
00862   FALSE
00863 };
00864 
00865 static const _ExtendedGDBusPropertyInfo _accounts_user_property_info_real_name =
00866 {
00867   {
00868     -1,
00869     (gchar *) "RealName",
00870     (gchar *) "s",
00871     G_DBUS_PROPERTY_INFO_FLAGS_READABLE,
00872     NULL
00873   },
00874   "real-name",
00875   FALSE
00876 };
00877 
00878 static const _ExtendedGDBusPropertyInfo _accounts_user_property_info_account_type =
00879 {
00880   {
00881     -1,
00882     (gchar *) "AccountType",
00883     (gchar *) "i",
00884     G_DBUS_PROPERTY_INFO_FLAGS_READABLE,
00885     NULL
00886   },
00887   "account-type",
00888   FALSE
00889 };
00890 
00891 static const _ExtendedGDBusPropertyInfo _accounts_user_property_info_home_directory =
00892 {
00893   {
00894     -1,
00895     (gchar *) "HomeDirectory",
00896     (gchar *) "s",
00897     G_DBUS_PROPERTY_INFO_FLAGS_READABLE,
00898     NULL
00899   },
00900   "home-directory",
00901   FALSE
00902 };
00903 
00904 static const _ExtendedGDBusPropertyInfo _accounts_user_property_info_shell =
00905 {
00906   {
00907     -1,
00908     (gchar *) "Shell",
00909     (gchar *) "s",
00910     G_DBUS_PROPERTY_INFO_FLAGS_READABLE,
00911     NULL
00912   },
00913   "shell",
00914   FALSE
00915 };
00916 
00917 static const _ExtendedGDBusPropertyInfo _accounts_user_property_info_email =
00918 {
00919   {
00920     -1,
00921     (gchar *) "Email",
00922     (gchar *) "s",
00923     G_DBUS_PROPERTY_INFO_FLAGS_READABLE,
00924     NULL
00925   },
00926   "email",
00927   FALSE
00928 };
00929 
00930 static const _ExtendedGDBusPropertyInfo _accounts_user_property_info_language =
00931 {
00932   {
00933     -1,
00934     (gchar *) "Language",
00935     (gchar *) "s",
00936     G_DBUS_PROPERTY_INFO_FLAGS_READABLE,
00937     NULL
00938   },
00939   "language",
00940   FALSE
00941 };
00942 
00943 static const _ExtendedGDBusPropertyInfo _accounts_user_property_info_xsession =
00944 {
00945   {
00946     -1,
00947     (gchar *) "XSession",
00948     (gchar *) "s",
00949     G_DBUS_PROPERTY_INFO_FLAGS_READABLE,
00950     NULL
00951   },
00952   "xsession",
00953   FALSE
00954 };
00955 
00956 static const _ExtendedGDBusPropertyInfo _accounts_user_property_info_location =
00957 {
00958   {
00959     -1,
00960     (gchar *) "Location",
00961     (gchar *) "s",
00962     G_DBUS_PROPERTY_INFO_FLAGS_READABLE,
00963     NULL
00964   },
00965   "location",
00966   FALSE
00967 };
00968 
00969 static const _ExtendedGDBusPropertyInfo _accounts_user_property_info_login_frequency =
00970 {
00971   {
00972     -1,
00973     (gchar *) "LoginFrequency",
00974     (gchar *) "t",
00975     G_DBUS_PROPERTY_INFO_FLAGS_READABLE,
00976     NULL
00977   },
00978   "login-frequency",
00979   FALSE
00980 };
00981 
00982 static const _ExtendedGDBusPropertyInfo _accounts_user_property_info_icon_file =
00983 {
00984   {
00985     -1,
00986     (gchar *) "IconFile",
00987     (gchar *) "s",
00988     G_DBUS_PROPERTY_INFO_FLAGS_READABLE,
00989     NULL
00990   },
00991   "icon-file",
00992   FALSE
00993 };
00994 
00995 static const _ExtendedGDBusPropertyInfo _accounts_user_property_info_locked =
00996 {
00997   {
00998     -1,
00999     (gchar *) "Locked",
01000     (gchar *) "b",
01001     G_DBUS_PROPERTY_INFO_FLAGS_READABLE,
01002     NULL
01003   },
01004   "locked",
01005   FALSE
01006 };
01007 
01008 static const _ExtendedGDBusPropertyInfo _accounts_user_property_info_password_mode =
01009 {
01010   {
01011     -1,
01012     (gchar *) "PasswordMode",
01013     (gchar *) "i",
01014     G_DBUS_PROPERTY_INFO_FLAGS_READABLE,
01015     NULL
01016   },
01017   "password-mode",
01018   FALSE
01019 };
01020 
01021 static const _ExtendedGDBusPropertyInfo _accounts_user_property_info_password_hint =
01022 {
01023   {
01024     -1,
01025     (gchar *) "PasswordHint",
01026     (gchar *) "s",
01027     G_DBUS_PROPERTY_INFO_FLAGS_READABLE,
01028     NULL
01029   },
01030   "password-hint",
01031   FALSE
01032 };
01033 
01034 static const _ExtendedGDBusPropertyInfo _accounts_user_property_info_automatic_login =
01035 {
01036   {
01037     -1,
01038     (gchar *) "AutomaticLogin",
01039     (gchar *) "b",
01040     G_DBUS_PROPERTY_INFO_FLAGS_READABLE,
01041     NULL
01042   },
01043   "automatic-login",
01044   FALSE
01045 };
01046 
01047 static const _ExtendedGDBusPropertyInfo _accounts_user_property_info_system_account =
01048 {
01049   {
01050     -1,
01051     (gchar *) "SystemAccount",
01052     (gchar *) "b",
01053     G_DBUS_PROPERTY_INFO_FLAGS_READABLE,
01054     NULL
01055   },
01056   "system-account",
01057   FALSE
01058 };
01059 
01060 static const _ExtendedGDBusPropertyInfo * const _accounts_user_property_info_pointers[] =
01061 {
01062   &_accounts_user_property_info_uid,
01063   &_accounts_user_property_info_user_name,
01064   &_accounts_user_property_info_real_name,
01065   &_accounts_user_property_info_account_type,
01066   &_accounts_user_property_info_home_directory,
01067   &_accounts_user_property_info_shell,
01068   &_accounts_user_property_info_email,
01069   &_accounts_user_property_info_language,
01070   &_accounts_user_property_info_xsession,
01071   &_accounts_user_property_info_location,
01072   &_accounts_user_property_info_login_frequency,
01073   &_accounts_user_property_info_icon_file,
01074   &_accounts_user_property_info_locked,
01075   &_accounts_user_property_info_password_mode,
01076   &_accounts_user_property_info_password_hint,
01077   &_accounts_user_property_info_automatic_login,
01078   &_accounts_user_property_info_system_account,
01079   NULL
01080 };
01081 
01082 static const _ExtendedGDBusInterfaceInfo _accounts_user_interface_info =
01083 {
01084   {
01085     -1,
01086     (gchar *) "org.freedesktop.Accounts.User",
01087     (GDBusMethodInfo **) &_accounts_user_method_info_pointers,
01088     (GDBusSignalInfo **) &_accounts_user_signal_info_pointers,
01089     (GDBusPropertyInfo **) &_accounts_user_property_info_pointers,
01090     NULL
01091   },
01092   "accounts-user",
01093 };
01094 
01095 
01103 GDBusInterfaceInfo *
01104 accounts_user_interface_info (void)
01105 {
01106   return (GDBusInterfaceInfo *) &_accounts_user_interface_info;
01107 }
01108 
01119 guint
01120 accounts_user_override_properties (GObjectClass *klass, guint property_id_begin)
01121 {
01122   g_object_class_override_property (klass, property_id_begin++, "uid");
01123   g_object_class_override_property (klass, property_id_begin++, "user-name");
01124   g_object_class_override_property (klass, property_id_begin++, "real-name");
01125   g_object_class_override_property (klass, property_id_begin++, "account-type");
01126   g_object_class_override_property (klass, property_id_begin++, "home-directory");
01127   g_object_class_override_property (klass, property_id_begin++, "shell");
01128   g_object_class_override_property (klass, property_id_begin++, "email");
01129   g_object_class_override_property (klass, property_id_begin++, "language");
01130   g_object_class_override_property (klass, property_id_begin++, "xsession");
01131   g_object_class_override_property (klass, property_id_begin++, "location");
01132   g_object_class_override_property (klass, property_id_begin++, "login-frequency");
01133   g_object_class_override_property (klass, property_id_begin++, "icon-file");
01134   g_object_class_override_property (klass, property_id_begin++, "locked");
01135   g_object_class_override_property (klass, property_id_begin++, "password-mode");
01136   g_object_class_override_property (klass, property_id_begin++, "password-hint");
01137   g_object_class_override_property (klass, property_id_begin++, "automatic-login");
01138   g_object_class_override_property (klass, property_id_begin++, "system-account");
01139   return property_id_begin - 1;
01140 }
01141 
01142 
01143 
01189 static void
01190 accounts_user_default_init (AccountsUserIface *iface)
01191 {
01192   /* GObject signals for incoming D-Bus method calls: */
01205   g_signal_new ("handle-set-user-name",
01206     G_TYPE_FROM_INTERFACE (iface),
01207     G_SIGNAL_RUN_LAST,
01208     G_STRUCT_OFFSET (AccountsUserIface, handle_set_user_name),
01209     g_signal_accumulator_true_handled,
01210     NULL,
01211     g_cclosure_marshal_generic,
01212     G_TYPE_BOOLEAN,
01213     2,
01214     G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_STRING);
01215 
01228   g_signal_new ("handle-set-real-name",
01229     G_TYPE_FROM_INTERFACE (iface),
01230     G_SIGNAL_RUN_LAST,
01231     G_STRUCT_OFFSET (AccountsUserIface, handle_set_real_name),
01232     g_signal_accumulator_true_handled,
01233     NULL,
01234     g_cclosure_marshal_generic,
01235     G_TYPE_BOOLEAN,
01236     2,
01237     G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_STRING);
01238 
01251   g_signal_new ("handle-set-email",
01252     G_TYPE_FROM_INTERFACE (iface),
01253     G_SIGNAL_RUN_LAST,
01254     G_STRUCT_OFFSET (AccountsUserIface, handle_set_email),
01255     g_signal_accumulator_true_handled,
01256     NULL,
01257     g_cclosure_marshal_generic,
01258     G_TYPE_BOOLEAN,
01259     2,
01260     G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_STRING);
01261 
01274   g_signal_new ("handle-set-language",
01275     G_TYPE_FROM_INTERFACE (iface),
01276     G_SIGNAL_RUN_LAST,
01277     G_STRUCT_OFFSET (AccountsUserIface, handle_set_language),
01278     g_signal_accumulator_true_handled,
01279     NULL,
01280     g_cclosure_marshal_generic,
01281     G_TYPE_BOOLEAN,
01282     2,
01283     G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_STRING);
01284 
01297   g_signal_new ("handle-set-xsession",
01298     G_TYPE_FROM_INTERFACE (iface),
01299     G_SIGNAL_RUN_LAST,
01300     G_STRUCT_OFFSET (AccountsUserIface, handle_set_xsession),
01301     g_signal_accumulator_true_handled,
01302     NULL,
01303     g_cclosure_marshal_generic,
01304     G_TYPE_BOOLEAN,
01305     2,
01306     G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_STRING);
01307 
01320   g_signal_new ("handle-set-location",
01321     G_TYPE_FROM_INTERFACE (iface),
01322     G_SIGNAL_RUN_LAST,
01323     G_STRUCT_OFFSET (AccountsUserIface, handle_set_location),
01324     g_signal_accumulator_true_handled,
01325     NULL,
01326     g_cclosure_marshal_generic,
01327     G_TYPE_BOOLEAN,
01328     2,
01329     G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_STRING);
01330 
01343   g_signal_new ("handle-set-home-directory",
01344     G_TYPE_FROM_INTERFACE (iface),
01345     G_SIGNAL_RUN_LAST,
01346     G_STRUCT_OFFSET (AccountsUserIface, handle_set_home_directory),
01347     g_signal_accumulator_true_handled,
01348     NULL,
01349     g_cclosure_marshal_generic,
01350     G_TYPE_BOOLEAN,
01351     2,
01352     G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_STRING);
01353 
01366   g_signal_new ("handle-set-shell",
01367     G_TYPE_FROM_INTERFACE (iface),
01368     G_SIGNAL_RUN_LAST,
01369     G_STRUCT_OFFSET (AccountsUserIface, handle_set_shell),
01370     g_signal_accumulator_true_handled,
01371     NULL,
01372     g_cclosure_marshal_generic,
01373     G_TYPE_BOOLEAN,
01374     2,
01375     G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_STRING);
01376 
01389   g_signal_new ("handle-set-icon-file",
01390     G_TYPE_FROM_INTERFACE (iface),
01391     G_SIGNAL_RUN_LAST,
01392     G_STRUCT_OFFSET (AccountsUserIface, handle_set_icon_file),
01393     g_signal_accumulator_true_handled,
01394     NULL,
01395     g_cclosure_marshal_generic,
01396     G_TYPE_BOOLEAN,
01397     2,
01398     G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_STRING);
01399 
01412   g_signal_new ("handle-set-locked",
01413     G_TYPE_FROM_INTERFACE (iface),
01414     G_SIGNAL_RUN_LAST,
01415     G_STRUCT_OFFSET (AccountsUserIface, handle_set_locked),
01416     g_signal_accumulator_true_handled,
01417     NULL,
01418     g_cclosure_marshal_generic,
01419     G_TYPE_BOOLEAN,
01420     2,
01421     G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_BOOLEAN);
01422 
01435   g_signal_new ("handle-set-account-type",
01436     G_TYPE_FROM_INTERFACE (iface),
01437     G_SIGNAL_RUN_LAST,
01438     G_STRUCT_OFFSET (AccountsUserIface, handle_set_account_type),
01439     g_signal_accumulator_true_handled,
01440     NULL,
01441     g_cclosure_marshal_generic,
01442     G_TYPE_BOOLEAN,
01443     2,
01444     G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_INT);
01445 
01458   g_signal_new ("handle-set-password-mode",
01459     G_TYPE_FROM_INTERFACE (iface),
01460     G_SIGNAL_RUN_LAST,
01461     G_STRUCT_OFFSET (AccountsUserIface, handle_set_password_mode),
01462     g_signal_accumulator_true_handled,
01463     NULL,
01464     g_cclosure_marshal_generic,
01465     G_TYPE_BOOLEAN,
01466     2,
01467     G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_INT);
01468 
01482   g_signal_new ("handle-set-password",
01483     G_TYPE_FROM_INTERFACE (iface),
01484     G_SIGNAL_RUN_LAST,
01485     G_STRUCT_OFFSET (AccountsUserIface, handle_set_password),
01486     g_signal_accumulator_true_handled,
01487     NULL,
01488     g_cclosure_marshal_generic,
01489     G_TYPE_BOOLEAN,
01490     3,
01491     G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_STRING, G_TYPE_STRING);
01492 
01505   g_signal_new ("handle-set-automatic-login",
01506     G_TYPE_FROM_INTERFACE (iface),
01507     G_SIGNAL_RUN_LAST,
01508     G_STRUCT_OFFSET (AccountsUserIface, handle_set_automatic_login),
01509     g_signal_accumulator_true_handled,
01510     NULL,
01511     g_cclosure_marshal_generic,
01512     G_TYPE_BOOLEAN,
01513     2,
01514     G_TYPE_DBUS_METHOD_INVOCATION, G_TYPE_BOOLEAN);
01515 
01516   /* GObject signals for received D-Bus signals: */
01525   g_signal_new ("changed",
01526     G_TYPE_FROM_INTERFACE (iface),
01527     G_SIGNAL_RUN_LAST,
01528     G_STRUCT_OFFSET (AccountsUserIface, changed),
01529     NULL,
01530     NULL,
01531     g_cclosure_marshal_generic,
01532     G_TYPE_NONE,
01533     0);
01534 
01535   /* GObject properties for D-Bus properties: */
01543   g_object_interface_install_property (iface,
01544     g_param_spec_uint64 ("uid", "Uid", "Uid", 0, G_MAXUINT64, 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
01552   g_object_interface_install_property (iface,
01553     g_param_spec_string ("user-name", "UserName", "UserName", NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
01561   g_object_interface_install_property (iface,
01562     g_param_spec_string ("real-name", "RealName", "RealName", NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
01570   g_object_interface_install_property (iface,
01571     g_param_spec_int ("account-type", "AccountType", "AccountType", G_MININT32, G_MAXINT32, 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
01579   g_object_interface_install_property (iface,
01580     g_param_spec_string ("home-directory", "HomeDirectory", "HomeDirectory", NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
01588   g_object_interface_install_property (iface,
01589     g_param_spec_string ("shell", "Shell", "Shell", NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
01597   g_object_interface_install_property (iface,
01598     g_param_spec_string ("email", "Email", "Email", NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
01606   g_object_interface_install_property (iface,
01607     g_param_spec_string ("language", "Language", "Language", NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
01615   g_object_interface_install_property (iface,
01616     g_param_spec_string ("xsession", "XSession", "XSession", NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
01624   g_object_interface_install_property (iface,
01625     g_param_spec_string ("location", "Location", "Location", NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
01633   g_object_interface_install_property (iface,
01634     g_param_spec_uint64 ("login-frequency", "LoginFrequency", "LoginFrequency", 0, G_MAXUINT64, 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
01642   g_object_interface_install_property (iface,
01643     g_param_spec_string ("icon-file", "IconFile", "IconFile", NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
01651   g_object_interface_install_property (iface,
01652     g_param_spec_boolean ("locked", "Locked", "Locked", FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
01660   g_object_interface_install_property (iface,
01661     g_param_spec_int ("password-mode", "PasswordMode", "PasswordMode", G_MININT32, G_MAXINT32, 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
01669   g_object_interface_install_property (iface,
01670     g_param_spec_string ("password-hint", "PasswordHint", "PasswordHint", NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
01678   g_object_interface_install_property (iface,
01679     g_param_spec_boolean ("automatic-login", "AutomaticLogin", "AutomaticLogin", FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
01687   g_object_interface_install_property (iface,
01688     g_param_spec_boolean ("system-account", "SystemAccount", "SystemAccount", FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
01689 }
01690 
01691 typedef AccountsUserIface AccountsUserInterface;
01692 G_DEFINE_INTERFACE (AccountsUser, accounts_user, G_TYPE_OBJECT);
01693 
01704 guint64 
01705 accounts_user_get_uid (AccountsUser *object)
01706 {
01707   return ACCOUNTS_USER_GET_IFACE (object)->get_uid (object);
01708 }
01709 
01719 void
01720 accounts_user_set_uid (AccountsUser *object, guint64 value)
01721 {
01722   g_object_set (G_OBJECT (object), "uid", value, NULL);
01723 }
01724 
01737 const gchar *
01738 accounts_user_get_user_name (AccountsUser *object)
01739 {
01740   return ACCOUNTS_USER_GET_IFACE (object)->get_user_name (object);
01741 }
01742 
01753 gchar *
01754 accounts_user_dup_user_name (AccountsUser *object)
01755 {
01756   gchar *value;
01757   g_object_get (G_OBJECT (object), "user-name", &value, NULL);
01758   return value;
01759 }
01760 
01770 void
01771 accounts_user_set_user_name (AccountsUser *object, const gchar *value)
01772 {
01773   g_object_set (G_OBJECT (object), "user-name", value, NULL);
01774 }
01775 
01788 const gchar *
01789 accounts_user_get_real_name (AccountsUser *object)
01790 {
01791   return ACCOUNTS_USER_GET_IFACE (object)->get_real_name (object);
01792 }
01793 
01804 gchar *
01805 accounts_user_dup_real_name (AccountsUser *object)
01806 {
01807   gchar *value;
01808   g_object_get (G_OBJECT (object), "real-name", &value, NULL);
01809   return value;
01810 }
01811 
01821 void
01822 accounts_user_set_real_name (AccountsUser *object, const gchar *value)
01823 {
01824   g_object_set (G_OBJECT (object), "real-name", value, NULL);
01825 }
01826 
01837 gint 
01838 accounts_user_get_account_type (AccountsUser *object)
01839 {
01840   return ACCOUNTS_USER_GET_IFACE (object)->get_account_type (object);
01841 }
01842 
01852 void
01853 accounts_user_set_account_type (AccountsUser *object, gint value)
01854 {
01855   g_object_set (G_OBJECT (object), "account-type", value, NULL);
01856 }
01857 
01870 const gchar *
01871 accounts_user_get_home_directory (AccountsUser *object)
01872 {
01873   return ACCOUNTS_USER_GET_IFACE (object)->get_home_directory (object);
01874 }
01875 
01886 gchar *
01887 accounts_user_dup_home_directory (AccountsUser *object)
01888 {
01889   gchar *value;
01890   g_object_get (G_OBJECT (object), "home-directory", &value, NULL);
01891   return value;
01892 }
01893 
01903 void
01904 accounts_user_set_home_directory (AccountsUser *object, const gchar *value)
01905 {
01906   g_object_set (G_OBJECT (object), "home-directory", value, NULL);
01907 }
01908 
01921 const gchar *
01922 accounts_user_get_shell (AccountsUser *object)
01923 {
01924   return ACCOUNTS_USER_GET_IFACE (object)->get_shell (object);
01925 }
01926 
01937 gchar *
01938 accounts_user_dup_shell (AccountsUser *object)
01939 {
01940   gchar *value;
01941   g_object_get (G_OBJECT (object), "shell", &value, NULL);
01942   return value;
01943 }
01944 
01954 void
01955 accounts_user_set_shell (AccountsUser *object, const gchar *value)
01956 {
01957   g_object_set (G_OBJECT (object), "shell", value, NULL);
01958 }
01959 
01972 const gchar *
01973 accounts_user_get_email (AccountsUser *object)
01974 {
01975   return ACCOUNTS_USER_GET_IFACE (object)->get_email (object);
01976 }
01977 
01988 gchar *
01989 accounts_user_dup_email (AccountsUser *object)
01990 {
01991   gchar *value;
01992   g_object_get (G_OBJECT (object), "email", &value, NULL);
01993   return value;
01994 }
01995 
02005 void
02006 accounts_user_set_email (AccountsUser *object, const gchar *value)
02007 {
02008   g_object_set (G_OBJECT (object), "email", value, NULL);
02009 }
02010 
02023 const gchar *
02024 accounts_user_get_language (AccountsUser *object)
02025 {
02026   return ACCOUNTS_USER_GET_IFACE (object)->get_language (object);
02027 }
02028 
02039 gchar *
02040 accounts_user_dup_language (AccountsUser *object)
02041 {
02042   gchar *value;
02043   g_object_get (G_OBJECT (object), "language", &value, NULL);
02044   return value;
02045 }
02046 
02056 void
02057 accounts_user_set_language (AccountsUser *object, const gchar *value)
02058 {
02059   g_object_set (G_OBJECT (object), "language", value, NULL);
02060 }
02061 
02074 const gchar *
02075 accounts_user_get_xsession (AccountsUser *object)
02076 {
02077   return ACCOUNTS_USER_GET_IFACE (object)->get_xsession (object);
02078 }
02079 
02090 gchar *
02091 accounts_user_dup_xsession (AccountsUser *object)
02092 {
02093   gchar *value;
02094   g_object_get (G_OBJECT (object), "xsession", &value, NULL);
02095   return value;
02096 }
02097 
02107 void
02108 accounts_user_set_xsession (AccountsUser *object, const gchar *value)
02109 {
02110   g_object_set (G_OBJECT (object), "xsession", value, NULL);
02111 }
02112 
02125 const gchar *
02126 accounts_user_get_location (AccountsUser *object)
02127 {
02128   return ACCOUNTS_USER_GET_IFACE (object)->get_location (object);
02129 }
02130 
02141 gchar *
02142 accounts_user_dup_location (AccountsUser *object)
02143 {
02144   gchar *value;
02145   g_object_get (G_OBJECT (object), "location", &value, NULL);
02146   return value;
02147 }
02148 
02158 void
02159 accounts_user_set_location (AccountsUser *object, const gchar *value)
02160 {
02161   g_object_set (G_OBJECT (object), "location", value, NULL);
02162 }
02163 
02174 guint64 
02175 accounts_user_get_login_frequency (AccountsUser *object)
02176 {
02177   return ACCOUNTS_USER_GET_IFACE (object)->get_login_frequency (object);
02178 }
02179 
02189 void
02190 accounts_user_set_login_frequency (AccountsUser *object, guint64 value)
02191 {
02192   g_object_set (G_OBJECT (object), "login-frequency", value, NULL);
02193 }
02194 
02207 const gchar *
02208 accounts_user_get_icon_file (AccountsUser *object)
02209 {
02210   return ACCOUNTS_USER_GET_IFACE (object)->get_icon_file (object);
02211 }
02212 
02223 gchar *
02224 accounts_user_dup_icon_file (AccountsUser *object)
02225 {
02226   gchar *value;
02227   g_object_get (G_OBJECT (object), "icon-file", &value, NULL);
02228   return value;
02229 }
02230 
02240 void
02241 accounts_user_set_icon_file (AccountsUser *object, const gchar *value)
02242 {
02243   g_object_set (G_OBJECT (object), "icon-file", value, NULL);
02244 }
02245 
02256 gboolean 
02257 accounts_user_get_locked (AccountsUser *object)
02258 {
02259   return ACCOUNTS_USER_GET_IFACE (object)->get_locked (object);
02260 }
02261 
02271 void
02272 accounts_user_set_locked (AccountsUser *object, gboolean value)
02273 {
02274   g_object_set (G_OBJECT (object), "locked", value, NULL);
02275 }
02276 
02287 gint 
02288 accounts_user_get_password_mode (AccountsUser *object)
02289 {
02290   return ACCOUNTS_USER_GET_IFACE (object)->get_password_mode (object);
02291 }
02292 
02302 void
02303 accounts_user_set_password_mode (AccountsUser *object, gint value)
02304 {
02305   g_object_set (G_OBJECT (object), "password-mode", value, NULL);
02306 }
02307 
02320 const gchar *
02321 accounts_user_get_password_hint (AccountsUser *object)
02322 {
02323   return ACCOUNTS_USER_GET_IFACE (object)->get_password_hint (object);
02324 }
02325 
02336 gchar *
02337 accounts_user_dup_password_hint (AccountsUser *object)
02338 {
02339   gchar *value;
02340   g_object_get (G_OBJECT (object), "password-hint", &value, NULL);
02341   return value;
02342 }
02343 
02353 void
02354 accounts_user_set_password_hint (AccountsUser *object, const gchar *value)
02355 {
02356   g_object_set (G_OBJECT (object), "password-hint", value, NULL);
02357 }
02358 
02369 gboolean 
02370 accounts_user_get_automatic_login (AccountsUser *object)
02371 {
02372   return ACCOUNTS_USER_GET_IFACE (object)->get_automatic_login (object);
02373 }
02374 
02384 void
02385 accounts_user_set_automatic_login (AccountsUser *object, gboolean value)
02386 {
02387   g_object_set (G_OBJECT (object), "automatic-login", value, NULL);
02388 }
02389 
02400 gboolean 
02401 accounts_user_get_system_account (AccountsUser *object)
02402 {
02403   return ACCOUNTS_USER_GET_IFACE (object)->get_system_account (object);
02404 }
02405 
02415 void
02416 accounts_user_set_system_account (AccountsUser *object, gboolean value)
02417 {
02418   g_object_set (G_OBJECT (object), "system-account", value, NULL);
02419 }
02420 
02427 void
02428 accounts_user_emit_changed (
02429     AccountsUser *object)
02430 {
02431   g_signal_emit_by_name (object, "changed");
02432 }
02433 
02448 void
02449 accounts_user_call_set_user_name (
02450     AccountsUser *proxy,
02451     const gchar *arg_name,
02452     GCancellable *cancellable,
02453     GAsyncReadyCallback callback,
02454     gpointer user_data)
02455 {
02456   g_dbus_proxy_call (G_DBUS_PROXY (proxy),
02457     "SetUserName",
02458     g_variant_new ("(s)",
02459                    arg_name),
02460     G_DBUS_CALL_FLAGS_NONE,
02461     -1,
02462     cancellable,
02463     callback,
02464     user_data);
02465 }
02466 
02477 gboolean
02478 accounts_user_call_set_user_name_finish (
02479     AccountsUser *proxy,
02480     GAsyncResult *res,
02481     GError **error)
02482 {
02483   GVariant *_ret;
02484   _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error);
02485   if (_ret == NULL)
02486     goto _out;
02487   g_variant_get (_ret,
02488                  "()");
02489   g_variant_unref (_ret);
02490 _out:
02491   return _ret != NULL;
02492 }
02493 
02507 gboolean
02508 accounts_user_call_set_user_name_sync (
02509     AccountsUser *proxy,
02510     const gchar *arg_name,
02511     GCancellable *cancellable,
02512     GError **error)
02513 {
02514   GVariant *_ret;
02515   _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy),
02516     "SetUserName",
02517     g_variant_new ("(s)",
02518                    arg_name),
02519     G_DBUS_CALL_FLAGS_NONE,
02520     -1,
02521     cancellable,
02522     error);
02523   if (_ret == NULL)
02524     goto _out;
02525   g_variant_get (_ret,
02526                  "()");
02527   g_variant_unref (_ret);
02528 _out:
02529   return _ret != NULL;
02530 }
02531 
02546 void
02547 accounts_user_call_set_real_name (
02548     AccountsUser *proxy,
02549     const gchar *arg_name,
02550     GCancellable *cancellable,
02551     GAsyncReadyCallback callback,
02552     gpointer user_data)
02553 {
02554   g_dbus_proxy_call (G_DBUS_PROXY (proxy),
02555     "SetRealName",
02556     g_variant_new ("(s)",
02557                    arg_name),
02558     G_DBUS_CALL_FLAGS_NONE,
02559     -1,
02560     cancellable,
02561     callback,
02562     user_data);
02563 }
02564 
02575 gboolean
02576 accounts_user_call_set_real_name_finish (
02577     AccountsUser *proxy,
02578     GAsyncResult *res,
02579     GError **error)
02580 {
02581   GVariant *_ret;
02582   _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error);
02583   if (_ret == NULL)
02584     goto _out;
02585   g_variant_get (_ret,
02586                  "()");
02587   g_variant_unref (_ret);
02588 _out:
02589   return _ret != NULL;
02590 }
02591 
02605 gboolean
02606 accounts_user_call_set_real_name_sync (
02607     AccountsUser *proxy,
02608     const gchar *arg_name,
02609     GCancellable *cancellable,
02610     GError **error)
02611 {
02612   GVariant *_ret;
02613   _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy),
02614     "SetRealName",
02615     g_variant_new ("(s)",
02616                    arg_name),
02617     G_DBUS_CALL_FLAGS_NONE,
02618     -1,
02619     cancellable,
02620     error);
02621   if (_ret == NULL)
02622     goto _out;
02623   g_variant_get (_ret,
02624                  "()");
02625   g_variant_unref (_ret);
02626 _out:
02627   return _ret != NULL;
02628 }
02629 
02644 void
02645 accounts_user_call_set_email (
02646     AccountsUser *proxy,
02647     const gchar *arg_email,
02648     GCancellable *cancellable,
02649     GAsyncReadyCallback callback,
02650     gpointer user_data)
02651 {
02652   g_dbus_proxy_call (G_DBUS_PROXY (proxy),
02653     "SetEmail",
02654     g_variant_new ("(s)",
02655                    arg_email),
02656     G_DBUS_CALL_FLAGS_NONE,
02657     -1,
02658     cancellable,
02659     callback,
02660     user_data);
02661 }
02662 
02673 gboolean
02674 accounts_user_call_set_email_finish (
02675     AccountsUser *proxy,
02676     GAsyncResult *res,
02677     GError **error)
02678 {
02679   GVariant *_ret;
02680   _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error);
02681   if (_ret == NULL)
02682     goto _out;
02683   g_variant_get (_ret,
02684                  "()");
02685   g_variant_unref (_ret);
02686 _out:
02687   return _ret != NULL;
02688 }
02689 
02703 gboolean
02704 accounts_user_call_set_email_sync (
02705     AccountsUser *proxy,
02706     const gchar *arg_email,
02707     GCancellable *cancellable,
02708     GError **error)
02709 {
02710   GVariant *_ret;
02711   _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy),
02712     "SetEmail",
02713     g_variant_new ("(s)",
02714                    arg_email),
02715     G_DBUS_CALL_FLAGS_NONE,
02716     -1,
02717     cancellable,
02718     error);
02719   if (_ret == NULL)
02720     goto _out;
02721   g_variant_get (_ret,
02722                  "()");
02723   g_variant_unref (_ret);
02724 _out:
02725   return _ret != NULL;
02726 }
02727 
02742 void
02743 accounts_user_call_set_language (
02744     AccountsUser *proxy,
02745     const gchar *arg_language,
02746     GCancellable *cancellable,
02747     GAsyncReadyCallback callback,
02748     gpointer user_data)
02749 {
02750   g_dbus_proxy_call (G_DBUS_PROXY (proxy),
02751     "SetLanguage",
02752     g_variant_new ("(s)",
02753                    arg_language),
02754     G_DBUS_CALL_FLAGS_NONE,
02755     -1,
02756     cancellable,
02757     callback,
02758     user_data);
02759 }
02760 
02771 gboolean
02772 accounts_user_call_set_language_finish (
02773     AccountsUser *proxy,
02774     GAsyncResult *res,
02775     GError **error)
02776 {
02777   GVariant *_ret;
02778   _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error);
02779   if (_ret == NULL)
02780     goto _out;
02781   g_variant_get (_ret,
02782                  "()");
02783   g_variant_unref (_ret);
02784 _out:
02785   return _ret != NULL;
02786 }
02787 
02801 gboolean
02802 accounts_user_call_set_language_sync (
02803     AccountsUser *proxy,
02804     const gchar *arg_language,
02805     GCancellable *cancellable,
02806     GError **error)
02807 {
02808   GVariant *_ret;
02809   _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy),
02810     "SetLanguage",
02811     g_variant_new ("(s)",
02812                    arg_language),
02813     G_DBUS_CALL_FLAGS_NONE,
02814     -1,
02815     cancellable,
02816     error);
02817   if (_ret == NULL)
02818     goto _out;
02819   g_variant_get (_ret,
02820                  "()");
02821   g_variant_unref (_ret);
02822 _out:
02823   return _ret != NULL;
02824 }
02825 
02840 void
02841 accounts_user_call_set_xsession (
02842     AccountsUser *proxy,
02843     const gchar *arg_x_session,
02844     GCancellable *cancellable,
02845     GAsyncReadyCallback callback,
02846     gpointer user_data)
02847 {
02848   g_dbus_proxy_call (G_DBUS_PROXY (proxy),
02849     "SetXSession",
02850     g_variant_new ("(s)",
02851                    arg_x_session),
02852     G_DBUS_CALL_FLAGS_NONE,
02853     -1,
02854     cancellable,
02855     callback,
02856     user_data);
02857 }
02858 
02869 gboolean
02870 accounts_user_call_set_xsession_finish (
02871     AccountsUser *proxy,
02872     GAsyncResult *res,
02873     GError **error)
02874 {
02875   GVariant *_ret;
02876   _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error);
02877   if (_ret == NULL)
02878     goto _out;
02879   g_variant_get (_ret,
02880                  "()");
02881   g_variant_unref (_ret);
02882 _out:
02883   return _ret != NULL;
02884 }
02885 
02899 gboolean
02900 accounts_user_call_set_xsession_sync (
02901     AccountsUser *proxy,
02902     const gchar *arg_x_session,
02903     GCancellable *cancellable,
02904     GError **error)
02905 {
02906   GVariant *_ret;
02907   _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy),
02908     "SetXSession",
02909     g_variant_new ("(s)",
02910                    arg_x_session),
02911     G_DBUS_CALL_FLAGS_NONE,
02912     -1,
02913     cancellable,
02914     error);
02915   if (_ret == NULL)
02916     goto _out;
02917   g_variant_get (_ret,
02918                  "()");
02919   g_variant_unref (_ret);
02920 _out:
02921   return _ret != NULL;
02922 }
02923 
02938 void
02939 accounts_user_call_set_location (
02940     AccountsUser *proxy,
02941     const gchar *arg_location,
02942     GCancellable *cancellable,
02943     GAsyncReadyCallback callback,
02944     gpointer user_data)
02945 {
02946   g_dbus_proxy_call (G_DBUS_PROXY (proxy),
02947     "SetLocation",
02948     g_variant_new ("(s)",
02949                    arg_location),
02950     G_DBUS_CALL_FLAGS_NONE,
02951     -1,
02952     cancellable,
02953     callback,
02954     user_data);
02955 }
02956 
02967 gboolean
02968 accounts_user_call_set_location_finish (
02969     AccountsUser *proxy,
02970     GAsyncResult *res,
02971     GError **error)
02972 {
02973   GVariant *_ret;
02974   _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error);
02975   if (_ret == NULL)
02976     goto _out;
02977   g_variant_get (_ret,
02978                  "()");
02979   g_variant_unref (_ret);
02980 _out:
02981   return _ret != NULL;
02982 }
02983 
02997 gboolean
02998 accounts_user_call_set_location_sync (
02999     AccountsUser *proxy,
03000     const gchar *arg_location,
03001     GCancellable *cancellable,
03002     GError **error)
03003 {
03004   GVariant *_ret;
03005   _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy),
03006     "SetLocation",
03007     g_variant_new ("(s)",
03008                    arg_location),
03009     G_DBUS_CALL_FLAGS_NONE,
03010     -1,
03011     cancellable,
03012     error);
03013   if (_ret == NULL)
03014     goto _out;
03015   g_variant_get (_ret,
03016                  "()");
03017   g_variant_unref (_ret);
03018 _out:
03019   return _ret != NULL;
03020 }
03021 
03036 void
03037 accounts_user_call_set_home_directory (
03038     AccountsUser *proxy,
03039     const gchar *arg_homedir,
03040     GCancellable *cancellable,
03041     GAsyncReadyCallback callback,
03042     gpointer user_data)
03043 {
03044   g_dbus_proxy_call (G_DBUS_PROXY (proxy),
03045     "SetHomeDirectory",
03046     g_variant_new ("(s)",
03047                    arg_homedir),
03048     G_DBUS_CALL_FLAGS_NONE,
03049     -1,
03050     cancellable,
03051     callback,
03052     user_data);
03053 }
03054 
03065 gboolean
03066 accounts_user_call_set_home_directory_finish (
03067     AccountsUser *proxy,
03068     GAsyncResult *res,
03069     GError **error)
03070 {
03071   GVariant *_ret;
03072   _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error);
03073   if (_ret == NULL)
03074     goto _out;
03075   g_variant_get (_ret,
03076                  "()");
03077   g_variant_unref (_ret);
03078 _out:
03079   return _ret != NULL;
03080 }
03081 
03095 gboolean
03096 accounts_user_call_set_home_directory_sync (
03097     AccountsUser *proxy,
03098     const gchar *arg_homedir,
03099     GCancellable *cancellable,
03100     GError **error)
03101 {
03102   GVariant *_ret;
03103   _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy),
03104     "SetHomeDirectory",
03105     g_variant_new ("(s)",
03106                    arg_homedir),
03107     G_DBUS_CALL_FLAGS_NONE,
03108     -1,
03109     cancellable,
03110     error);
03111   if (_ret == NULL)
03112     goto _out;
03113   g_variant_get (_ret,
03114                  "()");
03115   g_variant_unref (_ret);
03116 _out:
03117   return _ret != NULL;
03118 }
03119 
03134 void
03135 accounts_user_call_set_shell (
03136     AccountsUser *proxy,
03137     const gchar *arg_shell,
03138     GCancellable *cancellable,
03139     GAsyncReadyCallback callback,
03140     gpointer user_data)
03141 {
03142   g_dbus_proxy_call (G_DBUS_PROXY (proxy),
03143     "SetShell",
03144     g_variant_new ("(s)",
03145                    arg_shell),
03146     G_DBUS_CALL_FLAGS_NONE,
03147     -1,
03148     cancellable,
03149     callback,
03150     user_data);
03151 }
03152 
03163 gboolean
03164 accounts_user_call_set_shell_finish (
03165     AccountsUser *proxy,
03166     GAsyncResult *res,
03167     GError **error)
03168 {
03169   GVariant *_ret;
03170   _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error);
03171   if (_ret == NULL)
03172     goto _out;
03173   g_variant_get (_ret,
03174                  "()");
03175   g_variant_unref (_ret);
03176 _out:
03177   return _ret != NULL;
03178 }
03179 
03193 gboolean
03194 accounts_user_call_set_shell_sync (
03195     AccountsUser *proxy,
03196     const gchar *arg_shell,
03197     GCancellable *cancellable,
03198     GError **error)
03199 {
03200   GVariant *_ret;
03201   _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy),
03202     "SetShell",
03203     g_variant_new ("(s)",
03204                    arg_shell),
03205     G_DBUS_CALL_FLAGS_NONE,
03206     -1,
03207     cancellable,
03208     error);
03209   if (_ret == NULL)
03210     goto _out;
03211   g_variant_get (_ret,
03212                  "()");
03213   g_variant_unref (_ret);
03214 _out:
03215   return _ret != NULL;
03216 }
03217 
03232 void
03233 accounts_user_call_set_icon_file (
03234     AccountsUser *proxy,
03235     const gchar *arg_filename,
03236     GCancellable *cancellable,
03237     GAsyncReadyCallback callback,
03238     gpointer user_data)
03239 {
03240   g_dbus_proxy_call (G_DBUS_PROXY (proxy),
03241     "SetIconFile",
03242     g_variant_new ("(s)",
03243                    arg_filename),
03244     G_DBUS_CALL_FLAGS_NONE,
03245     -1,
03246     cancellable,
03247     callback,
03248     user_data);
03249 }
03250 
03261 gboolean
03262 accounts_user_call_set_icon_file_finish (
03263     AccountsUser *proxy,
03264     GAsyncResult *res,
03265     GError **error)
03266 {
03267   GVariant *_ret;
03268   _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error);
03269   if (_ret == NULL)
03270     goto _out;
03271   g_variant_get (_ret,
03272                  "()");
03273   g_variant_unref (_ret);
03274 _out:
03275   return _ret != NULL;
03276 }
03277 
03291 gboolean
03292 accounts_user_call_set_icon_file_sync (
03293     AccountsUser *proxy,
03294     const gchar *arg_filename,
03295     GCancellable *cancellable,
03296     GError **error)
03297 {
03298   GVariant *_ret;
03299   _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy),
03300     "SetIconFile",
03301     g_variant_new ("(s)",
03302                    arg_filename),
03303     G_DBUS_CALL_FLAGS_NONE,
03304     -1,
03305     cancellable,
03306     error);
03307   if (_ret == NULL)
03308     goto _out;
03309   g_variant_get (_ret,
03310                  "()");
03311   g_variant_unref (_ret);
03312 _out:
03313   return _ret != NULL;
03314 }
03315 
03330 void
03331 accounts_user_call_set_locked (
03332     AccountsUser *proxy,
03333     gboolean arg_locked,
03334     GCancellable *cancellable,
03335     GAsyncReadyCallback callback,
03336     gpointer user_data)
03337 {
03338   g_dbus_proxy_call (G_DBUS_PROXY (proxy),
03339     "SetLocked",
03340     g_variant_new ("(b)",
03341                    arg_locked),
03342     G_DBUS_CALL_FLAGS_NONE,
03343     -1,
03344     cancellable,
03345     callback,
03346     user_data);
03347 }
03348 
03359 gboolean
03360 accounts_user_call_set_locked_finish (
03361     AccountsUser *proxy,
03362     GAsyncResult *res,
03363     GError **error)
03364 {
03365   GVariant *_ret;
03366   _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error);
03367   if (_ret == NULL)
03368     goto _out;
03369   g_variant_get (_ret,
03370                  "()");
03371   g_variant_unref (_ret);
03372 _out:
03373   return _ret != NULL;
03374 }
03375 
03389 gboolean
03390 accounts_user_call_set_locked_sync (
03391     AccountsUser *proxy,
03392     gboolean arg_locked,
03393     GCancellable *cancellable,
03394     GError **error)
03395 {
03396   GVariant *_ret;
03397   _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy),
03398     "SetLocked",
03399     g_variant_new ("(b)",
03400                    arg_locked),
03401     G_DBUS_CALL_FLAGS_NONE,
03402     -1,
03403     cancellable,
03404     error);
03405   if (_ret == NULL)
03406     goto _out;
03407   g_variant_get (_ret,
03408                  "()");
03409   g_variant_unref (_ret);
03410 _out:
03411   return _ret != NULL;
03412 }
03413 
03428 void
03429 accounts_user_call_set_account_type (
03430     AccountsUser *proxy,
03431     gint arg_accountType,
03432     GCancellable *cancellable,
03433     GAsyncReadyCallback callback,
03434     gpointer user_data)
03435 {
03436   g_dbus_proxy_call (G_DBUS_PROXY (proxy),
03437     "SetAccountType",
03438     g_variant_new ("(i)",
03439                    arg_accountType),
03440     G_DBUS_CALL_FLAGS_NONE,
03441     -1,
03442     cancellable,
03443     callback,
03444     user_data);
03445 }
03446 
03457 gboolean
03458 accounts_user_call_set_account_type_finish (
03459     AccountsUser *proxy,
03460     GAsyncResult *res,
03461     GError **error)
03462 {
03463   GVariant *_ret;
03464   _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error);
03465   if (_ret == NULL)
03466     goto _out;
03467   g_variant_get (_ret,
03468                  "()");
03469   g_variant_unref (_ret);
03470 _out:
03471   return _ret != NULL;
03472 }
03473 
03487 gboolean
03488 accounts_user_call_set_account_type_sync (
03489     AccountsUser *proxy,
03490     gint arg_accountType,
03491     GCancellable *cancellable,
03492     GError **error)
03493 {
03494   GVariant *_ret;
03495   _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy),
03496     "SetAccountType",
03497     g_variant_new ("(i)",
03498                    arg_accountType),
03499     G_DBUS_CALL_FLAGS_NONE,
03500     -1,
03501     cancellable,
03502     error);
03503   if (_ret == NULL)
03504     goto _out;
03505   g_variant_get (_ret,
03506                  "()");
03507   g_variant_unref (_ret);
03508 _out:
03509   return _ret != NULL;
03510 }
03511 
03526 void
03527 accounts_user_call_set_password_mode (
03528     AccountsUser *proxy,
03529     gint arg_mode,
03530     GCancellable *cancellable,
03531     GAsyncReadyCallback callback,
03532     gpointer user_data)
03533 {
03534   g_dbus_proxy_call (G_DBUS_PROXY (proxy),
03535     "SetPasswordMode",
03536     g_variant_new ("(i)",
03537                    arg_mode),
03538     G_DBUS_CALL_FLAGS_NONE,
03539     -1,
03540     cancellable,
03541     callback,
03542     user_data);
03543 }
03544 
03555 gboolean
03556 accounts_user_call_set_password_mode_finish (
03557     AccountsUser *proxy,
03558     GAsyncResult *res,
03559     GError **error)
03560 {
03561   GVariant *_ret;
03562   _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error);
03563   if (_ret == NULL)
03564     goto _out;
03565   g_variant_get (_ret,
03566                  "()");
03567   g_variant_unref (_ret);
03568 _out:
03569   return _ret != NULL;
03570 }
03571 
03585 gboolean
03586 accounts_user_call_set_password_mode_sync (
03587     AccountsUser *proxy,
03588     gint arg_mode,
03589     GCancellable *cancellable,
03590     GError **error)
03591 {
03592   GVariant *_ret;
03593   _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy),
03594     "SetPasswordMode",
03595     g_variant_new ("(i)",
03596                    arg_mode),
03597     G_DBUS_CALL_FLAGS_NONE,
03598     -1,
03599     cancellable,
03600     error);
03601   if (_ret == NULL)
03602     goto _out;
03603   g_variant_get (_ret,
03604                  "()");
03605   g_variant_unref (_ret);
03606 _out:
03607   return _ret != NULL;
03608 }
03609 
03625 void
03626 accounts_user_call_set_password (
03627     AccountsUser *proxy,
03628     const gchar *arg_password,
03629     const gchar *arg_hint,
03630     GCancellable *cancellable,
03631     GAsyncReadyCallback callback,
03632     gpointer user_data)
03633 {
03634   g_dbus_proxy_call (G_DBUS_PROXY (proxy),
03635     "SetPassword",
03636     g_variant_new ("(ss)",
03637                    arg_password,
03638                    arg_hint),
03639     G_DBUS_CALL_FLAGS_NONE,
03640     -1,
03641     cancellable,
03642     callback,
03643     user_data);
03644 }
03645 
03656 gboolean
03657 accounts_user_call_set_password_finish (
03658     AccountsUser *proxy,
03659     GAsyncResult *res,
03660     GError **error)
03661 {
03662   GVariant *_ret;
03663   _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error);
03664   if (_ret == NULL)
03665     goto _out;
03666   g_variant_get (_ret,
03667                  "()");
03668   g_variant_unref (_ret);
03669 _out:
03670   return _ret != NULL;
03671 }
03672 
03687 gboolean
03688 accounts_user_call_set_password_sync (
03689     AccountsUser *proxy,
03690     const gchar *arg_password,
03691     const gchar *arg_hint,
03692     GCancellable *cancellable,
03693     GError **error)
03694 {
03695   GVariant *_ret;
03696   _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy),
03697     "SetPassword",
03698     g_variant_new ("(ss)",
03699                    arg_password,
03700                    arg_hint),
03701     G_DBUS_CALL_FLAGS_NONE,
03702     -1,
03703     cancellable,
03704     error);
03705   if (_ret == NULL)
03706     goto _out;
03707   g_variant_get (_ret,
03708                  "()");
03709   g_variant_unref (_ret);
03710 _out:
03711   return _ret != NULL;
03712 }
03713 
03728 void
03729 accounts_user_call_set_automatic_login (
03730     AccountsUser *proxy,
03731     gboolean arg_enabled,
03732     GCancellable *cancellable,
03733     GAsyncReadyCallback callback,
03734     gpointer user_data)
03735 {
03736   g_dbus_proxy_call (G_DBUS_PROXY (proxy),
03737     "SetAutomaticLogin",
03738     g_variant_new ("(b)",
03739                    arg_enabled),
03740     G_DBUS_CALL_FLAGS_NONE,
03741     -1,
03742     cancellable,
03743     callback,
03744     user_data);
03745 }
03746 
03757 gboolean
03758 accounts_user_call_set_automatic_login_finish (
03759     AccountsUser *proxy,
03760     GAsyncResult *res,
03761     GError **error)
03762 {
03763   GVariant *_ret;
03764   _ret = g_dbus_proxy_call_finish (G_DBUS_PROXY (proxy), res, error);
03765   if (_ret == NULL)
03766     goto _out;
03767   g_variant_get (_ret,
03768                  "()");
03769   g_variant_unref (_ret);
03770 _out:
03771   return _ret != NULL;
03772 }
03773 
03787 gboolean
03788 accounts_user_call_set_automatic_login_sync (
03789     AccountsUser *proxy,
03790     gboolean arg_enabled,
03791     GCancellable *cancellable,
03792     GError **error)
03793 {
03794   GVariant *_ret;
03795   _ret = g_dbus_proxy_call_sync (G_DBUS_PROXY (proxy),
03796     "SetAutomaticLogin",
03797     g_variant_new ("(b)",
03798                    arg_enabled),
03799     G_DBUS_CALL_FLAGS_NONE,
03800     -1,
03801     cancellable,
03802     error);
03803   if (_ret == NULL)
03804     goto _out;
03805   g_variant_get (_ret,
03806                  "()");
03807   g_variant_unref (_ret);
03808 _out:
03809   return _ret != NULL;
03810 }
03811 
03821 void
03822 accounts_user_complete_set_user_name (
03823     AccountsUser *object,
03824     GDBusMethodInvocation *invocation)
03825 {
03826   g_dbus_method_invocation_return_value (invocation,
03827     g_variant_new ("()"));
03828 }
03829 
03839 void
03840 accounts_user_complete_set_real_name (
03841     AccountsUser *object,
03842     GDBusMethodInvocation *invocation)
03843 {
03844   g_dbus_method_invocation_return_value (invocation,
03845     g_variant_new ("()"));
03846 }
03847 
03857 void
03858 accounts_user_complete_set_email (
03859     AccountsUser *object,
03860     GDBusMethodInvocation *invocation)
03861 {
03862   g_dbus_method_invocation_return_value (invocation,
03863     g_variant_new ("()"));
03864 }
03865 
03875 void
03876 accounts_user_complete_set_language (
03877     AccountsUser *object,
03878     GDBusMethodInvocation *invocation)
03879 {
03880   g_dbus_method_invocation_return_value (invocation,
03881     g_variant_new ("()"));
03882 }
03883 
03893 void
03894 accounts_user_complete_set_xsession (
03895     AccountsUser *object,
03896     GDBusMethodInvocation *invocation)
03897 {
03898   g_dbus_method_invocation_return_value (invocation,
03899     g_variant_new ("()"));
03900 }
03901 
03911 void
03912 accounts_user_complete_set_location (
03913     AccountsUser *object,
03914     GDBusMethodInvocation *invocation)
03915 {
03916   g_dbus_method_invocation_return_value (invocation,
03917     g_variant_new ("()"));
03918 }
03919 
03929 void
03930 accounts_user_complete_set_home_directory (
03931     AccountsUser *object,
03932     GDBusMethodInvocation *invocation)
03933 {
03934   g_dbus_method_invocation_return_value (invocation,
03935     g_variant_new ("()"));
03936 }
03937 
03947 void
03948 accounts_user_complete_set_shell (
03949     AccountsUser *object,
03950     GDBusMethodInvocation *invocation)
03951 {
03952   g_dbus_method_invocation_return_value (invocation,
03953     g_variant_new ("()"));
03954 }
03955 
03965 void
03966 accounts_user_complete_set_icon_file (
03967     AccountsUser *object,
03968     GDBusMethodInvocation *invocation)
03969 {
03970   g_dbus_method_invocation_return_value (invocation,
03971     g_variant_new ("()"));
03972 }
03973 
03983 void
03984 accounts_user_complete_set_locked (
03985     AccountsUser *object,
03986     GDBusMethodInvocation *invocation)
03987 {
03988   g_dbus_method_invocation_return_value (invocation,
03989     g_variant_new ("()"));
03990 }
03991 
04001 void
04002 accounts_user_complete_set_account_type (
04003     AccountsUser *object,
04004     GDBusMethodInvocation *invocation)
04005 {
04006   g_dbus_method_invocation_return_value (invocation,
04007     g_variant_new ("()"));
04008 }
04009 
04019 void
04020 accounts_user_complete_set_password_mode (
04021     AccountsUser *object,
04022     GDBusMethodInvocation *invocation)
04023 {
04024   g_dbus_method_invocation_return_value (invocation,
04025     g_variant_new ("()"));
04026 }
04027 
04037 void
04038 accounts_user_complete_set_password (
04039     AccountsUser *object,
04040     GDBusMethodInvocation *invocation)
04041 {
04042   g_dbus_method_invocation_return_value (invocation,
04043     g_variant_new ("()"));
04044 }
04045 
04055 void
04056 accounts_user_complete_set_automatic_login (
04057     AccountsUser *object,
04058     GDBusMethodInvocation *invocation)
04059 {
04060   g_dbus_method_invocation_return_value (invocation,
04061     g_variant_new ("()"));
04062 }
04063 
04064 /* ------------------------------------------------------------------------ */
04065 
04079 struct _AccountsUserProxyPrivate
04080 {
04081   GData *qdata;
04082 };
04083 
04084 static void accounts_user_proxy_iface_init (AccountsUserIface *iface);
04085 
04086 G_DEFINE_TYPE_WITH_CODE (AccountsUserProxy, accounts_user_proxy, G_TYPE_DBUS_PROXY,
04087                          G_IMPLEMENT_INTERFACE (TYPE_ACCOUNTS_USER, accounts_user_proxy_iface_init));
04088 
04089 static void
04090 accounts_user_proxy_finalize (GObject *object)
04091 {
04092   AccountsUserProxy *proxy = ACCOUNTS_USER_PROXY (object);
04093   g_datalist_clear (&proxy->priv->qdata);
04094   G_OBJECT_CLASS (accounts_user_proxy_parent_class)->finalize (object);
04095 }
04096 
04097 static void
04098 accounts_user_proxy_get_property (GObject      *object,
04099   guint         prop_id,
04100   GValue       *value,
04101   GParamSpec   *pspec)
04102 {
04103   const _ExtendedGDBusPropertyInfo *info;
04104   GVariant *variant;
04105   g_assert (prop_id != 0 && prop_id - 1 < 17);
04106   info = _accounts_user_property_info_pointers[prop_id - 1];
04107   variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (object), info->parent_struct.name);
04108   if (info->use_gvariant)
04109     {
04110       g_value_set_variant (value, variant);
04111     }
04112   else
04113     {
04114       if (variant != NULL)
04115         g_dbus_gvariant_to_gvalue (variant, value);
04116     }
04117   if (variant != NULL)
04118     g_variant_unref (variant);
04119 }
04120 
04121 static void
04122 accounts_user_proxy_set_property_cb (GDBusProxy *proxy,
04123   GAsyncResult *res,
04124   gpointer      user_data)
04125 {
04126   const _ExtendedGDBusPropertyInfo *info = user_data;
04127   GError *error;
04128   error = NULL;
04129   if (!g_dbus_proxy_call_finish (proxy, res, &error))
04130     {
04131       g_warning ("Error setting property `%s' on interface org.freedesktop.Accounts.User: %s (%s, %d)",
04132                  info->parent_struct.name, 
04133                  error->message, g_quark_to_string (error->domain), error->code);
04134       g_error_free (error);
04135     }
04136 }
04137 
04138 static void
04139 accounts_user_proxy_set_property (GObject      *object,
04140   guint         prop_id,
04141   const GValue *value,
04142   GParamSpec   *pspec)
04143 {
04144   const _ExtendedGDBusPropertyInfo *info;
04145   GVariant *variant;
04146   g_assert (prop_id != 0 && prop_id - 1 < 17);
04147   info = _accounts_user_property_info_pointers[prop_id - 1];
04148   variant = g_dbus_gvalue_to_gvariant (value, G_VARIANT_TYPE (info->parent_struct.signature));
04149   g_dbus_proxy_call (G_DBUS_PROXY (object),
04150     "org.freedesktop.DBus.Properties.Set",
04151     g_variant_new ("(ssv)", "org.freedesktop.Accounts.User", info->parent_struct.name, variant),
04152     G_DBUS_CALL_FLAGS_NONE,
04153     -1,
04154     NULL, (GAsyncReadyCallback) accounts_user_proxy_set_property_cb, (gpointer) info);
04155   g_variant_unref (variant);
04156 }
04157 
04158 static void
04159 accounts_user_proxy_g_signal (GDBusProxy *proxy,
04160   const gchar *sender_name,
04161   const gchar *signal_name,
04162   GVariant *parameters)
04163 {
04164   _ExtendedGDBusSignalInfo *info;
04165   GVariantIter iter;
04166   GVariant *child;
04167   GValue *paramv;
04168   guint num_params;
04169   guint n;
04170   guint signal_id;
04171   info = (_ExtendedGDBusSignalInfo *) g_dbus_interface_info_lookup_signal ((GDBusInterfaceInfo *) &_accounts_user_interface_info, signal_name);
04172   if (info == NULL)
04173     return;
04174   num_params = g_variant_n_children (parameters);
04175   paramv = g_new0 (GValue, num_params + 1);
04176   g_value_init (&paramv[0], TYPE_ACCOUNTS_USER);
04177   g_value_set_object (&paramv[0], proxy);
04178   g_variant_iter_init (&iter, parameters);
04179   n = 1;
04180   while ((child = g_variant_iter_next_value (&iter)) != NULL)
04181     {
04182       _ExtendedGDBusArgInfo *arg_info = (_ExtendedGDBusArgInfo *) info->parent_struct.args[n - 1];
04183       if (arg_info->use_gvariant)
04184         {
04185           g_value_init (&paramv[n], G_TYPE_VARIANT);
04186           g_value_set_variant (&paramv[n], child);
04187           n++;
04188         }
04189       else
04190         g_dbus_gvariant_to_gvalue (child, &paramv[n++]);
04191       g_variant_unref (child);
04192     }
04193   signal_id = g_signal_lookup (info->signal_name, TYPE_ACCOUNTS_USER);
04194   g_signal_emitv (paramv, signal_id, 0, NULL);
04195   for (n = 0; n < num_params + 1; n++)
04196     g_value_unset (&paramv[n]);
04197   g_free (paramv);
04198 }
04199 
04200 static void
04201 accounts_user_proxy_g_properties_changed (GDBusProxy *_proxy,
04202   GVariant *changed_properties,
04203   const gchar *const *invalidated_properties)
04204 {
04205   AccountsUserProxy *proxy = ACCOUNTS_USER_PROXY (_proxy);
04206   guint n;
04207   const gchar *key;
04208   GVariantIter *iter;
04209   _ExtendedGDBusPropertyInfo *info;
04210   g_variant_get (changed_properties, "a{sv}", &iter);
04211   while (g_variant_iter_next (iter, "{&sv}", &key, NULL))
04212     {
04213       info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_accounts_user_interface_info, key);
04214       g_datalist_remove_data (&proxy->priv->qdata, key);
04215       if (info != NULL)
04216         g_object_notify (G_OBJECT (proxy), info->hyphen_name);
04217     }
04218   g_variant_iter_free (iter);
04219   for (n = 0; invalidated_properties[n] != NULL; n++)
04220     {
04221       info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_accounts_user_interface_info, invalidated_properties[n]);
04222       g_datalist_remove_data (&proxy->priv->qdata, invalidated_properties[n]);
04223       if (info != NULL)
04224         g_object_notify (G_OBJECT (proxy), info->hyphen_name);
04225     }
04226 }
04227 
04228 static guint64 
04229 accounts_user_proxy_get_uid (AccountsUser *object)
04230 {
04231   AccountsUserProxy *proxy = ACCOUNTS_USER_PROXY (object);
04232   GVariant *variant;
04233   guint64 value = 0;
04234   variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (proxy), "Uid");
04235   if (variant != NULL)
04236     {
04237       value = g_variant_get_uint64 (variant);
04238       g_variant_unref (variant);
04239     }
04240   return value;
04241 }
04242 
04243 static const gchar *
04244 accounts_user_proxy_get_user_name (AccountsUser *object)
04245 {
04246   AccountsUserProxy *proxy = ACCOUNTS_USER_PROXY (object);
04247   GVariant *variant;
04248   const gchar *value = NULL;
04249   variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (proxy), "UserName");
04250   if (variant != NULL)
04251     {
04252       value = g_variant_get_string (variant, NULL);
04253       g_variant_unref (variant);
04254     }
04255   return value;
04256 }
04257 
04258 static const gchar *
04259 accounts_user_proxy_get_real_name (AccountsUser *object)
04260 {
04261   AccountsUserProxy *proxy = ACCOUNTS_USER_PROXY (object);
04262   GVariant *variant;
04263   const gchar *value = NULL;
04264   variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (proxy), "RealName");
04265   if (variant != NULL)
04266     {
04267       value = g_variant_get_string (variant, NULL);
04268       g_variant_unref (variant);
04269     }
04270   return value;
04271 }
04272 
04273 static gint 
04274 accounts_user_proxy_get_account_type (AccountsUser *object)
04275 {
04276   AccountsUserProxy *proxy = ACCOUNTS_USER_PROXY (object);
04277   GVariant *variant;
04278   gint value = 0;
04279   variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (proxy), "AccountType");
04280   if (variant != NULL)
04281     {
04282       value = g_variant_get_int32 (variant);
04283       g_variant_unref (variant);
04284     }
04285   return value;
04286 }
04287 
04288 static const gchar *
04289 accounts_user_proxy_get_home_directory (AccountsUser *object)
04290 {
04291   AccountsUserProxy *proxy = ACCOUNTS_USER_PROXY (object);
04292   GVariant *variant;
04293   const gchar *value = NULL;
04294   variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (proxy), "HomeDirectory");
04295   if (variant != NULL)
04296     {
04297       value = g_variant_get_string (variant, NULL);
04298       g_variant_unref (variant);
04299     }
04300   return value;
04301 }
04302 
04303 static const gchar *
04304 accounts_user_proxy_get_shell (AccountsUser *object)
04305 {
04306   AccountsUserProxy *proxy = ACCOUNTS_USER_PROXY (object);
04307   GVariant *variant;
04308   const gchar *value = NULL;
04309   variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (proxy), "Shell");
04310   if (variant != NULL)
04311     {
04312       value = g_variant_get_string (variant, NULL);
04313       g_variant_unref (variant);
04314     }
04315   return value;
04316 }
04317 
04318 static const gchar *
04319 accounts_user_proxy_get_email (AccountsUser *object)
04320 {
04321   AccountsUserProxy *proxy = ACCOUNTS_USER_PROXY (object);
04322   GVariant *variant;
04323   const gchar *value = NULL;
04324   variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (proxy), "Email");
04325   if (variant != NULL)
04326     {
04327       value = g_variant_get_string (variant, NULL);
04328       g_variant_unref (variant);
04329     }
04330   return value;
04331 }
04332 
04333 static const gchar *
04334 accounts_user_proxy_get_language (AccountsUser *object)
04335 {
04336   AccountsUserProxy *proxy = ACCOUNTS_USER_PROXY (object);
04337   GVariant *variant;
04338   const gchar *value = NULL;
04339   variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (proxy), "Language");
04340   if (variant != NULL)
04341     {
04342       value = g_variant_get_string (variant, NULL);
04343       g_variant_unref (variant);
04344     }
04345   return value;
04346 }
04347 
04348 static const gchar *
04349 accounts_user_proxy_get_xsession (AccountsUser *object)
04350 {
04351   AccountsUserProxy *proxy = ACCOUNTS_USER_PROXY (object);
04352   GVariant *variant;
04353   const gchar *value = NULL;
04354   variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (proxy), "XSession");
04355   if (variant != NULL)
04356     {
04357       value = g_variant_get_string (variant, NULL);
04358       g_variant_unref (variant);
04359     }
04360   return value;
04361 }
04362 
04363 static const gchar *
04364 accounts_user_proxy_get_location (AccountsUser *object)
04365 {
04366   AccountsUserProxy *proxy = ACCOUNTS_USER_PROXY (object);
04367   GVariant *variant;
04368   const gchar *value = NULL;
04369   variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (proxy), "Location");
04370   if (variant != NULL)
04371     {
04372       value = g_variant_get_string (variant, NULL);
04373       g_variant_unref (variant);
04374     }
04375   return value;
04376 }
04377 
04378 static guint64 
04379 accounts_user_proxy_get_login_frequency (AccountsUser *object)
04380 {
04381   AccountsUserProxy *proxy = ACCOUNTS_USER_PROXY (object);
04382   GVariant *variant;
04383   guint64 value = 0;
04384   variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (proxy), "LoginFrequency");
04385   if (variant != NULL)
04386     {
04387       value = g_variant_get_uint64 (variant);
04388       g_variant_unref (variant);
04389     }
04390   return value;
04391 }
04392 
04393 static const gchar *
04394 accounts_user_proxy_get_icon_file (AccountsUser *object)
04395 {
04396   AccountsUserProxy *proxy = ACCOUNTS_USER_PROXY (object);
04397   GVariant *variant;
04398   const gchar *value = NULL;
04399   variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (proxy), "IconFile");
04400   if (variant != NULL)
04401     {
04402       value = g_variant_get_string (variant, NULL);
04403       g_variant_unref (variant);
04404     }
04405   return value;
04406 }
04407 
04408 static gboolean 
04409 accounts_user_proxy_get_locked (AccountsUser *object)
04410 {
04411   AccountsUserProxy *proxy = ACCOUNTS_USER_PROXY (object);
04412   GVariant *variant;
04413   gboolean value = 0;
04414   variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (proxy), "Locked");
04415   if (variant != NULL)
04416     {
04417       value = g_variant_get_boolean (variant);
04418       g_variant_unref (variant);
04419     }
04420   return value;
04421 }
04422 
04423 static gint 
04424 accounts_user_proxy_get_password_mode (AccountsUser *object)
04425 {
04426   AccountsUserProxy *proxy = ACCOUNTS_USER_PROXY (object);
04427   GVariant *variant;
04428   gint value = 0;
04429   variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (proxy), "PasswordMode");
04430   if (variant != NULL)
04431     {
04432       value = g_variant_get_int32 (variant);
04433       g_variant_unref (variant);
04434     }
04435   return value;
04436 }
04437 
04438 static const gchar *
04439 accounts_user_proxy_get_password_hint (AccountsUser *object)
04440 {
04441   AccountsUserProxy *proxy = ACCOUNTS_USER_PROXY (object);
04442   GVariant *variant;
04443   const gchar *value = NULL;
04444   variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (proxy), "PasswordHint");
04445   if (variant != NULL)
04446     {
04447       value = g_variant_get_string (variant, NULL);
04448       g_variant_unref (variant);
04449     }
04450   return value;
04451 }
04452 
04453 static gboolean 
04454 accounts_user_proxy_get_automatic_login (AccountsUser *object)
04455 {
04456   AccountsUserProxy *proxy = ACCOUNTS_USER_PROXY (object);
04457   GVariant *variant;
04458   gboolean value = 0;
04459   variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (proxy), "AutomaticLogin");
04460   if (variant != NULL)
04461     {
04462       value = g_variant_get_boolean (variant);
04463       g_variant_unref (variant);
04464     }
04465   return value;
04466 }
04467 
04468 static gboolean 
04469 accounts_user_proxy_get_system_account (AccountsUser *object)
04470 {
04471   AccountsUserProxy *proxy = ACCOUNTS_USER_PROXY (object);
04472   GVariant *variant;
04473   gboolean value = 0;
04474   variant = g_dbus_proxy_get_cached_property (G_DBUS_PROXY (proxy), "SystemAccount");
04475   if (variant != NULL)
04476     {
04477       value = g_variant_get_boolean (variant);
04478       g_variant_unref (variant);
04479     }
04480   return value;
04481 }
04482 
04483 static void
04484 accounts_user_proxy_init (AccountsUserProxy *proxy)
04485 {
04486   proxy->priv = G_TYPE_INSTANCE_GET_PRIVATE (proxy, TYPE_ACCOUNTS_USER_PROXY, AccountsUserProxyPrivate);
04487   g_dbus_proxy_set_interface_info (G_DBUS_PROXY (proxy), accounts_user_interface_info ());
04488 }
04489 
04490 static void
04491 accounts_user_proxy_class_init (AccountsUserProxyClass *klass)
04492 {
04493   GObjectClass *gobject_class;
04494   GDBusProxyClass *proxy_class;
04495 
04496   g_type_class_add_private (klass, sizeof (AccountsUserProxyPrivate));
04497 
04498   gobject_class = G_OBJECT_CLASS (klass);
04499   gobject_class->finalize     = accounts_user_proxy_finalize;
04500   gobject_class->get_property = accounts_user_proxy_get_property;
04501   gobject_class->set_property = accounts_user_proxy_set_property;
04502 
04503   proxy_class = G_DBUS_PROXY_CLASS (klass);
04504   proxy_class->g_signal = accounts_user_proxy_g_signal;
04505   proxy_class->g_properties_changed = accounts_user_proxy_g_properties_changed;
04506 
04507 
04508   accounts_user_override_properties (gobject_class, 1);
04509 }
04510 
04511 static void
04512 accounts_user_proxy_iface_init (AccountsUserIface *iface)
04513 {
04514   iface->get_uid = accounts_user_proxy_get_uid;
04515   iface->get_user_name = accounts_user_proxy_get_user_name;
04516   iface->get_real_name = accounts_user_proxy_get_real_name;
04517   iface->get_account_type = accounts_user_proxy_get_account_type;
04518   iface->get_home_directory = accounts_user_proxy_get_home_directory;
04519   iface->get_shell = accounts_user_proxy_get_shell;
04520   iface->get_email = accounts_user_proxy_get_email;
04521   iface->get_language = accounts_user_proxy_get_language;
04522   iface->get_xsession = accounts_user_proxy_get_xsession;
04523   iface->get_location = accounts_user_proxy_get_location;
04524   iface->get_login_frequency = accounts_user_proxy_get_login_frequency;
04525   iface->get_icon_file = accounts_user_proxy_get_icon_file;
04526   iface->get_locked = accounts_user_proxy_get_locked;
04527   iface->get_password_mode = accounts_user_proxy_get_password_mode;
04528   iface->get_password_hint = accounts_user_proxy_get_password_hint;
04529   iface->get_automatic_login = accounts_user_proxy_get_automatic_login;
04530   iface->get_system_account = accounts_user_proxy_get_system_account;
04531 }
04532 
04550 void
04551 accounts_user_proxy_new (
04552     GDBusConnection     *connection,
04553     GDBusProxyFlags      flags,
04554     const gchar         *name,
04555     const gchar         *object_path,
04556     GCancellable        *cancellable,
04557     GAsyncReadyCallback  callback,
04558     gpointer             user_data)
04559 {
04560   g_async_initable_new_async (TYPE_ACCOUNTS_USER_PROXY, G_PRIORITY_DEFAULT, cancellable, callback, user_data, "g-flags", flags, "g-name", name, "g-connection", connection, "g-object-path", object_path, "g-interface-name", "org.freedesktop.Accounts.User", NULL);
04561 }
04562 
04572 AccountsUser *
04573 accounts_user_proxy_new_finish (
04574     GAsyncResult        *res,
04575     GError             **error)
04576 {
04577   GObject *ret;
04578   GObject *source_object;
04579   source_object = g_async_result_get_source_object (res);
04580   ret = g_async_initable_new_finish (G_ASYNC_INITABLE (source_object), res, error);
04581   g_object_unref (source_object);
04582   if (ret != NULL)
04583     return ACCOUNTS_USER (ret);
04584   else
04585     return NULL;
04586 }
04587 
04605 AccountsUser *
04606 accounts_user_proxy_new_sync (
04607     GDBusConnection     *connection,
04608     GDBusProxyFlags      flags,
04609     const gchar         *name,
04610     const gchar         *object_path,
04611     GCancellable        *cancellable,
04612     GError             **error)
04613 {
04614   GInitable *ret;
04615   ret = g_initable_new (TYPE_ACCOUNTS_USER_PROXY, cancellable, error, "g-flags", flags, "g-name", name, "g-connection", connection, "g-object-path", object_path, "g-interface-name", "org.freedesktop.Accounts.User", NULL);
04616   if (ret != NULL)
04617     return ACCOUNTS_USER (ret);
04618   else
04619     return NULL;
04620 }
04621 
04622 
04640 void
04641 accounts_user_proxy_new_for_bus (
04642     GBusType             bus_type,
04643     GDBusProxyFlags      flags,
04644     const gchar         *name,
04645     const gchar         *object_path,
04646     GCancellable        *cancellable,
04647     GAsyncReadyCallback  callback,
04648     gpointer             user_data)
04649 {
04650   g_async_initable_new_async (TYPE_ACCOUNTS_USER_PROXY, G_PRIORITY_DEFAULT, cancellable, callback, user_data, "g-flags", flags, "g-name", name, "g-bus-type", bus_type, "g-object-path", object_path, "g-interface-name", "org.freedesktop.Accounts.User", NULL);
04651 }
04652 
04662 AccountsUser *
04663 accounts_user_proxy_new_for_bus_finish (
04664     GAsyncResult        *res,
04665     GError             **error)
04666 {
04667   GObject *ret;
04668   GObject *source_object;
04669   source_object = g_async_result_get_source_object (res);
04670   ret = g_async_initable_new_finish (G_ASYNC_INITABLE (source_object), res, error);
04671   g_object_unref (source_object);
04672   if (ret != NULL)
04673     return ACCOUNTS_USER (ret);
04674   else
04675     return NULL;
04676 }
04677 
04695 AccountsUser *
04696 accounts_user_proxy_new_for_bus_sync (
04697     GBusType             bus_type,
04698     GDBusProxyFlags      flags,
04699     const gchar         *name,
04700     const gchar         *object_path,
04701     GCancellable        *cancellable,
04702     GError             **error)
04703 {
04704   GInitable *ret;
04705   ret = g_initable_new (TYPE_ACCOUNTS_USER_PROXY, cancellable, error, "g-flags", flags, "g-name", name, "g-bus-type", bus_type, "g-object-path", object_path, "g-interface-name", "org.freedesktop.Accounts.User", NULL);
04706   if (ret != NULL)
04707     return ACCOUNTS_USER (ret);
04708   else
04709     return NULL;
04710 }
04711 
04712 
04713 /* ------------------------------------------------------------------------ */
04714 
04728 struct _AccountsUserSkeletonPrivate
04729 {
04730   GValue *properties;
04731   GList *changed_properties;
04732   GSource *changed_properties_idle_source;
04733   GMainContext *context;
04734   GMutex lock;
04735 };
04736 
04737 static void
04738 _accounts_user_skeleton_handle_method_call (
04739   GDBusConnection *connection,
04740   const gchar *sender,
04741   const gchar *object_path,
04742   const gchar *interface_name,
04743   const gchar *method_name,
04744   GVariant *parameters,
04745   GDBusMethodInvocation *invocation,
04746   gpointer user_data)
04747 {
04748   AccountsUserSkeleton *skeleton = ACCOUNTS_USER_SKELETON (user_data);
04749   _ExtendedGDBusMethodInfo *info;
04750   GVariantIter iter;
04751   GVariant *child;
04752   GValue *paramv;
04753   guint num_params;
04754   guint num_extra;
04755   guint n;
04756   guint signal_id;
04757   GValue return_value = G_VALUE_INIT;
04758   info = (_ExtendedGDBusMethodInfo *) g_dbus_method_invocation_get_method_info (invocation);
04759   g_assert (info != NULL);
04760   num_params = g_variant_n_children (parameters);
04761   num_extra = info->pass_fdlist ? 3 : 2;  paramv = g_new0 (GValue, num_params + num_extra);
04762   n = 0;
04763   g_value_init (&paramv[n], TYPE_ACCOUNTS_USER);
04764   g_value_set_object (&paramv[n++], skeleton);
04765   g_value_init (&paramv[n], G_TYPE_DBUS_METHOD_INVOCATION);
04766   g_value_set_object (&paramv[n++], invocation);
04767   if (info->pass_fdlist)
04768     {
04769 #ifdef G_OS_UNIX
04770       g_value_init (&paramv[n], G_TYPE_UNIX_FD_LIST);
04771       g_value_set_object (&paramv[n++], g_dbus_message_get_unix_fd_list (g_dbus_method_invocation_get_message (invocation)));
04772 #else
04773       g_assert_not_reached ();
04774 #endif
04775     }
04776   g_variant_iter_init (&iter, parameters);
04777   while ((child = g_variant_iter_next_value (&iter)) != NULL)
04778     {
04779       _ExtendedGDBusArgInfo *arg_info = (_ExtendedGDBusArgInfo *) info->parent_struct.in_args[n - num_extra];
04780       if (arg_info->use_gvariant)
04781         {
04782           g_value_init (&paramv[n], G_TYPE_VARIANT);
04783           g_value_set_variant (&paramv[n], child);
04784           n++;
04785         }
04786       else
04787         g_dbus_gvariant_to_gvalue (child, &paramv[n++]);
04788       g_variant_unref (child);
04789     }
04790   signal_id = g_signal_lookup (info->signal_name, TYPE_ACCOUNTS_USER);
04791   g_value_init (&return_value, G_TYPE_BOOLEAN);
04792   g_signal_emitv (paramv, signal_id, 0, &return_value);
04793   if (!g_value_get_boolean (&return_value))
04794     g_dbus_method_invocation_return_error (invocation, G_DBUS_ERROR, G_DBUS_ERROR_UNKNOWN_METHOD, "Method %s is not implemented on interface %s", method_name, interface_name);
04795   g_value_unset (&return_value);
04796   for (n = 0; n < num_params + num_extra; n++)
04797     g_value_unset (&paramv[n]);
04798   g_free (paramv);
04799 }
04800 
04801 static GVariant *
04802 _accounts_user_skeleton_handle_get_property (
04803   GDBusConnection *connection,
04804   const gchar *sender,
04805   const gchar *object_path,
04806   const gchar *interface_name,
04807   const gchar *property_name,
04808   GError **error,
04809   gpointer user_data)
04810 {
04811   AccountsUserSkeleton *skeleton = ACCOUNTS_USER_SKELETON (user_data);
04812   GValue value = G_VALUE_INIT;
04813   GParamSpec *pspec;
04814   _ExtendedGDBusPropertyInfo *info;
04815   GVariant *ret;
04816   ret = NULL;
04817   info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_accounts_user_interface_info, property_name);
04818   g_assert (info != NULL);
04819   pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (skeleton), info->hyphen_name);
04820   if (pspec == NULL)
04821     {
04822       g_set_error (error, G_DBUS_ERROR, G_DBUS_ERROR_INVALID_ARGS, "No property with name %s", property_name);
04823     }
04824   else
04825     {
04826       g_value_init (&value, pspec->value_type);
04827       g_object_get_property (G_OBJECT (skeleton), info->hyphen_name, &value);
04828       ret = g_dbus_gvalue_to_gvariant (&value, G_VARIANT_TYPE (info->parent_struct.signature));
04829       g_value_unset (&value);
04830     }
04831   return ret;
04832 }
04833 
04834 static gboolean
04835 _accounts_user_skeleton_handle_set_property (
04836   GDBusConnection *connection,
04837   const gchar *sender,
04838   const gchar *object_path,
04839   const gchar *interface_name,
04840   const gchar *property_name,
04841   GVariant *variant,
04842   GError **error,
04843   gpointer user_data)
04844 {
04845   AccountsUserSkeleton *skeleton = ACCOUNTS_USER_SKELETON (user_data);
04846   GValue value = G_VALUE_INIT;
04847   GParamSpec *pspec;
04848   _ExtendedGDBusPropertyInfo *info;
04849   gboolean ret;
04850   ret = FALSE;
04851   info = (_ExtendedGDBusPropertyInfo *) g_dbus_interface_info_lookup_property ((GDBusInterfaceInfo *) &_accounts_user_interface_info, property_name);
04852   g_assert (info != NULL);
04853   pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (skeleton), info->hyphen_name);
04854   if (pspec == NULL)
04855     {
04856       g_set_error (error, G_DBUS_ERROR, G_DBUS_ERROR_INVALID_ARGS, "No property with name %s", property_name);
04857     }
04858   else
04859     {
04860       if (info->use_gvariant)
04861         g_value_set_variant (&value, variant);
04862       else
04863         g_dbus_gvariant_to_gvalue (variant, &value);
04864       g_object_set_property (G_OBJECT (skeleton), info->hyphen_name, &value);
04865       g_value_unset (&value);
04866       ret = TRUE;
04867     }
04868   return ret;
04869 }
04870 
04871 static const GDBusInterfaceVTable _accounts_user_skeleton_vtable =
04872 {
04873   _accounts_user_skeleton_handle_method_call,
04874   _accounts_user_skeleton_handle_get_property,
04875   _accounts_user_skeleton_handle_set_property
04876 };
04877 
04878 static GDBusInterfaceInfo *
04879 accounts_user_skeleton_dbus_interface_get_info (GDBusInterfaceSkeleton *skeleton)
04880 {
04881   return accounts_user_interface_info ();
04882 }
04883 
04884 static GDBusInterfaceVTable *
04885 accounts_user_skeleton_dbus_interface_get_vtable (GDBusInterfaceSkeleton *skeleton)
04886 {
04887   return (GDBusInterfaceVTable *) &_accounts_user_skeleton_vtable;
04888 }
04889 
04890 static GVariant *
04891 accounts_user_skeleton_dbus_interface_get_properties (GDBusInterfaceSkeleton *_skeleton)
04892 {
04893   AccountsUserSkeleton *skeleton = ACCOUNTS_USER_SKELETON (_skeleton);
04894 
04895   GVariantBuilder builder;
04896   guint n;
04897   g_variant_builder_init (&builder, G_VARIANT_TYPE ("a{sv}"));
04898   if (_accounts_user_interface_info.parent_struct.properties == NULL)
04899     goto out;
04900   for (n = 0; _accounts_user_interface_info.parent_struct.properties[n] != NULL; n++)
04901     {
04902       GDBusPropertyInfo *info = _accounts_user_interface_info.parent_struct.properties[n];
04903       if (info->flags & G_DBUS_PROPERTY_INFO_FLAGS_READABLE)
04904         {
04905           GVariant *value;
04906           value = _accounts_user_skeleton_handle_get_property (g_dbus_interface_skeleton_get_connection (G_DBUS_INTERFACE_SKELETON (skeleton)), NULL, g_dbus_interface_skeleton_get_object_path (G_DBUS_INTERFACE_SKELETON (skeleton)), "org.freedesktop.Accounts.User", info->name, NULL, skeleton);
04907           if (value != NULL)
04908             {
04909               g_variant_take_ref (value);
04910               g_variant_builder_add (&builder, "{sv}", info->name, value);
04911               g_variant_unref (value);
04912             }
04913         }
04914     }
04915 out:
04916   return g_variant_builder_end (&builder);
04917 }
04918 
04919 static gboolean _accounts_user_emit_changed (gpointer user_data);
04920 
04921 static void
04922 accounts_user_skeleton_dbus_interface_flush (GDBusInterfaceSkeleton *_skeleton)
04923 {
04924   AccountsUserSkeleton *skeleton = ACCOUNTS_USER_SKELETON (_skeleton);
04925   gboolean emit_changed = FALSE;
04926 
04927   g_mutex_lock (&skeleton->priv->lock);
04928   if (skeleton->priv->changed_properties_idle_source != NULL)
04929     {
04930       g_source_destroy (skeleton->priv->changed_properties_idle_source);
04931       skeleton->priv->changed_properties_idle_source = NULL;
04932       emit_changed = TRUE;
04933     }
04934   g_mutex_unlock (&skeleton->priv->lock);
04935 
04936   if (emit_changed)
04937     _accounts_user_emit_changed (skeleton);
04938 }
04939 
04940 static void
04941 _accounts_user_on_signal_changed (
04942     AccountsUser *object)
04943 {
04944   AccountsUserSkeleton *skeleton = ACCOUNTS_USER_SKELETON (object);
04945 
04946   GList      *connections, *l;
04947   GVariant   *signal_variant;
04948   connections = g_dbus_interface_skeleton_get_connections (G_DBUS_INTERFACE_SKELETON (skeleton));
04949 
04950   signal_variant = g_variant_ref_sink (g_variant_new ("()"));
04951   for (l = connections; l != NULL; l = l->next)
04952     {
04953       GDBusConnection *connection = l->data;
04954       g_dbus_connection_emit_signal (connection,
04955         NULL, g_dbus_interface_skeleton_get_object_path (G_DBUS_INTERFACE_SKELETON (skeleton)), "org.freedesktop.Accounts.User", "Changed",
04956         signal_variant, NULL);
04957     }
04958   g_variant_unref (signal_variant);
04959   g_list_free_full (connections, g_object_unref);
04960 }
04961 
04962 static void accounts_user_skeleton_iface_init (AccountsUserIface *iface);
04963 G_DEFINE_TYPE_WITH_CODE (AccountsUserSkeleton, accounts_user_skeleton, G_TYPE_DBUS_INTERFACE_SKELETON,
04964                          G_IMPLEMENT_INTERFACE (TYPE_ACCOUNTS_USER, accounts_user_skeleton_iface_init));
04965 
04966 static void
04967 accounts_user_skeleton_finalize (GObject *object)
04968 {
04969   AccountsUserSkeleton *skeleton = ACCOUNTS_USER_SKELETON (object);
04970   guint n;
04971   for (n = 0; n < 17; n++)
04972     g_value_unset (&skeleton->priv->properties[n]);
04973   g_free (skeleton->priv->properties);
04974   g_list_free_full (skeleton->priv->changed_properties, (GDestroyNotify) _changed_property_free);
04975   if (skeleton->priv->changed_properties_idle_source != NULL)
04976     g_source_destroy (skeleton->priv->changed_properties_idle_source);
04977   g_main_context_unref (skeleton->priv->context);
04978   g_mutex_clear (&skeleton->priv->lock);
04979   G_OBJECT_CLASS (accounts_user_skeleton_parent_class)->finalize (object);
04980 }
04981 
04982 static void
04983 accounts_user_skeleton_get_property (GObject      *object,
04984   guint         prop_id,
04985   GValue       *value,
04986   GParamSpec   *pspec)
04987 {
04988   AccountsUserSkeleton *skeleton = ACCOUNTS_USER_SKELETON (object);
04989   g_assert (prop_id != 0 && prop_id - 1 < 17);
04990   g_mutex_lock (&skeleton->priv->lock);
04991   g_value_copy (&skeleton->priv->properties[prop_id - 1], value);
04992   g_mutex_unlock (&skeleton->priv->lock);
04993 }
04994 
04995 static gboolean
04996 _accounts_user_emit_changed (gpointer user_data)
04997 {
04998   AccountsUserSkeleton *skeleton = ACCOUNTS_USER_SKELETON (user_data);
04999   GList *l;
05000   GVariantBuilder builder;
05001   GVariantBuilder invalidated_builder;
05002   guint num_changes;
05003 
05004   g_mutex_lock (&skeleton->priv->lock);
05005   g_variant_builder_init (&builder, G_VARIANT_TYPE ("a{sv}"));
05006   g_variant_builder_init (&invalidated_builder, G_VARIANT_TYPE ("as"));
05007   for (l = skeleton->priv->changed_properties, num_changes = 0; l != NULL; l = l->next)
05008     {
05009       ChangedProperty *cp = l->data;
05010       GVariant *variant;
05011       const GValue *cur_value;
05012 
05013       cur_value = &skeleton->priv->properties[cp->prop_id - 1];
05014       if (!_g_value_equal (cur_value, &cp->orig_value))
05015         {
05016           variant = g_dbus_gvalue_to_gvariant (cur_value, G_VARIANT_TYPE (cp->info->parent_struct.signature));
05017           g_variant_builder_add (&builder, "{sv}", cp->info->parent_struct.name, variant);
05018           g_variant_unref (variant);
05019           num_changes++;
05020         }
05021     }
05022   if (num_changes > 0)
05023     {
05024       GList *connections, *l;
05025       GVariant *signal_variant;
05026       signal_variant = g_variant_ref_sink (g_variant_new ("(sa{sv}as)", "org.freedesktop.Accounts.User",
05027                                            &builder, &invalidated_builder));
05028       connections = g_dbus_interface_skeleton_get_connections (G_DBUS_INTERFACE_SKELETON (skeleton));
05029       for (l = connections; l != NULL; l = l->next)
05030         {
05031           GDBusConnection *connection = l->data;
05032 
05033           g_dbus_connection_emit_signal (connection,
05034                                          NULL, g_dbus_interface_skeleton_get_object_path (G_DBUS_INTERFACE_SKELETON (skeleton)),
05035                                          "org.freedesktop.DBus.Properties",
05036                                          "PropertiesChanged",
05037                                          signal_variant,
05038                                          NULL);
05039         }
05040       g_variant_unref (signal_variant);
05041       g_list_free_full (connections, g_object_unref);
05042     }
05043   else
05044     {
05045       g_variant_builder_clear (&builder);
05046       g_variant_builder_clear (&invalidated_builder);
05047     }
05048   g_list_free_full (skeleton->priv->changed_properties, (GDestroyNotify) _changed_property_free);
05049   skeleton->priv->changed_properties = NULL;
05050   skeleton->priv->changed_properties_idle_source = NULL;
05051   g_mutex_unlock (&skeleton->priv->lock);
05052   return FALSE;
05053 }
05054 
05055 static void
05056 _accounts_user_schedule_emit_changed (AccountsUserSkeleton *skeleton, const _ExtendedGDBusPropertyInfo *info, guint prop_id, const GValue *orig_value)
05057 {
05058   ChangedProperty *cp;
05059   GList *l;
05060   cp = NULL;
05061   for (l = skeleton->priv->changed_properties; l != NULL; l = l->next)
05062     {
05063       ChangedProperty *i_cp = l->data;
05064       if (i_cp->info == info)
05065         {
05066           cp = i_cp;
05067           break;
05068         }
05069     }
05070   if (cp == NULL)
05071     {
05072       cp = g_new0 (ChangedProperty, 1);
05073       cp->prop_id = prop_id;
05074       cp->info = info;
05075       skeleton->priv->changed_properties = g_list_prepend (skeleton->priv->changed_properties, cp);
05076       g_value_init (&cp->orig_value, G_VALUE_TYPE (orig_value));
05077       g_value_copy (orig_value, &cp->orig_value);
05078     }
05079 }
05080 
05081 static void
05082 accounts_user_skeleton_notify (GObject      *object,
05083   GParamSpec *pspec)
05084 {
05085   AccountsUserSkeleton *skeleton = ACCOUNTS_USER_SKELETON (object);
05086   g_mutex_lock (&skeleton->priv->lock);
05087   if (skeleton->priv->changed_properties != NULL &&
05088       skeleton->priv->changed_properties_idle_source == NULL)
05089     {
05090       skeleton->priv->changed_properties_idle_source = g_idle_source_new ();
05091       g_source_set_priority (skeleton->priv->changed_properties_idle_source, G_PRIORITY_DEFAULT);
05092       g_source_set_callback (skeleton->priv->changed_properties_idle_source, _accounts_user_emit_changed, g_object_ref (skeleton), (GDestroyNotify) g_object_unref);
05093       g_source_attach (skeleton->priv->changed_properties_idle_source, skeleton->priv->context);
05094       g_source_unref (skeleton->priv->changed_properties_idle_source);
05095     }
05096   g_mutex_unlock (&skeleton->priv->lock);
05097 }
05098 
05099 static void
05100 accounts_user_skeleton_set_property (GObject      *object,
05101   guint         prop_id,
05102   const GValue *value,
05103   GParamSpec   *pspec)
05104 {
05105   AccountsUserSkeleton *skeleton = ACCOUNTS_USER_SKELETON (object);
05106   g_assert (prop_id != 0 && prop_id - 1 < 17);
05107   g_mutex_lock (&skeleton->priv->lock);
05108   g_object_freeze_notify (object);
05109   if (!_g_value_equal (value, &skeleton->priv->properties[prop_id - 1]))
05110     {
05111       if (g_dbus_interface_skeleton_get_connection (G_DBUS_INTERFACE_SKELETON (skeleton)) != NULL)
05112         _accounts_user_schedule_emit_changed (skeleton, _accounts_user_property_info_pointers[prop_id - 1], prop_id, &skeleton->priv->properties[prop_id - 1]);
05113       g_value_copy (value, &skeleton->priv->properties[prop_id - 1]);
05114       g_object_notify_by_pspec (object, pspec);
05115     }
05116   g_mutex_unlock (&skeleton->priv->lock);
05117   g_object_thaw_notify (object);
05118 }
05119 
05120 static void
05121 accounts_user_skeleton_init (AccountsUserSkeleton *skeleton)
05122 {
05123   skeleton->priv = G_TYPE_INSTANCE_GET_PRIVATE (skeleton, TYPE_ACCOUNTS_USER_SKELETON, AccountsUserSkeletonPrivate);
05124   g_mutex_init (&skeleton->priv->lock);
05125   skeleton->priv->context = g_main_context_ref_thread_default ();
05126   skeleton->priv->properties = g_new0 (GValue, 17);
05127   g_value_init (&skeleton->priv->properties[0], G_TYPE_UINT64);
05128   g_value_init (&skeleton->priv->properties[1], G_TYPE_STRING);
05129   g_value_init (&skeleton->priv->properties[2], G_TYPE_STRING);
05130   g_value_init (&skeleton->priv->properties[3], G_TYPE_INT);
05131   g_value_init (&skeleton->priv->properties[4], G_TYPE_STRING);
05132   g_value_init (&skeleton->priv->properties[5], G_TYPE_STRING);
05133   g_value_init (&skeleton->priv->properties[6], G_TYPE_STRING);
05134   g_value_init (&skeleton->priv->properties[7], G_TYPE_STRING);
05135   g_value_init (&skeleton->priv->properties[8], G_TYPE_STRING);
05136   g_value_init (&skeleton->priv->properties[9], G_TYPE_STRING);
05137   g_value_init (&skeleton->priv->properties[10], G_TYPE_UINT64);
05138   g_value_init (&skeleton->priv->properties[11], G_TYPE_STRING);
05139   g_value_init (&skeleton->priv->properties[12], G_TYPE_BOOLEAN);
05140   g_value_init (&skeleton->priv->properties[13], G_TYPE_INT);
05141   g_value_init (&skeleton->priv->properties[14], G_TYPE_STRING);
05142   g_value_init (&skeleton->priv->properties[15], G_TYPE_BOOLEAN);
05143   g_value_init (&skeleton->priv->properties[16], G_TYPE_BOOLEAN);
05144 }
05145 
05146 static guint64 
05147 accounts_user_skeleton_get_uid (AccountsUser *object)
05148 {
05149   AccountsUserSkeleton *skeleton = ACCOUNTS_USER_SKELETON (object);
05150   guint64 value;
05151   g_mutex_lock (&skeleton->priv->lock);
05152   value = g_value_get_uint64 (&(skeleton->priv->properties[0]));
05153   g_mutex_unlock (&skeleton->priv->lock);
05154   return value;
05155 }
05156 
05157 static const gchar *
05158 accounts_user_skeleton_get_user_name (AccountsUser *object)
05159 {
05160   AccountsUserSkeleton *skeleton = ACCOUNTS_USER_SKELETON (object);
05161   const gchar *value;
05162   g_mutex_lock (&skeleton->priv->lock);
05163   value = g_value_get_string (&(skeleton->priv->properties[1]));
05164   g_mutex_unlock (&skeleton->priv->lock);
05165   return value;
05166 }
05167 
05168 static const gchar *
05169 accounts_user_skeleton_get_real_name (AccountsUser *object)
05170 {
05171   AccountsUserSkeleton *skeleton = ACCOUNTS_USER_SKELETON (object);
05172   const gchar *value;
05173   g_mutex_lock (&skeleton->priv->lock);
05174   value = g_value_get_string (&(skeleton->priv->properties[2]));
05175   g_mutex_unlock (&skeleton->priv->lock);
05176   return value;
05177 }
05178 
05179 static gint 
05180 accounts_user_skeleton_get_account_type (AccountsUser *object)
05181 {
05182   AccountsUserSkeleton *skeleton = ACCOUNTS_USER_SKELETON (object);
05183   gint value;
05184   g_mutex_lock (&skeleton->priv->lock);
05185   value = g_value_get_int (&(skeleton->priv->properties[3]));
05186   g_mutex_unlock (&skeleton->priv->lock);
05187   return value;
05188 }
05189 
05190 static const gchar *
05191 accounts_user_skeleton_get_home_directory (AccountsUser *object)
05192 {
05193   AccountsUserSkeleton *skeleton = ACCOUNTS_USER_SKELETON (object);
05194   const gchar *value;
05195   g_mutex_lock (&skeleton->priv->lock);
05196   value = g_value_get_string (&(skeleton->priv->properties[4]));
05197   g_mutex_unlock (&skeleton->priv->lock);
05198   return value;
05199 }
05200 
05201 static const gchar *
05202 accounts_user_skeleton_get_shell (AccountsUser *object)
05203 {
05204   AccountsUserSkeleton *skeleton = ACCOUNTS_USER_SKELETON (object);
05205   const gchar *value;
05206   g_mutex_lock (&skeleton->priv->lock);
05207   value = g_value_get_string (&(skeleton->priv->properties[5]));
05208   g_mutex_unlock (&skeleton->priv->lock);
05209   return value;
05210 }
05211 
05212 static const gchar *
05213 accounts_user_skeleton_get_email (AccountsUser *object)
05214 {
05215   AccountsUserSkeleton *skeleton = ACCOUNTS_USER_SKELETON (object);
05216   const gchar *value;
05217   g_mutex_lock (&skeleton->priv->lock);
05218   value = g_value_get_string (&(skeleton->priv->properties[6]));
05219   g_mutex_unlock (&skeleton->priv->lock);
05220   return value;
05221 }
05222 
05223 static const gchar *
05224 accounts_user_skeleton_get_language (AccountsUser *object)
05225 {
05226   AccountsUserSkeleton *skeleton = ACCOUNTS_USER_SKELETON (object);
05227   const gchar *value;
05228   g_mutex_lock (&skeleton->priv->lock);
05229   value = g_value_get_string (&(skeleton->priv->properties[7]));
05230   g_mutex_unlock (&skeleton->priv->lock);
05231   return value;
05232 }
05233 
05234 static const gchar *
05235 accounts_user_skeleton_get_xsession (AccountsUser *object)
05236 {
05237   AccountsUserSkeleton *skeleton = ACCOUNTS_USER_SKELETON (object);
05238   const gchar *value;
05239   g_mutex_lock (&skeleton->priv->lock);
05240   value = g_value_get_string (&(skeleton->priv->properties[8]));
05241   g_mutex_unlock (&skeleton->priv->lock);
05242   return value;
05243 }
05244 
05245 static const gchar *
05246 accounts_user_skeleton_get_location (AccountsUser *object)
05247 {
05248   AccountsUserSkeleton *skeleton = ACCOUNTS_USER_SKELETON (object);
05249   const gchar *value;
05250   g_mutex_lock (&skeleton->priv->lock);
05251   value = g_value_get_string (&(skeleton->priv->properties[9]));
05252   g_mutex_unlock (&skeleton->priv->lock);
05253   return value;
05254 }
05255 
05256 static guint64 
05257 accounts_user_skeleton_get_login_frequency (AccountsUser *object)
05258 {
05259   AccountsUserSkeleton *skeleton = ACCOUNTS_USER_SKELETON (object);
05260   guint64 value;
05261   g_mutex_lock (&skeleton->priv->lock);
05262   value = g_value_get_uint64 (&(skeleton->priv->properties[10]));
05263   g_mutex_unlock (&skeleton->priv->lock);
05264   return value;
05265 }
05266 
05267 static const gchar *
05268 accounts_user_skeleton_get_icon_file (AccountsUser *object)
05269 {
05270   AccountsUserSkeleton *skeleton = ACCOUNTS_USER_SKELETON (object);
05271   const gchar *value;
05272   g_mutex_lock (&skeleton->priv->lock);
05273   value = g_value_get_string (&(skeleton->priv->properties[11]));
05274   g_mutex_unlock (&skeleton->priv->lock);
05275   return value;
05276 }
05277 
05278 static gboolean 
05279 accounts_user_skeleton_get_locked (AccountsUser *object)
05280 {
05281   AccountsUserSkeleton *skeleton = ACCOUNTS_USER_SKELETON (object);
05282   gboolean value;
05283   g_mutex_lock (&skeleton->priv->lock);
05284   value = g_value_get_boolean (&(skeleton->priv->properties[12]));
05285   g_mutex_unlock (&skeleton->priv->lock);
05286   return value;
05287 }
05288 
05289 static gint 
05290 accounts_user_skeleton_get_password_mode (AccountsUser *object)
05291 {
05292   AccountsUserSkeleton *skeleton = ACCOUNTS_USER_SKELETON (object);
05293   gint value;
05294   g_mutex_lock (&skeleton->priv->lock);
05295   value = g_value_get_int (&(skeleton->priv->properties[13]));
05296   g_mutex_unlock (&skeleton->priv->lock);
05297   return value;
05298 }
05299 
05300 static const gchar *
05301 accounts_user_skeleton_get_password_hint (AccountsUser *object)
05302 {
05303   AccountsUserSkeleton *skeleton = ACCOUNTS_USER_SKELETON (object);
05304   const gchar *value;
05305   g_mutex_lock (&skeleton->priv->lock);
05306   value = g_value_get_string (&(skeleton->priv->properties[14]));
05307   g_mutex_unlock (&skeleton->priv->lock);
05308   return value;
05309 }
05310 
05311 static gboolean 
05312 accounts_user_skeleton_get_automatic_login (AccountsUser *object)
05313 {
05314   AccountsUserSkeleton *skeleton = ACCOUNTS_USER_SKELETON (object);
05315   gboolean value;
05316   g_mutex_lock (&skeleton->priv->lock);
05317   value = g_value_get_boolean (&(skeleton->priv->properties[15]));
05318   g_mutex_unlock (&skeleton->priv->lock);
05319   return value;
05320 }
05321 
05322 static gboolean 
05323 accounts_user_skeleton_get_system_account (AccountsUser *object)
05324 {
05325   AccountsUserSkeleton *skeleton = ACCOUNTS_USER_SKELETON (object);
05326   gboolean value;
05327   g_mutex_lock (&skeleton->priv->lock);
05328   value = g_value_get_boolean (&(skeleton->priv->properties[16]));
05329   g_mutex_unlock (&skeleton->priv->lock);
05330   return value;
05331 }
05332 
05333 static void
05334 accounts_user_skeleton_class_init (AccountsUserSkeletonClass *klass)
05335 {
05336   GObjectClass *gobject_class;
05337   GDBusInterfaceSkeletonClass *skeleton_class;
05338 
05339   g_type_class_add_private (klass, sizeof (AccountsUserSkeletonPrivate));
05340 
05341   gobject_class = G_OBJECT_CLASS (klass);
05342   gobject_class->finalize = accounts_user_skeleton_finalize;
05343   gobject_class->get_property = accounts_user_skeleton_get_property;
05344   gobject_class->set_property = accounts_user_skeleton_set_property;
05345   gobject_class->notify       = accounts_user_skeleton_notify;
05346 
05347 
05348   accounts_user_override_properties (gobject_class, 1);
05349 
05350   skeleton_class = G_DBUS_INTERFACE_SKELETON_CLASS (klass);
05351   skeleton_class->get_info = accounts_user_skeleton_dbus_interface_get_info;
05352   skeleton_class->get_properties = accounts_user_skeleton_dbus_interface_get_properties;
05353   skeleton_class->flush = accounts_user_skeleton_dbus_interface_flush;
05354   skeleton_class->get_vtable = accounts_user_skeleton_dbus_interface_get_vtable;
05355 }
05356 
05357 static void
05358 accounts_user_skeleton_iface_init (AccountsUserIface *iface)
05359 {
05360   iface->changed = _accounts_user_on_signal_changed;
05361   iface->get_uid = accounts_user_skeleton_get_uid;
05362   iface->get_user_name = accounts_user_skeleton_get_user_name;
05363   iface->get_real_name = accounts_user_skeleton_get_real_name;
05364   iface->get_account_type = accounts_user_skeleton_get_account_type;
05365   iface->get_home_directory = accounts_user_skeleton_get_home_directory;
05366   iface->get_shell = accounts_user_skeleton_get_shell;
05367   iface->get_email = accounts_user_skeleton_get_email;
05368   iface->get_language = accounts_user_skeleton_get_language;
05369   iface->get_xsession = accounts_user_skeleton_get_xsession;
05370   iface->get_location = accounts_user_skeleton_get_location;
05371   iface->get_login_frequency = accounts_user_skeleton_get_login_frequency;
05372   iface->get_icon_file = accounts_user_skeleton_get_icon_file;
05373   iface->get_locked = accounts_user_skeleton_get_locked;
05374   iface->get_password_mode = accounts_user_skeleton_get_password_mode;
05375   iface->get_password_hint = accounts_user_skeleton_get_password_hint;
05376   iface->get_automatic_login = accounts_user_skeleton_get_automatic_login;
05377   iface->get_system_account = accounts_user_skeleton_get_system_account;
05378 }
05379 
05387 AccountsUser *
05388 accounts_user_skeleton_new (void)
05389 {
05390   return ACCOUNTS_USER (g_object_new (TYPE_ACCOUNTS_USER_SKELETON, NULL));
05391 }
05392