## ChamplainMapSourceDesc ChamplainMapSourceDesc — A class that describes map sources. |

## Synopsis

    struct              ChamplainMapSourceDesc;
    ChamplainMapSource * (*ChamplainMapSourceConstructor)   (ChamplainMapSourceDesc *desc);
    #define             CHAMPLAIN_MAP_SOURCE_CONSTRUCTOR
    ChamplainMapSourceDesc * champlain_map_source_desc_new_full
                                                            (gchar *id,
                                                             gchar *name,
                                                             gchar *license,
                                                             gchar *license_uri,
                                                             guint min_zoom,
                                                             guint max_zoom,
                                                             guint tile_size,
                                                             ChamplainMapProjection projection,
                                                             gchar *uri_format,
                                                             ChamplainMapSourceConstructor constructor,
                                                             gpointer data);
    const gchar *       champlain_map_source_desc_get_id    (ChamplainMapSourceDesc *desc);
    const gchar *       champlain_map_source_desc_get_name  (ChamplainMapSourceDesc *desc);
    const gchar *       champlain_map_source_desc_get_license
                                                            (ChamplainMapSourceDesc *desc);
    const gchar *       champlain_map_source_desc_get_license_uri
                                                            (ChamplainMapSourceDesc *desc);
    const gchar *       champlain_map_source_desc_get_uri_format
                                                            (ChamplainMapSourceDesc *desc);
    guint               champlain_map_source_desc_get_min_zoom_level
                                                            (ChamplainMapSourceDesc *desc);
    guint               champlain_map_source_desc_get_max_zoom_level
                                                            (ChamplainMapSourceDesc *desc);
    guint               champlain_map_source_desc_get_tile_size
                                                            (ChamplainMapSourceDesc *desc);
    ChamplainMapProjection champlain_map_source_desc_get_projection
                                                            (ChamplainMapSourceDesc *desc);
    gpointer            champlain_map_source_desc_get_data  (ChamplainMapSourceDesc *desc);
    ChamplainMapSourceConstructor champlain_map_source_desc_get_constructor
                                                            (ChamplainMapSourceDesc *desc);

## Object Hierarchy

      GObject
       +----ChamplainMapSourceDesc

## Properties

      "constructor"              gpointer              : Read / Write / Construct Only
      "data"                     gpointer              : Read / Write / Construct Only
      "id"                       gchar*                : Read / Write / Construct Only
      "license"                  gchar*                : Read / Write / Construct Only
      "license-uri"              gchar*                : Read / Write / Construct Only
      "max-zoom-level"           guint                 : Read / Write / Construct Only
      "min-zoom-level"           guint                 : Read / Write / Construct Only
      "name"                     gchar*                : Read / Write / Construct Only
      "projection"               ChamplainMapProjection  : Read / Write / Construct Only
      "tile-size"                guint                 : Read / Write / Construct Only
      "uri-format"               gchar*                : Read / Write / Construct Only

## Description

A class that describes map sources.

## Details

### struct ChamplainMapSourceDesc

    struct ChamplainMapSourceDesc;

The ChamplainMapSourceDesc structure contains only private data and should be accessed using the provided API

Since 0.10

### ChamplainMapSourceConstructor ()

    ChamplainMapSource * (*ChamplainMapSourceConstructor)   (ChamplainMapSourceDesc *desc);

A ChamplainMapSource constructor. It should return a ready to use ChamplainMapSource.

`desc` : | a ChamplainMapSourceDesc
Returns : | A fully constructed ChamplainMapSource ready to be used.

Since 0.10

### CHAMPLAIN_MAP_SOURCE_CONSTRUCTOR

    #define CHAMPLAIN_MAP_SOURCE_CONSTRUCTOR (f) ((ChamplainMapSourceConstructor) (f))

Conversion macro to ChamplainMapSourceConstructor.

Since 0.10

### champlain_map_source_desc_new_full ()

    ChamplainMapSourceDesc * champlain_map_source_desc_new_full
                                                            (gchar *id,
                                                             gchar *name,
                                                             gchar *license,
                                                             gchar *license_uri,
                                                             guint min_zoom,
                                                             guint max_zoom,
                                                             guint tile_size,
                                                             ChamplainMapProjection projection,
                                                             gchar *uri_format,
                                                             ChamplainMapSourceConstructor constructor,
                                                             gpointer data);

Constructor of ChamplainMapSourceDesc which describes a ChamplainMapSource. This is returned by champlain_map_source_factory_get_registered

`id` : | the map source's id
`name` : | the map source's name
`license` : | the map source's license
`license_uri` : | the map source's license URI
`min_zoom` : | the map source's minimum zoom level
`max_zoom` : | the map source's maximum zoom level
`tile_size` : | the map source's tile size (in pixels)
`projection` : | the map source's projection
`uri_format` : | the URI to fetch the tiles from, see champlain_network_tile_source_set_uri_format
`constructor` : | the map source's constructor
`data` : | user data passed to the constructor
Returns : | a constructed ChamplainMapSourceDesc object

Since 0.10

### champlain_map_source_desc_get_id ()

    const gchar *       champlain_map_source_desc_get_id    (ChamplainMapSourceDesc *desc);

Gets map source's id.

`desc` : | a ChamplainMapSourceDesc
Returns : | the map source's id.

Since 0.10

### champlain_map_source_desc_get_name ()

    const gchar *       champlain_map_source_desc_get_name  (ChamplainMapSourceDesc *desc);

Gets map source's name.

`desc` : | a ChamplainMapSourceDesc
Returns : | the map source's name.

Since 0.10

### champlain_map_source_desc_get_license ()

    const gchar *       champlain_map_source_desc_get_license
                                                            (ChamplainMapSourceDesc *desc);

Gets map source's license.

`desc` : | a ChamplainMapSourceDesc
Returns : | the map source's license.

Since 0.10

### champlain_map_source_desc_get_license_uri ()

    const gchar *       champlain_map_source_desc_get_license_uri
                                                            (ChamplainMapSourceDesc *desc);

Gets map source's license URI.

`desc` : | a ChamplainMapSourceDesc
Returns : | the map source's license URI.

Since 0.10

### champlain_map_source_desc_get_uri_format ()

    const gchar *       champlain_map_source_desc_get_uri_format
                                                            (ChamplainMapSourceDesc *desc);

Gets network map source's URI format.

`desc` : | a ChamplainMapSourceDesc
Returns : | the URI format.

Since 0.10

### champlain_map_source_desc_get_min_zoom_level ()

    guint               champlain_map_source_desc_get_min_zoom_level
                                                            (ChamplainMapSourceDesc *desc);

Gets map source's minimum zoom level.

`desc` : | a ChamplainMapSourceDesc
Returns : | the miminum zoom level this map source supports

Since 0.10

### champlain_map_source_desc_get_max_zoom_level ()

    guint               champlain_map_source_desc_get_max_zoom_level
                                                            (ChamplainMapSourceDesc *desc);

Gets map source's maximum zoom level.

`desc` : | a ChamplainMapSourceDesc
Returns : | the maximum zoom level this map source supports

Since 0.10

### champlain_map_source_desc_get_tile_size ()

    guint               champlain_map_source_desc_get_tile_size
                                                            (ChamplainMapSourceDesc *desc);

Gets map source's tile size.

`desc` : | a ChamplainMapSourceDesc
Returns : | the tile's size (width and height) in pixels for this map source

Since 0.10

### champlain_map_source_desc_get_projection ()

    ChamplainMapProjection champlain_map_source_desc_get_projection
                                                            (ChamplainMapSourceDesc *desc);

Gets map source's projection.

`desc` : | a ChamplainMapSourceDesc
Returns : | the map source's projection.

Since 0.10

### champlain_map_source_desc_get_data ()

    gpointer            champlain_map_source_desc_get_data  (ChamplainMapSourceDesc *desc);

Gets user data.

`desc` : | a ChamplainMapSourceDesc
Returns : | the user data. [transfer none]

Since 0.10

### champlain_map_source_desc_get_constructor ()

    ChamplainMapSourceConstructor champlain_map_source_desc_get_constructor
                                                            (ChamplainMapSourceDesc *desc);

Gets the map source constructor.

`desc` : | a ChamplainMapSourceDesc
Returns : | the constructor.

Since 0.10

## Property Details

### The `"constructor"` property

      "constructor"              gpointer              : Read / Write / Construct Only

The map source constructor

Since 0.10

### The `"data"` property

      "data"                     gpointer              : Read / Write / Construct Only

User data passed to the constructor

Since 0.10

### The `"id"` property

      "id"                       gchar*                : Read / Write / Construct Only

The id of the map source

Default value: ""

Since 0.10

### The `"license"` property

      "license"                  gchar*                : Read / Write / Construct Only

The license of the map source

Default value: ""

Since 0.10

### The `"license-uri"` property

      "license-uri"              gchar*                : Read / Write / Construct Only

The license's uri for more information

Default value: ""

Since 0.10

### The `"max-zoom-level"` property

      "max-zoom-level"           guint                 : Read / Write / Construct Only

The maximum zoom level

Allowed values: <= 20

Default value: 20

Since 0.10

### The `"min-zoom-level"` property

      "min-zoom-level"           guint                 : Read / Write / Construct Only

The minimum zoom level

Allowed values: <= 20

Default value: 0

Since 0.10

### The `"name"` property

      "name"                     gchar*                : Read / Write / Construct Only

The name of the map source

Default value: ""

Since 0.10

### The `"projection"` property

      "projection"               ChamplainMapProjection  : Read / Write / Construct Only

The map projection of the map source

Default value: CHAMPLAIN_MAP_PROJECTION_MERCATOR

Since 0.10

### The `"tile-size"` property

      "tile-size"                guint                 : Read / Write / Construct Only

The tile size of the map source

Allowed values: <= G_MAXINT

Default value: 256

Since 0.10

### The `"uri-format"` property

      "uri-format"               gchar*                : Read / Write / Construct Only

The URI format of a network map source

Default value: ""

Since 0.10