aboutsummaryrefslogtreecommitdiffstats
path: root/SQLiteStudio3/coreSQLiteStudio/config_builder.h
diff options
context:
space:
mode:
authorLibravatarUnit 193 <unit193@unit193.net>2023-04-30 18:30:36 -0400
committerLibravatarUnit 193 <unit193@unit193.net>2023-04-30 18:30:36 -0400
commit3565aad630864ecdbe53fdaa501ea708555b3c7c (patch)
treec743e4ad0bad39ebdb2f514c7cc52d34a257ebbe /SQLiteStudio3/coreSQLiteStudio/config_builder.h
parent1fdc150116cad39aae5c5da407c3312b47a59e3a (diff)
New upstream version 3.4.4+dfsg.upstream/3.4.4+dfsg
Diffstat (limited to 'SQLiteStudio3/coreSQLiteStudio/config_builder.h')
-rw-r--r--SQLiteStudio3/coreSQLiteStudio/config_builder.h18
1 files changed, 12 insertions, 6 deletions
diff --git a/SQLiteStudio3/coreSQLiteStudio/config_builder.h b/SQLiteStudio3/coreSQLiteStudio/config_builder.h
index f4e030e..4f651e5 100644
--- a/SQLiteStudio3/coreSQLiteStudio/config_builder.h
+++ b/SQLiteStudio3/coreSQLiteStudio/config_builder.h
@@ -6,7 +6,7 @@
#include "config_builder/cfgentry.h"
#include "config_builder/cfglazyinitializer.h"
-#define CFG_CATEGORIES(Type,Body) _CFG_CATEGORIES_WITH_METANAME_AND_TITLE(Type,Body,"",QString())
+#define CFG_CATEGORIES(Type,Body) _CFG_CATEGORIES_WITH_METANAME_AND_TITLE(Type,Body,"",QString(),API_EXPORT)
#define CFG_CATEGORY(Name,Body) \
_CFG_CATEGORY_WITH_TITLE(Name,Body,QString())
@@ -34,24 +34,30 @@
#define CFG_INSTANCE(Type) (*Cfg::get##Type##Instance())
+#define CFG_DELETE_INSTANCE(Type) \
+ if (Cfg::cfgMainInstance##Type) \
+ delete Cfg::cfgMainInstance##Type; \
+ Cfg::cfgMainInstance##Type = nullptr;
+
+
// Macros below are kind of private. You should not need to use them explicitly.
// They are called from macros above.
#define _CFG_CATEGORIES_WITH_METANAME(Type,Body,MetaName) \
- _CFG_CATEGORIES_WITH_METANAME_AND_TITLE(Type,Body,MetaName,QString())
+ _CFG_CATEGORIES_WITH_METANAME_AND_TITLE(Type,Body,MetaName,QString(),API_EXPORT)
#define _CFG_CATEGORIES_WITH_TITLE(Type,Body,Title) \
- _CFG_CATEGORIES_WITH_METANAME_AND_TITLE(Type,Body,"",Title)
+ _CFG_CATEGORIES_WITH_METANAME_AND_TITLE(Type,Body,"",Title,API_EXPORT)
-#define _CFG_CATEGORIES_WITH_METANAME_AND_TITLE(Type,Body,MetaName,Title) \
+#define _CFG_CATEGORIES_WITH_METANAME_AND_TITLE(Type,Body,MetaName,Title,ExportType) \
namespace Cfg\
{\
- struct API_EXPORT Type : public CfgMain\
+ struct ExportType Type : public CfgMain\
{\
Type(bool persistable) : CfgMain(#Type, persistable, MetaName, Title) {}\
Body\
};\
- API_EXPORT Type* get##Type##Instance();\
+ ExportType Type* get##Type##Instance();\
}
#define _CFG_DEFINE(Type, Persistant) \