QGIS API Documentation
4.3.0-Master (4ecdf0f3f59)
Toggle main menu visibility
Loading...
Searching...
No Matches
src
core
settings
qgssettingsproxy.h
Go to the documentation of this file.
1
/***************************************************************************
2
qgssettingsproxy.h
3
--------------------------------------
4
Date : January 2024
5
Copyright : (C) 2024 by Nyall Dawson
6
Email : nyall dot dawson at gmail dot com
7
***************************************************************************
8
* *
9
* This program is free software; you can redistribute it and/or modify *
10
* it under the terms of the GNU General Public License as published by *
11
* the Free Software Foundation; either version 2 of the License, or *
12
* (at your option) any later version. *
13
* *
14
***************************************************************************/
15
16
#ifndef QGSSETTINGSPROXY_H
17
#define QGSSETTINGSPROXY_H
18
19
20
#include <optional>
21
22
#include "qgis_core.h"
23
#include "
qgssettings.h
"
24
25
#define SIP_NO_FILE
26
36
class
CORE_EXPORT
QgsSettingsProxy
37
{
38
public
:
45
explicit
QgsSettingsProxy
(
QgsSettings
*settings =
nullptr
);
46
50
QgsSettings
*
operator->
() {
return
mOwnedSettings.has_value() ? &( *mOwnedSettings ) : mNonOwnedSettings; }
51
55
QgsSettings
&
operator*
() {
return
mOwnedSettings.has_value() ? *mOwnedSettings : *mNonOwnedSettings; }
56
57
private
:
58
QgsSettings
*mNonOwnedSettings =
nullptr
;
59
std::optional< QgsSettings > mOwnedSettings;
60
};
61
#endif
// QGSSETTINGSPROXY_H
QgsSettingsProxy::operator*
QgsSettings & operator*()
Returns a reference to the proxied QgsSettings object.
Definition
qgssettingsproxy.h:55
QgsSettingsProxy::QgsSettingsProxy
QgsSettingsProxy(QgsSettings *settings=nullptr)
Constructor for QgsSettingsProxy.
Definition
qgssettingsproxy.cpp:17
QgsSettingsProxy::operator->
QgsSettings * operator->()
Returns a pointer to the proxied QgsSettings object.
Definition
qgssettingsproxy.h:50
QgsSettings
Stores settings for use within QGIS.
Definition
qgssettings.h:68
qgssettings.h
Generated on
for QGIS API Documentation by
1.17.0