## GeoclueProvider GeoclueProvider — Common client API for Geoclue providers |

## Functions

gboolean | geoclue_provider_get_status ()
void | (*GeoclueProviderStatusCallback) ()
void | geoclue_provider_get_status_async ()
gboolean | geoclue_provider_get_provider_info ()
void | (*GeoclueProviderInfoCallback) ()
void | geoclue_provider_get_provider_info_async ()
gboolean | geoclue_provider_set_options ()
void | (*GeoclueProviderOptionsCallback) ()
void | geoclue_provider_set_options_async ()

## Properties

gchar * | interface | Write / Construct Only
gchar * | path | Write / Construct Only
gchar * | service | Write / Construct Only

## Signals

void | status-changed | No Recursion

## Object Hierarchy

        GObject
        ╰── GeoclueProvider
            ├── GeocluePosition
            ├── GeoclueVelocity
            ├── GeoclueAddress
            ├── GeoclueGeocode
            ╰── GeoclueReverseGeocode

## Description

GeoclueProvider contains the methods and signals common to all Geoclue providers. It is part of the public C client API which uses D-Bus to communicate with the actual provider.

A GeoclueProvider is not explicitly created. Instead any provider object can be cast to GeoclueProvider. Using a GeocluePosition as example here:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    GeocluePosition *pos;
    char *name;
    GError *error;

    pos = geoclue_position_new ("org.freedesktop.Geoclue.Providers.Example",
                                "/org/freedesktop/Geoclue/Providers/Example");

    if (geoclue_provider_get_provider_info (GEOCLUE_PROVIDER (pos),
                                            &name, NULL, &error)) {
        g_print ("name = %s", name);
    }

GeoclueProvider can be used to obtain generic information about the provider and to set provider options.

## Functions

### geoclue_provider_get_status ()

    gboolean
    geoclue_provider_get_status (GeoclueProvider *provider,
                                 GeoclueStatus *status,
                                 GError **error);

Obtains the current status of the provider.

#### Parameters

provider | A GeoclueProvider object |
status | Pointer for returned status as GeoclueStatus |
error | Pointer for returned GError or `NULL` |

#### Returns

`TRUE` on success

### GeoclueProviderStatusCallback ()

    void
    (*GeoclueProviderStatusCallback) (GeoclueProvider *provider,
                                      GeoclueStatus status,
                                      GError *error,
                                      gpointer userdata);

Callback function for `geoclue_provider_get_status_async()`.

#### Parameters

provider | A GeoclueProvider object |
status | A GeoclueStatus |
error | Error as GError or `NULL` |
userdata | User data pointer set in `geoclue_provider_get_status_async()` |

### geoclue_provider_get_status_async ()

    void
    geoclue_provider_get_status_async (GeoclueProvider *provider,
                                       GeoclueProviderStatusCallback callback,
                                       gpointer userdata);

Asynchronous version of `geoclue_provider_get_status()`. Function returns (essentially) immediately and calls `callback` when status is available or when there is an error.

#### Parameters

provider | A GeoclueProvider object |
callback | A GeoclueProviderStatusCallback function that will be called when return values are available |
userdata | pointer for user specified data |

### geoclue_provider_get_provider_info ()

    gboolean
    geoclue_provider_get_provider_info (GeoclueProvider *provider,
                                        char **name,
                                        char **description,
                                        GError **error);

Obtains name and a short description of the provider.

#### Parameters

provider | A GeoclueProvider object |
name | Pointer for returned provider name or `NULL` |
description | Pointer for returned provider description or `NULL` |
error | Pointer for returned GError or `NULL` |

#### Returns

`TRUE` on success

### GeoclueProviderInfoCallback ()

    void
    (*GeoclueProviderInfoCallback) (GeoclueProvider *provider,
                                    char *name,
                                    char *description,
                                    GError *error,
                                    gpointer userdata);

Callback function for `geoclue_provider_get_provider_info_async()`.

#### Parameters

provider | A GeoclueProvider object |
name | Name of the provider |
description | one-line description of the provider |
error | Error as GError or `NULL` |
userdata | User data pointer set in `geoclue_provider_get_provider_info_async()` |

### geoclue_provider_get_provider_info_async ()

    void
    geoclue_provider_get_provider_info_async
                                   (GeoclueProvider *provider,
                                    GeoclueProviderInfoCallback callback,
                                    gpointer userdata);

Asynchronous version of `geoclue_provider_get_provider_info()`. Function returns (essentially) immediately and calls `callback` when info is available or when there is an error.

#### Parameters

provider | A GeoclueProvider object |
callback | A GeoclueProviderInfoCallback function that will be called when info is available |
userdata | pointer for user specified data |

### geoclue_provider_set_options ()

    gboolean
    geoclue_provider_set_options (GeoclueProvider *provider,
                                  GHashTable *options,
                                  GError **error);

Sets the options on the provider.

#### Parameters

provider | A GeoclueProvider object |
options | A GHashTable containing the options |
error | Pointer for returned GError or `NULL` |

#### Returns

`TRUE` if setting options succeeded

### GeoclueProviderOptionsCallback ()

    void
    (*GeoclueProviderOptionsCallback) (GeoclueProvider *provider,
                                       GError *error,
                                       gpointer userdata);

Callback function for `geoclue_provider_set_options_async()`.

#### Parameters

provider | A GeoclueProvider object |
error | Error as GError or `NULL` |
userdata | User data pointer set in `geoclue_provider_set_options_async()` |

### geoclue_provider_set_options_async ()

    void
    geoclue_provider_set_options_async (GeoclueProvider *provider,
                                        GHashTable *options,
                                        GeoclueProviderOptionsCallback callback,
                                        gpointer userdata);

Asynchronous version of `geoclue_provider_set_options()`. Function returns (essentially) immediately and calls `callback` when options have been set or when there is an error.

#### Parameters

provider | A GeoclueProvider object |
options | A GHashTable of options |
callback | A GeoclueProviderOptionsCallback function that will be called when options are set |
userdata | pointer for user specified data |

## Types and Values

## Property Details

### The `“interface”` property

      “interface”                gchar *

The D-Bus interface implemented by the object.

Flags: Write / Construct Only

Default value: ""

### The `“path”` property

      “path”                     gchar *

The D-Bus path to this provider.

Flags: Write / Construct Only

Default value: ""

### The `“service”` property

      “service”                  gchar *

The D-Bus service this object represents.

Flags: Write / Construct Only

Default value: ""

## Signal Details

### The `“status-changed”` signal

    void
    user_function (GeoclueProvider *provider,
                   gint             status,
                   gpointer         user_data)

Flags: No Recursion