[kdbus] KDBUS_ITEM_PAYLOAD_OFF items are (once again) relative to msg header
[platform/upstream/glib.git] / gio / gapplication.h
index 087682e..dbac2a9 100644 (file)
  * Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General
- * Public License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Public License along with this library; if not, see <http://www.gnu.org/licenses/>.
  *
  * Authors: Ryan Lortie <desrt@desrt.ca>
  */
 
+#ifndef __G_APPLICATION_H__
+#define __G_APPLICATION_H__
+
 #if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION)
 #error "Only <gio/gio.h> can be included directly."
 #endif
 
-#ifndef __G_APPLICATION_H__
-#define __G_APPLICATION_H__
-
 #include <gio/giotypes.h>
 
 G_BEGIN_DECLS
@@ -76,6 +74,26 @@ struct _GApplicationClass
                                                      GApplicationCommandLine   *command_line);
 
   /* vfuncs */
+
+  /**
+   * GApplicationClass::local_command_line:
+   * @application: a #GApplication
+   * @arguments: (inout) (array zero-terminated=1): array of command line arguments
+   * @exit_status: (out): exit status to fill after processing the command line.
+   *
+   * This virtual function is always invoked in the local instance. It
+   * gets passed a pointer to a %NULL-terminated copy of @argv and is
+   * expected to remove arguments that it handled (shifting up remaining
+   * arguments).
+   *
+   * The last argument to local_command_line() is a pointer to the @status
+   * variable which can used to set the exit status that is returned from
+   * g_application_run().
+   *
+   * See g_application_run() for more details on #GApplication startup.
+   *
+   * Returns: %TRUE if the commandline has been completely handled
+   */
   gboolean                  (* local_command_line)  (GApplication              *application,
                                                      gchar                   ***arguments,
                                                      int                       *exit_status);
@@ -97,19 +115,26 @@ struct _GApplicationClass
   void                      (* dbus_unregister)     (GApplication              *application,
                                                      GDBusConnection           *connection,
                                                      const gchar               *object_path);
+  gint                      (* handle_local_options)(GApplication              *application,
+                                                     GVariantDict              *options);
 
   /*< private >*/
-  gpointer padding[9];
+  gpointer padding[8];
 };
 
+GLIB_AVAILABLE_IN_ALL
 GType                   g_application_get_type                          (void) G_GNUC_CONST;
 
+GLIB_AVAILABLE_IN_ALL
 gboolean                g_application_id_is_valid                       (const gchar              *application_id);
 
+GLIB_AVAILABLE_IN_ALL
 GApplication *          g_application_new                               (const gchar              *application_id,
                                                                          GApplicationFlags         flags);
 
+GLIB_AVAILABLE_IN_ALL
 const gchar *           g_application_get_application_id                (GApplication             *application);
+GLIB_AVAILABLE_IN_ALL
 void                    g_application_set_application_id                (GApplication             *application,
                                                                          const gchar              *application_id);
 
@@ -118,39 +143,74 @@ GDBusConnection *       g_application_get_dbus_connection               (GApplic
 GLIB_AVAILABLE_IN_2_34
 const gchar *           g_application_get_dbus_object_path              (GApplication             *application);
 
+GLIB_AVAILABLE_IN_ALL
 guint                   g_application_get_inactivity_timeout            (GApplication             *application);
+GLIB_AVAILABLE_IN_ALL
 void                    g_application_set_inactivity_timeout            (GApplication             *application,
                                                                          guint                     inactivity_timeout);
 
+GLIB_AVAILABLE_IN_ALL
 GApplicationFlags       g_application_get_flags                         (GApplication             *application);
+GLIB_AVAILABLE_IN_ALL
 void                    g_application_set_flags                         (GApplication             *application,
                                                                          GApplicationFlags         flags);
 
+GLIB_AVAILABLE_IN_2_42
+const gchar *           g_application_get_resource_base_path            (GApplication             *application);
+GLIB_AVAILABLE_IN_2_42
+void                    g_application_set_resource_base_path            (GApplication             *application,
+                                                                         const gchar              *resource_path);
+
 GLIB_DEPRECATED
 void                    g_application_set_action_group                  (GApplication             *application,
                                                                          GActionGroup             *action_group);
 
+GLIB_AVAILABLE_IN_2_40
+void                    g_application_add_main_option_entries           (GApplication             *application,
+                                                                         const GOptionEntry       *entries);
+
+GLIB_AVAILABLE_IN_2_42
+void                    g_application_add_main_option                   (GApplication             *application,
+                                                                         const char               *long_name,
+                                                                         char                      short_name,
+                                                                         GOptionFlags              flags,
+                                                                         GOptionArg                arg,
+                                                                         const char               *description,
+                                                                         const char               *arg_description);
+GLIB_AVAILABLE_IN_2_40
+void                    g_application_add_option_group                  (GApplication             *application,
+                                                                         GOptionGroup             *group);
+
+GLIB_AVAILABLE_IN_ALL
 gboolean                g_application_get_is_registered                 (GApplication             *application);
+GLIB_AVAILABLE_IN_ALL
 gboolean                g_application_get_is_remote                     (GApplication             *application);
 
+GLIB_AVAILABLE_IN_ALL
 gboolean                g_application_register                          (GApplication             *application,
                                                                          GCancellable             *cancellable,
                                                                          GError                  **error);
 
+GLIB_AVAILABLE_IN_ALL
 void                    g_application_hold                              (GApplication             *application);
+GLIB_AVAILABLE_IN_ALL
 void                    g_application_release                           (GApplication             *application);
 
+GLIB_AVAILABLE_IN_ALL
 void                    g_application_activate                          (GApplication             *application);
 
+GLIB_AVAILABLE_IN_ALL
 void                    g_application_open                              (GApplication             *application,
                                                                          GFile                   **files,
                                                                          gint                      n_files,
                                                                          const gchar              *hint);
 
+GLIB_AVAILABLE_IN_ALL
 int                     g_application_run                               (GApplication             *application,
                                                                          int                       argc,
                                                                          char                    **argv);
 
+GLIB_AVAILABLE_IN_2_32
 void                    g_application_quit                              (GApplication             *application);
 
 GLIB_AVAILABLE_IN_2_32
@@ -158,6 +218,19 @@ GApplication *          g_application_get_default                       (void);
 GLIB_AVAILABLE_IN_2_32
 void                    g_application_set_default                       (GApplication             *application);
 
+GLIB_AVAILABLE_IN_2_38
+void                    g_application_mark_busy                         (GApplication             *application);
+GLIB_AVAILABLE_IN_2_38
+void                    g_application_unmark_busy                       (GApplication             *application);
+
+GLIB_AVAILABLE_IN_2_40
+void                    g_application_send_notification                 (GApplication             *application,
+                                                                         const gchar              *id,
+                                                                         GNotification            *notification);
+GLIB_AVAILABLE_IN_2_40
+void                    g_application_withdraw_notification             (GApplication             *application,
+                                                                         const gchar              *id);
+
 G_END_DECLS
 
 #endif /* __G_APPLICATION_H__ */