DataProvider - Провайдер данных
=====================================

.. currentmodule:: axioma.core.dp

.. class:: DataProvider

	.. note:: Абстрактный

	Предоставляет интерфейс для открытия \
	источников данных :class:`~axioma.core.dp.DataSource` некоторого типа. Например: файлы MapInfo, SHP-файлы, \
	базы данных, веб-службы, и так далее.

	Унаследован от:

	* :class:`~PyQt5.QtCore.QObject`

	От него наследуются:

	* :class:`~axioma.core.dp.DatabaseProvider`
	* :class:`~axioma.core.dp.FileDataProvider`

		.. py:method:: DataProvider(parent=None)

			Конструктор

			:param parent: Родительский объект
			:type parent: :class:`~PyQt5.QtCore.QObject` или :any:`None`

		.. py:method:: class_id()

			Идентификатор класса провайдера

			:return: Наименование
			:rtype: :class:`str`

		.. py:method:: openDataSource(definition)

			По заданному описанию открывает источник данных

			:param definition: Описание источника данных
			:type definition: :class:`~axioma.core.dp.DataSourceDefinition`
			:return: Созданный источник данных
			:rtype: :class:`~axioma.core.dp.DataSource`

		.. py:method:: canCreateDataSource()

			Функция для проверки, поддерживает ли провайдер создание новых источников данных

			:return: True, если провайдер может создать новый источник данных. В противном случае False
			:rtype: :class:`bool`
			
		.. py:method:: displayDescription()

			Описание провайдера данных

			:return: Строку с текстовым описанием провайдера данных
			:rtype: :class:`str`
	

