|  |  |  | Geoclue Reference Manual |  | 
|---|---|---|---|---|
| Top | Description | Object Hierarchy | Signals | ||||
#define GEOCLUE_POSITION_INTERFACE_NAME GeocluePosition; void (*GeocluePositionCallback) (GeocluePosition *position,GeocluePositionFields fields,int timestamp,double latitude,double longitude,double altitude,GeoclueAccuracy *accuracy,GError *error,gpointer userdata); GeocluePositionClass; GeocluePositionFields geoclue_position_get_position (GeocluePosition *position,int *timestamp,double *latitude,double *longitude,double *altitude,GeoclueAccuracy **accuracy,GError **error); void geoclue_position_get_position_async (GeocluePosition *position,GeocluePositionCallback callback,gpointer userdata); GeocluePosition * geoclue_position_new (const char *service,const char *path);
GeocluePosition contains position-related methods and signals. It is part of the Geoclue public C client API which uses D-Bus to communicate with the actual provider.
After a GeocluePosition is created with geoclue_position_new() or 
using geoclye_master_client_create_position(), the 
geoclue_position_get_position() and geoclue_position_get_position_async() 
method and the position-changed signal can be used to obtain the current position.
#define GEOCLUE_POSITION_INTERFACE_NAME "org.freedesktop.Geoclue.Position"
void (*GeocluePositionCallback) (GeocluePosition *position,GeocluePositionFields fields,int timestamp,double latitude,double longitude,double altitude,GeoclueAccuracy *accuracy,GError *error,gpointer userdata);
Callback function for geoclue_position_get_position_async().
| 
 | A GeocluePosition object | 
| 
 | A GeocluePositionFields bitfield representing the validity of the position values | 
| 
 | Time of position measurement (Unix timestamp) | 
| 
 | Latitude in degrees | 
| 
 | Longitude in degrees | 
| 
 | Altitude in meters | 
| 
 | Accuracy of measurement as GeoclueAccuracy | 
| 
 | Error as Gerror or NULL | 
| 
 | User data pointer set in geoclue_position_get_position_async() | 
typedef struct {
	GeoclueProviderClass provider_class;
	void (* position_changed) (GeocluePosition      *position,
				   GeocluePositionFields fields,
				   int                   timestamp,
				   double                latitude,
				   double                longitude,
				   double                altitude,
				   GeoclueAccuracy      *accuracy);
} GeocluePositionClass;
GeocluePositionFields geoclue_position_get_position (GeocluePosition *position,int *timestamp,double *latitude,double *longitude,double *altitude,GeoclueAccuracy **accuracy,GError **error);
Obtains the current position. timestamp will contain the time of 
the actual position measurement. accuracy is a rough estimate of the
accuracy of the current position.
If the caller is not interested in some values, the pointers can be 
left NULL.
| 
 | A GeocluePosition object | 
| 
 | Pointer to returned time of position measurement (Unix timestamp) or NULL | 
| 
 | Pointer to returned latitude in degrees or NULL | 
| 
 | Pointer to returned longitude in degrees or NULL | 
| 
 | Pointer to returned altitude in meters or NULL | 
| 
 | Pointer to returned GeoclueAccuracy or NULL | 
| 
 | Pointer to returned Gerror or NULL | 
| Returns : | A GeocluePositionFields bitfield representing the validity of the position values. | 
void geoclue_position_get_position_async (GeocluePosition *position,GeocluePositionCallback callback,gpointer userdata);
Function returns (essentially) immediately and calls callback when current position
is available or when D-Bus timeouts.
| 
 | A GeocluePosition object | 
| 
 | A GeocluePositionCallback function that should be called when return values are available | 
| 
 | pointer for user specified data | 
GeocluePosition * geoclue_position_new (const char *service,const char *path);
Creates a GeocluePosition with given D-Bus service name and path.
| 
 | D-Bus service name | 
| 
 | D-Bus path name | 
| Returns : | Pointer to a new GeocluePosition | 
"position-changed" signalvoid                user_function                      (GeocluePosition *position,
                                                        gint             fields,
                                                        gint             timestamp,
                                                        gdouble          latitude,
                                                        gdouble          longitude,
                                                        gdouble          altitude,
                                                        gpointer         accuracy,
                                                        gpointer         user_data)      : No Recursion
The position-changed signal is emitted each time the position changes. Clients should note that not all providers support signals.
| 
 | the GeocluePosition object emitting the signal | 
| 
 | A GeocluePositionFields bitfield representing the validity of the position values | 
| 
 | Time of position measurement (Unix timestamp) | 
| 
 | Latitude in degrees | 
| 
 | Longitude in degrees | 
| 
 | Altitude in meters | 
| 
 | Accuracy of measurement as GeoclueAccuracy | 
| 
 | user data set when the signal handler was connected. |