|  |  |  | Geoclue Reference Manual |  | 
|---|---|---|---|---|
| Top | Description | Object Hierarchy | Properties | Signals | ||||
void (*CreateAddressCallback) (GeoclueMasterClient *client,GeoclueAddress *address,GError *error,gpointer userdata); void (*CreatePositionCallback) (GeoclueMasterClient *client,GeocluePosition *position,GError *error,gpointer userdata); #define GEOCLUE_MASTER_CLIENT_DBUS_INTERFACE void (*GeoclueGetProviderCallback) (GeoclueMasterClient *client,char *name,char *description,char *service,char *path,GError *error,gpointer userdata); GeoclueMasterClient; GeoclueMasterClientClass; void (*GeoclueSetRequirementsCallback) (GeoclueMasterClient *client,GError *error,gpointer userdata); GeoclueAddress * geoclue_master_client_create_address (GeoclueMasterClient *client,GError **error); void geoclue_master_client_create_address_async (GeoclueMasterClient *client,CreateAddressCallback callback,gpointer userdata); GeocluePosition * geoclue_master_client_create_position (GeoclueMasterClient *client,GError **error); void geoclue_master_client_create_position_async (GeoclueMasterClient *client,CreatePositionCallback callback,gpointer userdata); gboolean geoclue_master_client_get_address_provider (GeoclueMasterClient *client,char **name,char **description,char **service,char **path,GError **error); void geoclue_master_client_get_address_provider_async (GeoclueMasterClient *client,GeoclueGetProviderCallback callback,gpointer userdata); gboolean geoclue_master_client_get_position_provider (GeoclueMasterClient *client,char **name,char **description,char **service,char **path,GError **error); void geoclue_master_client_get_position_provider_async (GeoclueMasterClient *client,GeoclueGetProviderCallback callback,gpointer userdata); gboolean geoclue_master_client_set_requirements (GeoclueMasterClient *client,GeoclueAccuracyLevel min_accuracy,int min_time,gboolean require_updates,GeoclueResourceFlags allowed_resources,GError **error); void geoclue_master_client_set_requirements_async (GeoclueMasterClient *client,GeoclueAccuracyLevel min_accuracy,int min_time,gboolean require_updates,GeoclueResourceFlags allowed_resources,GeoclueSetRequirementsCallback callback,gpointer userdata);
"address-provider-changed" :No Recursion"invalidated" :No Recursion"position-provider-changed" :No Recursion
GeoclueMasterClient is part of the Geoclue public C client API. It uses D-Bus to communicate with the actual Master service.
GeoclueMasterClient is used to control the client specific behaviour of Geoclue Master. Chapter "Master provider: simple example in C" contains a more complete example, but here are the main parts:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | GeoclueMaster *master; GeoclueMasterClient *client; GeoclueAddress *address; ... master = geoclue_master_get_default (); client = geoclue_master_create_client (master, NULL, NULL); if (!geoclue_master_client_set_requirements (client, GEOCLUE_ACCURACY_LEVEL_NONE, 0, FALSE, GEOCLUE_RESOURCE_NETWORK, &error)) { / * handle error * / } address = geoclue_master_client_create_address (client, error); if (!address) { / * handle error * / } / * Now we can use address just like we'd use a normal address provider, but GeoclueMasterClient makes sure that underneath the provider that best matches our requirements is used * / | 
void (*CreateAddressCallback) (GeoclueMasterClient *client,GeoclueAddress *address,GError *error,gpointer userdata);
Callback function for geoclue_master_client_create_address_async().
| 
 | A GeoclueMasterClient object | 
| 
 | returned GeoclueAddress | 
| 
 | Error as Gerror (may be NULL) | 
| 
 | User data pointer set in geoclue_master_client_create_address_async() | 
void (*CreatePositionCallback) (GeoclueMasterClient *client,GeocluePosition *position,GError *error,gpointer userdata);
Callback function for geoclue_master_client_create_position_async().
| 
 | A GeoclueMasterClient object | 
| 
 | returned GeocluePosition | 
| 
 | Error as Gerror (may be NULL) | 
| 
 | User data pointer set in geoclue_master_client_create_position_async() | 
#define GEOCLUE_MASTER_CLIENT_DBUS_INTERFACE "org.freedesktop.Geoclue.MasterClient"
void (*GeoclueGetProviderCallback) (GeoclueMasterClient *client,char *name,char *description,char *service,char *path,GError *error,gpointer userdata);
typedef struct {
	GObjectClass parent_class;
	void (* address_provider_changed) (GeoclueMasterClient  *client,
	                                   char                 *name,
	                                   char                 *description,
	                                   char                 *service,
	                                   char                 *path);
	void (* position_provider_changed) (GeoclueMasterClient  *client,
	                                    char                 *name,
	                                    char                 *description,
	                                    char                 *service,
	                                    char                 *path);
	void (* invalidated) (GeoclueMasterClient *client);
} GeoclueMasterClientClass;
void (*GeoclueSetRequirementsCallback) (GeoclueMasterClient *client,GError *error,gpointer userdata);
Callback function for geoclue_master_client_set_requirements_async().
| 
 | A GeoclueMasterClient object | 
| 
 | Error as Gerror (may be NULL) | 
| 
 | User data pointer set in geoclue_master_client_set_requirements_async() | 
GeoclueAddress * geoclue_master_client_create_address (GeoclueMasterClient *client,GError **error);
Starts the GeoclueMasterClient address provider and returns a GeoclueAddress that uses the same D-Bus object as the GeoclueMasterClient.
| 
 | A GeoclueMasterClient | 
| 
 | A pointer to returned GError or NULL. | 
| Returns : | New GeoclueAddress or NULLon error | 
void geoclue_master_client_create_address_async (GeoclueMasterClient *client,CreateAddressCallback callback,gpointer userdata);
Function returns (essentially) immediately and calls callback when it has started the address provider
and a GeoclueAddress is available.
| 
 | A GeoclueMasterClient object | 
| 
 | A CreateAddressCallback function that should be called when return values are available | 
| 
 | pointer for user specified data | 
GeocluePosition * geoclue_master_client_create_position (GeoclueMasterClient *client,GError **error);
Starts the GeoclueMasterClient position provider and returns a GeocluePosition that uses the same D-Bus object as the GeoclueMasterClient.
| 
 | A GeoclueMasterClient | 
| 
 | A pointer to returned GError or NULL. | 
| Returns : | New GeocluePosition or NULLon error | 
void geoclue_master_client_create_position_async (GeoclueMasterClient *client,CreatePositionCallback callback,gpointer userdata);
Function returns (essentially) immediately and calls callback when it has started the position provider
and a GeocluePosition is available.
| 
 | A GeoclueMasterClient object | 
| 
 | A CreatePositionCallback function that should be called when return values are available | 
| 
 | pointer for user specified data | 
gboolean geoclue_master_client_get_address_provider (GeoclueMasterClient *client,char **name,char **description,char **service,char **path,GError **error);
Gets name and other information for the currently used address provider.
| 
 | A GeoclueMasterClient | 
| 
 | Pointer to returned provider name or NULL | 
| 
 | Pointer to returned provider description or NULL | 
| 
 | Pointer to returned D-Bus service name or NULL | 
| 
 | Pointer to returned D-Bus object path or NULL | 
| 
 | Pointer to returned GError or NULL | 
| Returns : | TRUEon success | 
void geoclue_master_client_get_address_provider_async (GeoclueMasterClient *client,GeoclueGetProviderCallback callback,gpointer userdata);
Gets name and other information for the currently used address provider asynchronously.
| 
 | A GeoclueMasterClient | 
| 
 | A GeoclueGetProviderCallback function that will be called when return values are available | 
| 
 | pointer for user specified data | 
gboolean geoclue_master_client_get_position_provider (GeoclueMasterClient *client,char **name,char **description,char **service,char **path,GError **error);
Gets name and other information for the currently used position provider.
| 
 | A GeoclueMasterClient | 
| 
 | Pointer to returned provider name or NULL | 
| 
 | Pointer to returned provider description or NULL | 
| 
 | Pointer to returned D-Bus service name or NULL | 
| 
 | Pointer to returned D-Bus object path or NULL | 
| 
 | Pointer to returned GError or NULL | 
| Returns : | TRUEon success | 
void geoclue_master_client_get_position_provider_async (GeoclueMasterClient *client,GeoclueGetProviderCallback callback,gpointer userdata);
Gets name and other information for the currently used position provider asynchronously.
| 
 | A GeoclueMasterClient | 
| 
 | A GeoclueGetProviderCallback function that will be called when return values are available | 
| 
 | pointer for user specified data | 
gboolean geoclue_master_client_set_requirements (GeoclueMasterClient *client,GeoclueAccuracyLevel min_accuracy,int min_time,gboolean require_updates,GeoclueResourceFlags allowed_resources,GError **error);
Sets the criteria that should be used when selecting the used provider
| 
 | A GeoclueMasterClient | 
| 
 | The required minimum accuracy as a GeoclueAccuracyLevel. | 
| 
 | The minimum time between update signals in seconds | 
| 
 | Whether the updates (signals) are required. Only applies to interfaces with signals | 
| 
 | The resources that are allowed to be used as a GeoclueResourceFlags | 
| 
 | A pointer to returned GError or NULL. | 
| Returns : | TRUEon success | 
void geoclue_master_client_set_requirements_async (GeoclueMasterClient *client,GeoclueAccuracyLevel min_accuracy,int min_time,gboolean require_updates,GeoclueResourceFlags allowed_resources,GeoclueSetRequirementsCallback callback,gpointer userdata);
Asynchronous version of geoclue_master_client_set_requirements().
| 
 | A GeoclueMasterClient | 
| 
 | The required minimum accuracy as a GeoclueAccuracyLevel. | 
| 
 | The minimum time between update signals (currently not implemented) | 
| 
 | Whether the updates (signals) are required. Only applies to interfaces with signals | 
| 
 | The resources that are allowed to be used as a GeoclueResourceFlags | 
| 
 | GeoclueSetRequirementsCallback function to call when requirements have been set | 
| 
 | User data pointer | 
"object-path" property"object-path" gchar* : Write / Construct Only
The DBus path to the object.
Default value: ""
"address-provider-changed" signalvoid                user_function                      (GeoclueMasterClient *client,
                                                        gchar               *name,
                                                        gchar               *description,
                                                        gchar               *service,
                                                        gchar               *path,
                                                        gpointer             user_data)        : No Recursion
The address-provider-changed signal is emitted each time the used address provider changes.
| 
 | the GeoclueMasterClient object emitting the signal | 
| 
 | name of the new provider (e.g. "Hostip") or NULLif there is no provider | 
| 
 | a short description of the new provider or NULLif there is no provider | 
| 
 | D-Bus service name of the new provider or NULLif there is no provider | 
| 
 | D-Bus object path name of the new provider or NULLif there is no provider | 
| 
 | user data set when the signal handler was connected. | 
"invalidated" signalvoid                user_function                      (GeoclueMasterClient *client,
                                                        gpointer             user_data)      : No Recursion
The client has been invalidated. This is emitted when Geoclue Dbus services disappear unexpectedly (possibly due to a crash). Upon receiving this signal, you should unref your client and create a new one.
| 
 | the GeoclueMasterClient object emitting the signal | 
| 
 | user data set when the signal handler was connected. | 
"position-provider-changed" signalvoid                user_function                      (GeoclueMasterClient *client,
                                                        gchar               *name,
                                                        gchar               *description,
                                                        gchar               *service,
                                                        gchar               *path,
                                                        gpointer             user_data)        : No Recursion
The position-provider-changed signal is emitted each time the used position provider changes.
| 
 | the GeoclueMasterClient object emitting the signal | 
| 
 | name of the new provider (e.g. "Hostip") or NULLif there is no provider | 
| 
 | a short description of the new provider or NULLif there is no provider | 
| 
 | D-Bus service name of the new provider or NULLif there is no provider | 
| 
 | D-Bus object path name of the new provider or NULLif there is no provider | 
| 
 | user data set when the signal handler was connected. |