## BamfApplication BamfApplication — The base class for all applications |

## Synopsis

    #define             BAMF_APPLICATION_SIGNAL_DESKTOP_FILE_UPDATED
    #define             BAMF_APPLICATION_SIGNAL_WINDOW_ADDED
    #define             BAMF_APPLICATION_SIGNAL_WINDOW_REMOVED
    struct              BamfApplication;
    struct              BamfApplicationClass;
    const gchar *       bamf_application_get_application_type
                                                            (BamfApplication *application);
    const gchar *       bamf_application_get_desktop_file   (BamfApplication *application);
    gchar **            bamf_application_get_supported_mime_types
                                                            (BamfApplication *application);
    GList *             bamf_application_get_windows        (BamfApplication *application);
    GArray *            bamf_application_get_xids           (BamfApplication *application);
    BamfView *          bamf_application_get_focusable_child
                                                            (BamfApplication *application);
    gboolean            bamf_application_get_show_menu_stubs
                                                            (BamfApplication *application);
    gboolean            bamf_application_get_application_menu
                                                            (BamfApplication *application,
                                                             gchar **name,
                                                             gchar **object_path);

## Object Hierarchy

      GObject
       +----GInitiallyUnowned
             +----BamfView
                   +----BamfApplication

## Signals

      "desktop-file-updated"
      "window-added"
      "window-removed"

## Description

BamfApplication is the base class that all applications need to derive from.

## Details

### BAMF_APPLICATION_SIGNAL_DESKTOP_FILE_UPDATED

    #define BAMF_APPLICATION_SIGNAL_DESKTOP_FILE_UPDATED "desktop-file-updated"

### BAMF_APPLICATION_SIGNAL_WINDOW_ADDED

    #define BAMF_APPLICATION_SIGNAL_WINDOW_ADDED         "window-added"

### BAMF_APPLICATION_SIGNAL_WINDOW_REMOVED

    #define BAMF_APPLICATION_SIGNAL_WINDOW_REMOVED       "window-removed"

### struct BamfApplication

    struct BamfApplication;

### struct BamfApplicationClass

    struct BamfApplicationClass {
      BamfViewClass parent_class;
    };

### bamf_application_get_application_type ()

    const gchar *       bamf_application_get_application_type
                                                            (BamfApplication *application);

### bamf_application_get_desktop_file ()

    const gchar *       bamf_application_get_desktop_file   (BamfApplication *application);

Used to fetch the path to the .desktop file associated with the passed application. If none exists, the result is NULL.

`application` : | a BamfApplication
Returns : | A string representing the path to the desktop file.

### bamf_application_get_supported_mime_types ()

    gchar **            bamf_application_get_supported_mime_types
                                                            (BamfApplication *application);

`application` : | a BamfApplication
Returns : | A string array containing the supported mime-types. [transfer full][array zero-terminated=1]

### bamf_application_get_windows ()

    GList *             bamf_application_get_windows        (BamfApplication *application);

Used to fetch all BamfWindow's associated with the passed BamfApplication.

`application` : | a BamfApplication
Returns : | A list of BamfWindow's. [element-type Bamf.Window][transfer container]

### bamf_application_get_xids ()

    GArray *            bamf_application_get_xids           (BamfApplication *application);

Used to fetch all BamfWindow's xids associated with the passed BamfApplication.

`application` : | a BamfApplication
Returns : | An array of xids. [element-type guint32][transfer full]

### bamf_application_get_focusable_child ()

    BamfView *          bamf_application_get_focusable_child
                                                            (BamfApplication *application);

`application` : | a BamfApplication
Returns : | The focusable child for this application. [transfer none]

### bamf_application_get_show_menu_stubs ()

    gboolean            bamf_application_get_show_menu_stubs
                                                            (BamfApplication *application);

Used to discover whether the application wants menu stubs shown.

`application` : | a BamfApplication
Returns : | Whether the stubs should be shown.

### bamf_application_get_application_menu ()

    gboolean            bamf_application_get_application_menu
                                                            (BamfApplication *application,
                                                             gchar **name,
                                                             gchar **object_path);

### Warning

`bamf_application_get_application_menu` is deprecated and should not be used in newly-written code. 0.5.0

Used to fetch the bus name and the object path of the remote application menu.

`application` : | a BamfApplication
`name` : | the bus name. [out]
`object_path` : | the object path. [out]
Returns : | `TRUE` if found, `FALSE` otherwise.

## Signal Details

### The `"desktop-file-updated"` signal

    void                user_function                      (BamfApplication *bamfapplication,
                                                            gchar           *arg1,
                                                            gpointer         user_data)

`bamfapplication` : | the object which received the signal.
`user_data` : | user data set when the signal handler was connected.

### The `"window-added"` signal

    void                user_function                      (BamfApplication *bamfapplication,
                                                            BamfWindow      *arg1,
                                                            gpointer         user_data)

`bamfapplication` : | the object which received the signal.
`user_data` : | user data set when the signal handler was connected.

### The `"window-removed"` signal

    void                user_function                      (BamfApplication *bamfapplication,
                                                            BamfWindow      *arg1,
                                                            gpointer         user_data)

`bamfapplication` : | the object which received the signal.
`user_data` : | user data set when the signal handler was connected.