QGIS API Documentation
4.3.0-Master (52aa6503bed)
Toggle main menu visibility
Loading...
Searching...
No Matches
src
core
browser
qgsdatabaseschemaitem.cpp
Go to the documentation of this file.
1
/***************************************************************************
2
qgsdatabaseschemaitem.cpp
3
-------------------
4
begin : 2011-04-01
5
copyright : (C) 2011 Radim Blazek
6
email : radim dot blazek at gmail dot com
7
***************************************************************************/
8
9
/***************************************************************************
10
* *
11
* This program is free software; you can redistribute it and/or modify *
12
* it under the terms of the GNU General Public License as published by *
13
* the Free Software Foundation; either version 2 of the License, or *
14
* (at your option) any later version. *
15
* *
16
***************************************************************************/
17
18
#include "
qgsdatabaseschemaitem.h
"
19
20
#include "
qgsabstractdatabaseproviderconnection.h
"
21
#include "
qgsapplication.h
"
22
#include "
qgsdataitemproviderregistry.h
"
23
#include "
qgsprovidermetadata.h
"
24
#include "
qgsproviderregistry.h
"
25
26
#include "moc_qgsdatabaseschemaitem.cpp"
27
28
QgsDatabaseSchemaItem::QgsDatabaseSchemaItem
(
QgsDataItem
*
parent
,
const
QString &
name
,
const
QString &
path
,
const
QString &
providerKey
)
29
:
QgsDataCollectionItem
(
parent
,
name
,
path
,
providerKey
)
30
{}
31
32
QgsDatabaseSchemaItem::~QgsDatabaseSchemaItem
()
33
{}
34
35
QgsAbstractDatabaseProviderConnection
*
QgsDatabaseSchemaItem::databaseConnection
()
const
36
{
37
const
QString dataProviderKey {
QgsApplication::dataItemProviderRegistry
()->
dataProviderKey
(
providerKey
() ) };
38
QgsProviderMetadata
*md {
QgsProviderRegistry::instance
()->
providerMetadata
( dataProviderKey ) };
39
if
( !md )
40
{
41
return
nullptr
;
42
}
43
const
QString connectionName {
parent
()->
name
() };
44
try
45
{
46
return
static_cast<
QgsAbstractDatabaseProviderConnection
*
>
( md->
createConnection
( connectionName ) );
47
}
48
catch
(
QgsProviderConnectionException
& )
49
{
50
// This is expected and it is not an error in case the provider does not implement
51
// the connections API
52
}
53
return
nullptr
;
54
}
QgsAbstractDatabaseProviderConnection
Provides common functionality for database based connections.
Definition
qgsabstractdatabaseproviderconnection.h:50
QgsApplication::dataItemProviderRegistry
static QgsDataItemProviderRegistry * dataItemProviderRegistry()
Returns the application's data item provider registry, which keeps a list of data item providers that...
Definition
qgsapplication.cpp:2584
QgsDataCollectionItem::QgsDataCollectionItem
QgsDataCollectionItem(QgsDataItem *parent, const QString &name, const QString &path=QString(), const QString &providerKey=QString())
Constructor for QgsDataCollectionItem, with the specified parent item.
Definition
qgsdatacollectionitem.cpp:34
QgsDataItemProviderRegistry::dataProviderKey
QString dataProviderKey(const QString &dataItemProviderName)
Returns the (possibly blank) data provider key for a given data item provider name.
Definition
qgsdataitemproviderregistry.cpp:90
QgsDataItem::QgsDataItem
QgsDataItem(Qgis::BrowserItemType type, QgsDataItem *parent, const QString &name, const QString &path, const QString &providerKey=QString())
Constructor for QgsDataItem, with the specified parent item.
Definition
qgsdataitem.cpp:63
QgsDataItem::name
QString name() const
Returns the name of the item (the displayed text for the item).
Definition
qgsdataitem.h:406
QgsDataItem::path
QString path() const
Definition
qgsdataitem.h:415
QgsDataItem::parent
QgsDataItem * parent() const
Gets item parent.
Definition
qgsdataitem.h:379
QgsDataItem::providerKey
QString providerKey() const
Returns the provider key that created this item (e.g.
Definition
qgsdataitem.cpp:398
QgsDatabaseSchemaItem::~QgsDatabaseSchemaItem
~QgsDatabaseSchemaItem() override
Definition
qgsdatabaseschemaitem.cpp:32
QgsDatabaseSchemaItem::QgsDatabaseSchemaItem
QgsDatabaseSchemaItem(QgsDataItem *parent, const QString &name, const QString &path=QString(), const QString &providerKey=QString())
Constructor for QgsDatabaseSchemaItem, with the specified parent item.
Definition
qgsdatabaseschemaitem.cpp:28
QgsDatabaseSchemaItem::databaseConnection
QgsAbstractDatabaseProviderConnection * databaseConnection() const override
For data items that represent a DB connection or one of its children, this method returns a connectio...
Definition
qgsdatabaseschemaitem.cpp:35
QgsProviderConnectionException
Custom exception class for provider connection related exceptions.
Definition
qgsexception.h:94
QgsProviderMetadata
Holds data provider key, description, and associated shared library file or function pointer informat...
Definition
qgsprovidermetadata.h:234
QgsProviderMetadata::createConnection
virtual QgsAbstractProviderConnection * createConnection(const QString &uri, const QVariantMap &configuration)
Creates a new connection from uri and configuration, the newly created connection is not automaticall...
Definition
qgsprovidermetadata.cpp:363
QgsProviderRegistry::instance
static QgsProviderRegistry * instance(const QString &pluginPath=QString())
Means of accessing canonical single instance.
Definition
qgsproviderregistry.cpp:86
QgsProviderRegistry::providerMetadata
QgsProviderMetadata * providerMetadata(const QString &providerKey) const
Returns metadata of the provider or nullptr if not found.
Definition
qgsproviderregistry.cpp:1047
qgsabstractdatabaseproviderconnection.h
qgsapplication.h
qgsdatabaseschemaitem.h
qgsdataitemproviderregistry.h
qgsprovidermetadata.h
qgsproviderregistry.h
Generated on
for QGIS API Documentation by
1.17.0