diff --git a/CMakeLists.txt b/CMakeLists.txt index 10d1e41c92149005bec67091b378468437228bb7..cd1ad493b089048f6ea3e6dd527a445bbe084b34 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -517,7 +517,7 @@ ENDIF() IF(NOT ${ENABLE_STATIC} MATCHES false) message(STATUS "Configuring as static lib") - add_library( ringclient_static STATIC ${libringclient_LIB_SRCS} ${LIB_HEADER_MOC} ) + add_library( ringclient_static STATIC ${libringclient_LIB_SRCS} ${libringclient_api_LIB_HDRS} ${LIB_HEADER_MOC} ) target_link_libraries(ringclient_static Qt5::Core) target_link_libraries(ringclient_static Qt5::Gui) target_link_libraries( ringclient_static diff --git a/src/api/account.h b/src/api/account.h index 7eeb618957e79663876713dfd5847c1f0d47e5cd..481d501c08641e0185aaef77973e08e7924dd4a5 100644 --- a/src/api/account.h +++ b/src/api/account.h @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (C) 2017-2020 Savoir-faire Linux Inc. * + * Copyright (C) 2017-2020 Savoir-faire Linux Inc. * * Author: Nicolas Jäger <nicolas.jager@savoirfairelinux.com> * * Author: Sébastien Blin <sebastien.blin@savoirfairelinux.com> * * * @@ -42,12 +42,19 @@ class PeerDiscoveryModel; namespace account { +#if QT_VERSION >= QT_VERSION_CHECK(5, 15, 0) +Q_NAMESPACE +Q_CLASSINFO("RegisterEnumClassesUnscoped", "false") +#endif enum class Type { INVALID, RING, SIP }; +#if QT_VERSION >= QT_VERSION_CHECK(5, 15, 0) +Q_ENUM_NS(Type) +#endif #pragma push_macro("REGISTERED") #undef REGISTERED @@ -60,6 +67,9 @@ enum class Status { TRYING, REGISTERED }; +#if QT_VERSION >= QT_VERSION_CHECK(5, 15, 0) +Q_ENUM_NS(Status) +#endif static inline account::Status to_status(const QString& type) @@ -84,6 +94,9 @@ enum class KeyExchangeProtocol { NONE, SDES }; +#if QT_VERSION >= QT_VERSION_CHECK(5, 15, 0) +Q_ENUM_NS(KeyExchangeProtocol) +#endif enum class TlsMethod { DEFAULT, @@ -91,6 +104,9 @@ enum class TlsMethod { TLSv1_1, TLSv1_2 }; +#if QT_VERSION >= QT_VERSION_CHECK(5, 15, 0) +Q_ENUM_NS(TlsMethod) +#endif struct ConfProperties_t { QString mailbox; @@ -201,6 +217,9 @@ enum class ExportOnRingStatus { NETWORK_ERROR = 2, INVALID }; +#if QT_VERSION >= QT_VERSION_CHECK(5, 15, 0) +Q_ENUM_NS(ExportOnRingStatus) +#endif enum class RegisterNameStatus { SUCCESS = 0, @@ -210,6 +229,9 @@ enum class RegisterNameStatus { NETWORK_ERROR = 4, INVALID }; +#if QT_VERSION >= QT_VERSION_CHECK(5, 15, 0) +Q_ENUM_NS(RegisterNameStatus) +#endif enum class LookupStatus { SUCCESS = 0, @@ -218,6 +240,9 @@ enum class LookupStatus { ERROR = 3, INVALID }; +#if QT_VERSION >= QT_VERSION_CHECK(5, 15, 0) +Q_ENUM_NS(LookupStatus) +#endif struct Info { diff --git a/src/api/call.h b/src/api/call.h index c95e6fb1b93e984d95dfece6ba1ee0c29e34814e..c59703aee7046bc7db14cdc393510b9d16e9775a 100644 --- a/src/api/call.h +++ b/src/api/call.h @@ -36,6 +36,10 @@ namespace api namespace call { +#if QT_VERSION >= QT_VERSION_CHECK(5, 15, 0) +Q_NAMESPACE +Q_CLASSINFO("RegisterEnumClassesUnscoped", "false") +#endif enum class Status { INVALID, @@ -52,6 +56,9 @@ enum class Status { TERMINATING, CONNECTED }; +#if QT_VERSION >= QT_VERSION_CHECK(5, 15, 0) +Q_ENUM_NS(Status) +#endif static inline QString to_string(const call::Status& status) @@ -126,6 +133,9 @@ enum class Type { DIALOG, CONFERENCE }; +#if QT_VERSION >= QT_VERSION_CHECK(5, 15, 0) +Q_ENUM_NS(Type) +#endif enum class Layout { GRID, diff --git a/src/api/conversationmodel.h b/src/api/conversationmodel.h index 0c49854200dfb6000c7aec88c1a1a0af39324c53..6aee13f819e52e720dd10d07a689459ecd927c52 100644 --- a/src/api/conversationmodel.h +++ b/src/api/conversationmodel.h @@ -40,6 +40,10 @@ class Database; namespace api { +#if QT_VERSION >= QT_VERSION_CHECK(5, 15, 0) +Q_NAMESPACE +Q_CLASSINFO("RegisterEnumClassesUnscoped", "false") +#endif namespace account { struct Info; } namespace interaction { struct Info; } @@ -52,6 +56,9 @@ enum class ConferenceableItem { CALL, CONTACT }; +#if QT_VERSION >= QT_VERSION_CHECK(5, 15, 0) +Q_ENUM_NS(ConferenceableItem) +#endif struct AccountConversation { diff --git a/src/api/datatransfer.h b/src/api/datatransfer.h index 5d0dcf8afca081fa1a3701106d543e08527a86eb..e78788a7e20515b17326ae02345033a32b3ac27b 100644 --- a/src/api/datatransfer.h +++ b/src/api/datatransfer.h @@ -28,6 +28,10 @@ namespace lrc { namespace api { namespace datatransfer { +#if QT_VERSION >= QT_VERSION_CHECK(5, 15, 0) +Q_NAMESPACE +Q_CLASSINFO("RegisterEnumClassesUnscoped", "false") +#endif enum class Status { on_connection, // outgoing tx: wait for connection/acceptance, incoming tx: wait for local acceptance @@ -41,6 +45,9 @@ enum class Status { unsupported, // error: unable to do the transfer (generic error) INVALID }; +#if QT_VERSION >= QT_VERSION_CHECK(5, 15, 0) +Q_ENUM_NS(Status) +#endif static inline const QString to_string(const Status& status) diff --git a/src/api/interaction.h b/src/api/interaction.h index fbb467417825159bfe3791f2321e80f4b90ddfd7..956f5736e5687ebb472cd4f87d2706e87993e19f 100644 --- a/src/api/interaction.h +++ b/src/api/interaction.h @@ -30,6 +30,10 @@ namespace api namespace interaction { +#if QT_VERSION >= QT_VERSION_CHECK(5, 15, 0) +Q_NAMESPACE +Q_CLASSINFO("RegisterEnumClassesUnscoped", "false") +#endif enum class Type { INVALID, @@ -39,6 +43,9 @@ enum class Type { DATA_TRANSFER, COUNT__ }; +#if QT_VERSION >= QT_VERSION_CHECK(5, 15, 0) +Q_ENUM_NS(Type) +#endif static inline const QString to_string(const Type& type) @@ -93,6 +100,9 @@ enum class Status { TRANSFER_FINISHED, COUNT__ }; +#if QT_VERSION >= QT_VERSION_CHECK(5, 15, 0) +Q_ENUM_NS(Status) +#endif static inline const QString to_string(const Status& status) diff --git a/src/api/newvideo.h b/src/api/newvideo.h index 2c8b4259d926c47c5fcfea7de43ad79f301d215f..c5163ede873efced7d653bf4321b682fd15dffc1 100644 --- a/src/api/newvideo.h +++ b/src/api/newvideo.h @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (C) 2018-2020 Savoir-faire Linux Inc. * + * Copyright (C) 2018-2020 Savoir-faire Linux Inc. * * Author: Sébastien Blin <sebastien.blin@savoirfairelinux.com> * * * * This library is free software; you can redistribute it and/or * @@ -45,6 +45,10 @@ namespace api namespace video { +#if QT_VERSION >= QT_VERSION_CHECK(5, 15, 0) +Q_NAMESPACE +Q_CLASSINFO("RegisterEnumClassesUnscoped", "false") +#endif constexpr static const char PREVIEW_RENDERER_ID[] = "local"; @@ -71,13 +75,16 @@ struct Frame { unsigned int width { 0 }; }; -enum DeviceType +enum class DeviceType { CAMERA, DISPLAY, FILE, INVALID }; +#if QT_VERSION >= QT_VERSION_CHECK(5, 15, 0) +Q_ENUM_NS(DeviceType) +#endif /** * This class describes the current rendered device @@ -85,7 +92,7 @@ enum DeviceType struct RenderedDevice { QString name; - DeviceType type = INVALID; + DeviceType type = DeviceType::INVALID; }; /** diff --git a/src/api/profile.h b/src/api/profile.h index 681220d385178e9c346b347dba8401f0f13803dc..d08acf75ca9b953e82a3645b27e642d17cfa2b29 100644 --- a/src/api/profile.h +++ b/src/api/profile.h @@ -18,6 +18,7 @@ ***************************************************************************/ #pragma once +#include <QObject> #include <QString> namespace lrc @@ -28,6 +29,10 @@ namespace api namespace profile { +#if QT_VERSION >= QT_VERSION_CHECK(5, 15, 0) +Q_NAMESPACE +Q_CLASSINFO("RegisterEnumClassesUnscoped", "false") +#endif enum class Type { INVALID, @@ -37,6 +42,9 @@ enum class Type { TEMPORARY, COUNT__ }; +#if QT_VERSION >= QT_VERSION_CHECK(5, 15, 0) +Q_ENUM_NS(Type) +#endif static inline const QString to_string(const Type& type)