mirror of
https://github.com/qTox/qTox.git
synced 2024-03-22 14:00:36 +08:00
Merge pull request #6394
Brandon Mosher (1): refactor: Provide a Virtual Method Anchor for Classes in Headers
This commit is contained in:
commit
2dafd89052
|
@ -92,6 +92,13 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-rtti")
|
|||
|
||||
# Hardening flags (ASLR, warnings, etc)
|
||||
set(POSITION_INDEPENDENT_CODE True)
|
||||
|
||||
include(CheckCXXCompilerFlag)
|
||||
CHECK_CXX_COMPILER_FLAG(-Wweak-vtables COMPILER_SUPPORTS_WARNING_WEAK_VTABLES)
|
||||
if(COMPILER_SUPPORTS_WARNING_WEAK_VTABLES)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wweak-vtables")
|
||||
endif()
|
||||
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wstrict-overflow")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wstrict-aliasing")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wold-style-cast")
|
||||
|
@ -232,7 +239,18 @@ set(${PROJECT_NAME}_SOURCES
|
|||
src/core/core.h
|
||||
src/core/dhtserver.cpp
|
||||
src/core/dhtserver.h
|
||||
src/core/icoreextpacket.cpp
|
||||
src/core/icoreextpacket.h
|
||||
src/core/icoresettings.cpp
|
||||
src/core/icoresettings.h
|
||||
src/core/icorefriendmessagesender.cpp
|
||||
src/core/icorefriendmessagesender.h
|
||||
src/core/icoregroupmessagesender.cpp
|
||||
src/core/icoregroupmessagesender.h
|
||||
src/core/icoregroupquery.cpp
|
||||
src/core/icoregroupquery.h
|
||||
src/core/icoreidhandler.cpp
|
||||
src/core/icoreidhandler.h
|
||||
src/core/toxcall.cpp
|
||||
src/core/toxcall.h
|
||||
src/core/toxencrypt.cpp
|
||||
|
@ -262,11 +280,13 @@ set(${PROJECT_NAME}_SOURCES
|
|||
src/ipc.h
|
||||
src/model/about/aboutfriend.cpp
|
||||
src/model/about/aboutfriend.h
|
||||
src/model/about/iaboutfriend.cpp
|
||||
src/model/about/iaboutfriend.h
|
||||
src/model/chathistory.cpp
|
||||
src/model/chathistory.h
|
||||
src/model/chatlogitem.cpp
|
||||
src/model/chatlogitem.h
|
||||
src/model/chatroom/chatroom.cpp
|
||||
src/model/chatroom/chatroom.h
|
||||
src/model/chatroom/friendchatroom.cpp
|
||||
src/model/chatroom/friendchatroom.h
|
||||
|
@ -274,11 +294,15 @@ set(${PROJECT_NAME}_SOURCES
|
|||
src/model/chatroom/groupchatroom.h
|
||||
src/model/contact.cpp
|
||||
src/model/contact.h
|
||||
src/model/dialogs/idialogs.cpp
|
||||
src/model/dialogs/idialogs.h
|
||||
src/model/dialogs/idialogsmanager.h
|
||||
src/model/dialogs/idialogsmanager.cpp
|
||||
src/model/exiftransform.cpp
|
||||
src/model/exiftransform.h
|
||||
src/model/friendlist/friendlistmanager.cpp
|
||||
src/model/friendlist/friendlistmanager.h
|
||||
src/model/friendlist/ifriendlistitem.cpp
|
||||
src/model/friendlist/ifriendlistitem.h
|
||||
src/model/friendmessagedispatcher.cpp
|
||||
src/model/friendmessagedispatcher.h
|
||||
|
@ -290,6 +314,7 @@ set(${PROJECT_NAME}_SOURCES
|
|||
src/model/groupmessagedispatcher.h
|
||||
src/model/group.cpp
|
||||
src/model/group.h
|
||||
src/model/ibootstraplistgenerator.cpp
|
||||
src/model/ibootstraplistgenerator.h
|
||||
src/model/ichatlog.h
|
||||
src/model/imessagedispatcher.h
|
||||
|
@ -297,6 +322,7 @@ set(${PROJECT_NAME}_SOURCES
|
|||
src/model/message.h
|
||||
src/model/notificationgenerator.cpp
|
||||
src/model/notificationgenerator.h
|
||||
src/model/profile/iprofileinfo.cpp
|
||||
src/model/profile/iprofileinfo.h
|
||||
src/model/profile/profileinfo.cpp
|
||||
src/model/profile/profileinfo.h
|
||||
|
@ -317,7 +343,12 @@ set(${PROJECT_NAME}_SOURCES
|
|||
src/persistence/db/rawdatabase.h
|
||||
src/persistence/history.cpp
|
||||
src/persistence/history.h
|
||||
src/persistence/ifriendsettings.cpp
|
||||
src/persistence/ifriendsettings.h
|
||||
src/persistence/igroupsettings.cpp
|
||||
src/persistence/igroupsettings.h
|
||||
src/persistence/inotificationsettings.cpp
|
||||
src/persistence/inotificationsettings.h
|
||||
src/persistence/offlinemsgengine.cpp
|
||||
src/persistence/offlinemsgengine.h
|
||||
src/persistence/paths.cpp
|
||||
|
@ -342,6 +373,7 @@ set(${PROJECT_NAME}_SOURCES
|
|||
src/video/camerasource.h
|
||||
src/video/corevideosource.cpp
|
||||
src/video/corevideosource.h
|
||||
src/video/ivideosettings.cpp
|
||||
src/video/ivideosettings.h
|
||||
src/video/netcamview.cpp
|
||||
src/video/netcamview.h
|
||||
|
|
|
@ -20,6 +20,8 @@ set(SOURCE_FILES
|
|||
"include/audio/iaudiosettings.h"
|
||||
"include/audio/iaudiosink.h"
|
||||
"include/audio/iaudiosource.h"
|
||||
"src/iaudiosettings.cpp"
|
||||
"src/iaudiosink.cpp"
|
||||
"src/audio.cpp"
|
||||
"src/backend/alsink.cpp"
|
||||
"src/backend/alsink.h"
|
||||
|
|
|
@ -25,7 +25,12 @@
|
|||
|
||||
class IAudioSettings {
|
||||
public:
|
||||
virtual ~IAudioSettings() = default;
|
||||
IAudioSettings() = default;
|
||||
virtual ~IAudioSettings();
|
||||
IAudioSettings(const IAudioSettings&) = default;
|
||||
IAudioSettings& operator=(const IAudioSettings&) = default;
|
||||
IAudioSettings(IAudioSettings&&) = default;
|
||||
IAudioSettings& operator=(IAudioSettings&&) = default;
|
||||
|
||||
virtual QString getInDev() const = 0;
|
||||
virtual void setInDev(const QString& deviceSpecifier) = 0;
|
||||
|
|
|
@ -96,7 +96,13 @@ public:
|
|||
return {};
|
||||
}
|
||||
|
||||
virtual ~IAudioSink() = default;
|
||||
IAudioSink() = default;
|
||||
virtual ~IAudioSink();
|
||||
IAudioSink(const IAudioSink&) = default;
|
||||
IAudioSink& operator=(const IAudioSink&) = default;
|
||||
IAudioSink(IAudioSink&&) = default;
|
||||
IAudioSink& operator=(IAudioSink&&) = default;
|
||||
|
||||
virtual void playAudioBuffer(const int16_t* data, int samples, unsigned channels,
|
||||
int sampleRate) const = 0;
|
||||
virtual void playMono16Sound(const Sound& sound) = 0;
|
||||
|
|
22
audio/src/iaudiosettings.cpp
Normal file
22
audio/src/iaudiosettings.cpp
Normal file
|
@ -0,0 +1,22 @@
|
|||
/*
|
||||
Copyright © 2021 by The qTox Project Contributors
|
||||
|
||||
This file is part of qTox, a Qt-based graphical interface for Tox.
|
||||
|
||||
qTox is libre software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
qTox is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with qTox. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "audio/iaudiosettings.h"
|
||||
|
||||
IAudioSettings::~IAudioSettings() = default;
|
22
audio/src/iaudiosink.cpp
Normal file
22
audio/src/iaudiosink.cpp
Normal file
|
@ -0,0 +1,22 @@
|
|||
/*
|
||||
Copyright © 2021 by The qTox Project Contributors
|
||||
|
||||
This file is part of qTox, a Qt-based graphical interface for Tox.
|
||||
|
||||
qTox is libre software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
qTox is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with qTox. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "audio/iaudiosink.h"
|
||||
|
||||
IAudioSink::~IAudioSink() = default;
|
|
@ -34,6 +34,11 @@ function(auto_test subsystem module extra_deps)
|
|||
COMMAND ${TEST_CROSSCOMPILING_EMULATOR} test_${module})
|
||||
endfunction()
|
||||
|
||||
set(MOCK_SOURCES
|
||||
test/mock/mockcoreidhandler.cpp
|
||||
test/mock/mockgroupquery.cpp
|
||||
)
|
||||
|
||||
auto_test(core core "${${PROJECT_NAME}_RESOURCES}")
|
||||
auto_test(core contactid "")
|
||||
auto_test(core toxid "")
|
||||
|
@ -45,11 +50,11 @@ auto_test(persistence dbschema "")
|
|||
auto_test(persistence offlinemsgengine "")
|
||||
auto_test(persistence smileypack "${${PROJECT_NAME}_RESOURCES}") # needs emojione
|
||||
auto_test(model friendmessagedispatcher "")
|
||||
auto_test(model groupmessagedispatcher "")
|
||||
auto_test(model groupmessagedispatcher "${MOCK_SOURCES}")
|
||||
auto_test(model messageprocessor "")
|
||||
auto_test(model sessionchatlog "")
|
||||
auto_test(model exiftransform "")
|
||||
auto_test(model notificationgenerator "")
|
||||
auto_test(model notificationgenerator "${MOCK_SOURCES}")
|
||||
|
||||
if (UNIX)
|
||||
auto_test(platform posixsignalnotifier "")
|
||||
|
|
|
@ -45,6 +45,8 @@ ChatMessage::ChatMessage()
|
|||
{
|
||||
}
|
||||
|
||||
ChatMessage::~ChatMessage() = default;
|
||||
|
||||
ChatMessage::Ptr ChatMessage::createChatMessage(const QString& sender, const QString& rawMessage,
|
||||
MessageType type, bool isMe, MessageState state,
|
||||
const QDateTime& date, bool colorizeName)
|
||||
|
|
|
@ -48,6 +48,10 @@ public:
|
|||
};
|
||||
|
||||
ChatMessage();
|
||||
~ChatMessage();
|
||||
ChatMessage(const ChatMessage&) = default;
|
||||
ChatMessage& operator=(const ChatMessage&) = default;
|
||||
ChatMessage(ChatMessage&&) = default;
|
||||
|
||||
static ChatMessage::Ptr createChatMessage(const QString& sender, const QString& rawMessage,
|
||||
MessageType type, bool isMe, MessageState state,
|
||||
|
|
|
@ -30,6 +30,7 @@ ContactId::ContactId()
|
|||
: id()
|
||||
{
|
||||
}
|
||||
ContactId::~ContactId() = default;
|
||||
|
||||
/**
|
||||
* @brief Constructs a ContactId from bytes.
|
||||
|
|
|
@ -28,9 +28,11 @@
|
|||
class ContactId
|
||||
{
|
||||
public:
|
||||
virtual ~ContactId() = default;
|
||||
ContactId& operator=(const ContactId& other) = default;
|
||||
ContactId& operator=(ContactId&& other) = default;
|
||||
virtual ~ContactId();
|
||||
ContactId(const ContactId&) = default;
|
||||
ContactId& operator=(const ContactId&) = default;
|
||||
ContactId(ContactId&&) = default;
|
||||
ContactId& operator=(ContactId&&) = default;
|
||||
bool operator==(const ContactId& other) const;
|
||||
bool operator!=(const ContactId& other) const;
|
||||
bool operator<(const ContactId& other) const;
|
||||
|
|
25
src/core/icoreextpacket.cpp
Normal file
25
src/core/icoreextpacket.cpp
Normal file
|
@ -0,0 +1,25 @@
|
|||
/*
|
||||
Copyright © 2021 by The qTox Project Contributors
|
||||
|
||||
This file is part of qTox, a Qt-based graphical interface for Tox.
|
||||
|
||||
qTox is libre software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
qTox is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with qTox. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "icoreextpacket.h"
|
||||
|
||||
|
||||
ICoreExtPacket::~ICoreExtPacket() = default;
|
||||
|
||||
ICoreExtPacketAllocator::~ICoreExtPacketAllocator() = default;
|
|
@ -36,8 +36,12 @@
|
|||
class ICoreExtPacket
|
||||
{
|
||||
public:
|
||||
virtual ~ICoreExtPacket() = default;
|
||||
|
||||
ICoreExtPacket() = default;
|
||||
virtual ~ICoreExtPacket();
|
||||
ICoreExtPacket(const ICoreExtPacket&) = default;
|
||||
ICoreExtPacket& operator=(const ICoreExtPacket&) = default;
|
||||
ICoreExtPacket(ICoreExtPacket&&) = default;
|
||||
ICoreExtPacket& operator=(ICoreExtPacket&&) = default;
|
||||
/**
|
||||
* @brief Adds message to packet
|
||||
* @return Extended message receipt, UINT64_MAX on failure
|
||||
|
@ -59,7 +63,7 @@ public:
|
|||
class ICoreExtPacketAllocator
|
||||
{
|
||||
public:
|
||||
virtual ~ICoreExtPacketAllocator() = default;
|
||||
virtual ~ICoreExtPacketAllocator();
|
||||
|
||||
/**
|
||||
* @brief Gets a new packet builder for friend with core friend id friendId
|
||||
|
|
22
src/core/icorefriendmessagesender.cpp
Normal file
22
src/core/icorefriendmessagesender.cpp
Normal file
|
@ -0,0 +1,22 @@
|
|||
/*
|
||||
Copyright © 2021 by The qTox Project Contributors
|
||||
|
||||
This file is part of qTox, a Qt-based graphical interface for Tox.
|
||||
|
||||
qTox is libre software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
qTox is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with qTox. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "icorefriendmessagesender.h"
|
||||
|
||||
ICoreFriendMessageSender::~ICoreFriendMessageSender() = default;
|
|
@ -27,7 +27,12 @@
|
|||
class ICoreFriendMessageSender
|
||||
{
|
||||
public:
|
||||
virtual ~ICoreFriendMessageSender() = default;
|
||||
ICoreFriendMessageSender() = default;
|
||||
virtual ~ICoreFriendMessageSender();
|
||||
ICoreFriendMessageSender(const ICoreFriendMessageSender&) = default;
|
||||
ICoreFriendMessageSender& operator=(const ICoreFriendMessageSender&) = default;
|
||||
ICoreFriendMessageSender(ICoreFriendMessageSender&&) = default;
|
||||
ICoreFriendMessageSender& operator=(ICoreFriendMessageSender&&) = default;
|
||||
virtual bool sendAction(uint32_t friendId, const QString& action, ReceiptNum& receipt) = 0;
|
||||
virtual bool sendMessage(uint32_t friendId, const QString& message, ReceiptNum& receipt) = 0;
|
||||
};
|
||||
|
|
22
src/core/icoregroupmessagesender.cpp
Normal file
22
src/core/icoregroupmessagesender.cpp
Normal file
|
@ -0,0 +1,22 @@
|
|||
/*
|
||||
Copyright © 2021 by The qTox Project Contributors
|
||||
|
||||
This file is part of qTox, a Qt-based graphical interface for Tox.
|
||||
|
||||
qTox is libre software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
qTox is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with qTox. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "icoregroupmessagesender.h"
|
||||
|
||||
ICoreGroupMessageSender::~ICoreGroupMessageSender() = default;
|
|
@ -24,7 +24,13 @@
|
|||
class ICoreGroupMessageSender
|
||||
{
|
||||
public:
|
||||
virtual ~ICoreGroupMessageSender() = default;
|
||||
ICoreGroupMessageSender() = default;
|
||||
virtual ~ICoreGroupMessageSender();
|
||||
ICoreGroupMessageSender(const ICoreGroupMessageSender&) = default;
|
||||
ICoreGroupMessageSender& operator=(const ICoreGroupMessageSender&) = default;
|
||||
ICoreGroupMessageSender(ICoreGroupMessageSender&&) = default;
|
||||
ICoreGroupMessageSender& operator=(ICoreGroupMessageSender&&) = default;
|
||||
|
||||
virtual void sendGroupAction(int groupId, const QString& message) = 0;
|
||||
virtual void sendGroupMessage(int groupId, const QString& message) = 0;
|
||||
};
|
||||
|
|
22
src/core/icoregroupquery.cpp
Normal file
22
src/core/icoregroupquery.cpp
Normal file
|
@ -0,0 +1,22 @@
|
|||
/*
|
||||
Copyright © 2021 by The qTox Project Contributors
|
||||
|
||||
This file is part of qTox, a Qt-based graphical interface for Tox.
|
||||
|
||||
qTox is libre software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
qTox is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with qTox. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "icoregroupquery.h"
|
||||
|
||||
ICoreGroupQuery::~ICoreGroupQuery() = default;
|
|
@ -31,7 +31,13 @@
|
|||
class ICoreGroupQuery
|
||||
{
|
||||
public:
|
||||
virtual ~ICoreGroupQuery() = default;
|
||||
ICoreGroupQuery() = default;
|
||||
virtual ~ICoreGroupQuery();
|
||||
ICoreGroupQuery(const ICoreGroupQuery&) = default;
|
||||
ICoreGroupQuery& operator=(const ICoreGroupQuery&) = default;
|
||||
ICoreGroupQuery(ICoreGroupQuery&&) = default;
|
||||
ICoreGroupQuery& operator=(ICoreGroupQuery&&) = default;
|
||||
|
||||
virtual GroupId getGroupPersistentId(uint32_t groupNumber) const = 0;
|
||||
virtual uint32_t getGroupNumberPeers(int groupId) const = 0;
|
||||
virtual QString getGroupPeerName(int groupId, int peerId) const = 0;
|
||||
|
|
22
src/core/icoreidhandler.cpp
Normal file
22
src/core/icoreidhandler.cpp
Normal file
|
@ -0,0 +1,22 @@
|
|||
/*
|
||||
Copyright © 2021 by The qTox Project Contributors
|
||||
|
||||
This file is part of qTox, a Qt-based graphical interface for Tox.
|
||||
|
||||
qTox is libre software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
qTox is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with qTox. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "icoreidhandler.h"
|
||||
|
||||
ICoreIdHandler::~ICoreIdHandler() = default;
|
|
@ -26,7 +26,13 @@ class ICoreIdHandler
|
|||
{
|
||||
|
||||
public:
|
||||
virtual ~ICoreIdHandler() = default;
|
||||
ICoreIdHandler() = default;
|
||||
virtual ~ICoreIdHandler();
|
||||
ICoreIdHandler(const ICoreIdHandler&) = default;
|
||||
ICoreIdHandler& operator=(const ICoreIdHandler&) = default;
|
||||
ICoreIdHandler(ICoreIdHandler&&) = default;
|
||||
ICoreIdHandler& operator=(ICoreIdHandler&&) = default;
|
||||
|
||||
virtual ToxId getSelfId() const = 0;
|
||||
virtual ToxPk getSelfPublicKey() const = 0;
|
||||
virtual QString getUsername() const = 0;
|
||||
|
|
22
src/core/icoresettings.cpp
Normal file
22
src/core/icoresettings.cpp
Normal file
|
@ -0,0 +1,22 @@
|
|||
/*
|
||||
Copyright © 2021 by The qTox Project Contributors
|
||||
|
||||
This file is part of qTox, a Qt-based graphical interface for Tox.
|
||||
|
||||
qTox is libre software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
qTox is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with qTox. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "icoresettings.h"
|
||||
|
||||
ICoreSettings::~ICoreSettings() = default;
|
|
@ -34,7 +34,12 @@ public:
|
|||
ptSOCKS5 = 1,
|
||||
ptHTTP = 2
|
||||
};
|
||||
virtual ~ICoreSettings() = default;
|
||||
ICoreSettings() = default;
|
||||
virtual ~ICoreSettings();
|
||||
ICoreSettings(const ICoreSettings&) = default;
|
||||
ICoreSettings& operator=(const ICoreSettings&) = default;
|
||||
ICoreSettings(ICoreSettings&&) = default;
|
||||
ICoreSettings& operator=(ICoreSettings&&) = default;
|
||||
|
||||
virtual bool getEnableIPv6() const = 0;
|
||||
virtual void setEnableIPv6(bool enable) = 0;
|
||||
|
|
22
src/model/about/iaboutfriend.cpp
Normal file
22
src/model/about/iaboutfriend.cpp
Normal file
|
@ -0,0 +1,22 @@
|
|||
/*
|
||||
Copyright © 2021 by The qTox Project Contributors
|
||||
|
||||
This file is part of qTox, a Qt-based graphical interface for Tox.
|
||||
|
||||
qTox is libre software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
qTox is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with qTox. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "iaboutfriend.h"
|
||||
|
||||
IAboutFriend::~IAboutFriend() = default;
|
|
@ -27,7 +27,13 @@
|
|||
class IAboutFriend
|
||||
{
|
||||
public:
|
||||
virtual ~IAboutFriend() = default;
|
||||
IAboutFriend() = default;
|
||||
virtual ~IAboutFriend();
|
||||
IAboutFriend(const IAboutFriend&) = default;
|
||||
IAboutFriend& operator=(const IAboutFriend&) = default;
|
||||
IAboutFriend(IAboutFriend&&) = default;
|
||||
IAboutFriend& operator=(IAboutFriend&&) = default;
|
||||
|
||||
virtual QString getName() const = 0;
|
||||
virtual QString getStatusMessage() const = 0;
|
||||
virtual ToxPk getPublicKey() const = 0;
|
||||
|
|
22
src/model/chatroom/chatroom.cpp
Normal file
22
src/model/chatroom/chatroom.cpp
Normal file
|
@ -0,0 +1,22 @@
|
|||
/*
|
||||
Copyright © 2021 by The qTox Project Contributors
|
||||
|
||||
This file is part of qTox, a Qt-based graphical interface for Tox.
|
||||
|
||||
qTox is libre software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
qTox is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with qTox. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "chatroom.h"
|
||||
|
||||
Chatroom::~Chatroom() = default;
|
|
@ -24,5 +24,12 @@
|
|||
class Chatroom
|
||||
{
|
||||
public:
|
||||
Chatroom() = default;
|
||||
virtual ~Chatroom();
|
||||
Chatroom(const Chatroom&) = default;
|
||||
Chatroom& operator=(const Chatroom&) = default;
|
||||
Chatroom(Chatroom&&) = default;
|
||||
Chatroom& operator=(Chatroom&&) = default;
|
||||
|
||||
virtual Contact* getContact() = 0;
|
||||
};
|
||||
|
|
22
src/model/dialogs/idialogs.cpp
Normal file
22
src/model/dialogs/idialogs.cpp
Normal file
|
@ -0,0 +1,22 @@
|
|||
/*
|
||||
Copyright © 2021 by The qTox Project Contributors
|
||||
|
||||
This file is part of qTox, a Qt-based graphical interface for Tox.
|
||||
|
||||
qTox is libre software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
qTox is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with qTox. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "idialogs.h"
|
||||
|
||||
IDialogs::~IDialogs() = default;
|
|
@ -26,7 +26,13 @@ class ToxPk;
|
|||
class IDialogs
|
||||
{
|
||||
public:
|
||||
virtual ~IDialogs() = default;
|
||||
IDialogs() = default;
|
||||
virtual ~IDialogs();
|
||||
IDialogs(const IDialogs&) = default;
|
||||
IDialogs& operator=(const IDialogs&) = default;
|
||||
IDialogs(IDialogs&&) = default;
|
||||
IDialogs& operator=(IDialogs&&) = default;
|
||||
|
||||
virtual bool hasContact(const ContactId& contactId) const = 0;
|
||||
virtual bool isContactActive(const ContactId& contactId) const = 0;
|
||||
|
||||
|
|
22
src/model/dialogs/idialogsmanager.cpp
Normal file
22
src/model/dialogs/idialogsmanager.cpp
Normal file
|
@ -0,0 +1,22 @@
|
|||
/*
|
||||
Copyright © 2021 by The qTox Project Contributors
|
||||
|
||||
This file is part of qTox, a Qt-based graphical interface for Tox.
|
||||
|
||||
qTox is libre software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
qTox is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with qTox. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "idialogsmanager.h"
|
||||
|
||||
IDialogsManager::~IDialogsManager() = default;
|
|
@ -27,7 +27,13 @@ class ToxPk;
|
|||
class IDialogsManager
|
||||
{
|
||||
public:
|
||||
virtual ~IDialogsManager() = default;
|
||||
IDialogsManager() = default;
|
||||
virtual ~IDialogsManager();
|
||||
IDialogsManager(const IDialogsManager&) = default;
|
||||
IDialogsManager& operator=(const IDialogsManager&) = default;
|
||||
IDialogsManager(IDialogsManager&&) = default;
|
||||
IDialogsManager& operator=(IDialogsManager&&) = default;
|
||||
|
||||
virtual IDialogs* getFriendDialogs(const ToxPk& friendPk) const = 0;
|
||||
virtual IDialogs* getGroupDialogs(const GroupId& groupId) const = 0;
|
||||
};
|
||||
|
|
22
src/model/friendlist/ifriendlistitem.cpp
Normal file
22
src/model/friendlist/ifriendlistitem.cpp
Normal file
|
@ -0,0 +1,22 @@
|
|||
/*
|
||||
Copyright © 2021 by The qTox Project Contributors
|
||||
|
||||
This file is part of qTox, a Qt-based graphical interface for Tox.
|
||||
|
||||
qTox is libre software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
qTox is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with qTox. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "ifriendlistitem.h"
|
||||
|
||||
IFriendListItem::~IFriendListItem() = default;
|
|
@ -26,8 +26,12 @@ class QWidget;
|
|||
class IFriendListItem
|
||||
{
|
||||
public:
|
||||
|
||||
virtual ~IFriendListItem() = default;
|
||||
IFriendListItem() = default;
|
||||
virtual ~IFriendListItem();
|
||||
IFriendListItem(const IFriendListItem&) = default;
|
||||
IFriendListItem& operator=(const IFriendListItem&) = default;
|
||||
IFriendListItem(IFriendListItem&&) = default;
|
||||
IFriendListItem& operator=(IFriendListItem&&) = default;
|
||||
|
||||
virtual bool isFriend() const = 0;
|
||||
virtual bool isGroup() const = 0;
|
||||
|
|
22
src/model/ibootstraplistgenerator.cpp
Normal file
22
src/model/ibootstraplistgenerator.cpp
Normal file
|
@ -0,0 +1,22 @@
|
|||
/*
|
||||
Copyright © 2021 by The qTox Project Contributors
|
||||
|
||||
This file is part of qTox, a Qt-based graphical interface for Tox.
|
||||
|
||||
qTox is libre software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
qTox is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with qTox. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "ibootstraplistgenerator.h"
|
||||
|
||||
IBootstrapListGenerator::~IBootstrapListGenerator() = default;
|
|
@ -25,6 +25,12 @@ class DhtServer;
|
|||
class IBootstrapListGenerator
|
||||
{
|
||||
public:
|
||||
virtual ~IBootstrapListGenerator() = default;
|
||||
IBootstrapListGenerator() = default;
|
||||
virtual ~IBootstrapListGenerator();
|
||||
IBootstrapListGenerator(const IBootstrapListGenerator&) = default;
|
||||
IBootstrapListGenerator& operator=(const IBootstrapListGenerator&) = default;
|
||||
IBootstrapListGenerator(IBootstrapListGenerator&&) = default;
|
||||
IBootstrapListGenerator& operator=(IBootstrapListGenerator&&) = default;
|
||||
|
||||
virtual QList<DhtServer> getBootstrapnodes() = 0;
|
||||
};
|
||||
|
|
|
@ -162,6 +162,8 @@ NotificationGenerator::NotificationGenerator(
|
|||
, profile(profile)
|
||||
{}
|
||||
|
||||
NotificationGenerator::~NotificationGenerator() = default;
|
||||
|
||||
NotificationData NotificationGenerator::friendMessageNotification(const Friend* f, const QString& message)
|
||||
{
|
||||
friendNotifications[f]++;
|
||||
|
|
|
@ -39,6 +39,11 @@ public:
|
|||
// currently mockable so we allow profile to be nullptr for unit
|
||||
// testing
|
||||
Profile* profile);
|
||||
virtual ~NotificationGenerator();
|
||||
NotificationGenerator(const NotificationGenerator&) = delete;
|
||||
NotificationGenerator& operator=(const NotificationGenerator&) = delete;
|
||||
NotificationGenerator(NotificationGenerator&&) = delete;
|
||||
NotificationGenerator& operator=(NotificationGenerator&&) = delete;
|
||||
|
||||
NotificationData friendMessageNotification(const Friend* f, const QString& message);
|
||||
NotificationData groupMessageNotification(const Group* g, const ToxPk& sender, const QString& message);
|
||||
|
|
22
src/model/profile/iprofileinfo.cpp
Normal file
22
src/model/profile/iprofileinfo.cpp
Normal file
|
@ -0,0 +1,22 @@
|
|||
/*
|
||||
Copyright © 2021 by The qTox Project Contributors
|
||||
|
||||
This file is part of qTox, a Qt-based graphical interface for Tox.
|
||||
|
||||
qTox is libre software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
qTox is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with qTox. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "iprofileinfo.h"
|
||||
|
||||
IProfileInfo::~IProfileInfo() = default;
|
|
@ -39,7 +39,13 @@ public:
|
|||
enum class SetAvatarResult {
|
||||
OK, EmptyPath, CanNotOpen, CanNotRead, TooLarge
|
||||
};
|
||||
virtual ~IProfileInfo() = default;
|
||||
|
||||
IProfileInfo() = default;
|
||||
virtual ~IProfileInfo();
|
||||
IProfileInfo(const IProfileInfo&) = default;
|
||||
IProfileInfo& operator=(const IProfileInfo&) = default;
|
||||
IProfileInfo(IProfileInfo&&) = default;
|
||||
IProfileInfo& operator=(IProfileInfo&&) = default;
|
||||
|
||||
virtual bool setPassword(const QString& password) = 0;
|
||||
virtual bool deletePassword() = 0;
|
||||
|
|
22
src/persistence/ifriendsettings.cpp
Normal file
22
src/persistence/ifriendsettings.cpp
Normal file
|
@ -0,0 +1,22 @@
|
|||
/*
|
||||
Copyright © 2021 by The qTox Project Contributors
|
||||
|
||||
This file is part of qTox, a Qt-based graphical interface for Tox.
|
||||
|
||||
qTox is libre software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
qTox is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with qTox. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "ifriendsettings.h"
|
||||
|
||||
IFriendSettings::~IFriendSettings() = default;
|
|
@ -38,7 +38,12 @@ public:
|
|||
};
|
||||
Q_DECLARE_FLAGS(AutoAcceptCallFlags, AutoAcceptCall)
|
||||
|
||||
virtual ~IFriendSettings() = default;
|
||||
IFriendSettings() = default;
|
||||
virtual ~IFriendSettings();
|
||||
IFriendSettings(const IFriendSettings&) = default;
|
||||
IFriendSettings& operator=(const IFriendSettings&) = default;
|
||||
IFriendSettings(IFriendSettings&&) = default;
|
||||
IFriendSettings& operator=(IFriendSettings&&) = default;
|
||||
|
||||
virtual QString getContactNote(const ToxPk& pk) const = 0;
|
||||
virtual void setContactNote(const ToxPk& pk, const QString& note) = 0;
|
||||
|
|
22
src/persistence/igroupsettings.cpp
Normal file
22
src/persistence/igroupsettings.cpp
Normal file
|
@ -0,0 +1,22 @@
|
|||
/*
|
||||
Copyright © 2021 by The qTox Project Contributors
|
||||
|
||||
This file is part of qTox, a Qt-based graphical interface for Tox.
|
||||
|
||||
qTox is libre software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
qTox is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with qTox. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "igroupsettings.h"
|
||||
|
||||
IGroupSettings::~IGroupSettings() = default;
|
|
@ -24,7 +24,13 @@
|
|||
class IGroupSettings
|
||||
{
|
||||
public:
|
||||
virtual ~IGroupSettings() = default;
|
||||
IGroupSettings() = default;
|
||||
virtual ~IGroupSettings();
|
||||
IGroupSettings(const IGroupSettings&) = default;
|
||||
IGroupSettings& operator=(const IGroupSettings&) = default;
|
||||
IGroupSettings(IGroupSettings&&) = default;
|
||||
IGroupSettings& operator=(IGroupSettings&&) = default;
|
||||
|
||||
virtual QStringList getBlackList() const = 0;
|
||||
virtual void setBlackList(const QStringList& blist) = 0;
|
||||
};
|
||||
|
|
22
src/persistence/inotificationsettings.cpp
Normal file
22
src/persistence/inotificationsettings.cpp
Normal file
|
@ -0,0 +1,22 @@
|
|||
/*
|
||||
Copyright © 2021 by The qTox Project Contributors
|
||||
|
||||
This file is part of qTox, a Qt-based graphical interface for Tox.
|
||||
|
||||
qTox is libre software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
qTox is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with qTox. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "inotificationsettings.h"
|
||||
|
||||
INotificationSettings::~INotificationSettings() = default;
|
|
@ -24,7 +24,12 @@
|
|||
class INotificationSettings
|
||||
{
|
||||
public:
|
||||
virtual ~INotificationSettings() = default;
|
||||
INotificationSettings() = default;
|
||||
virtual ~INotificationSettings();
|
||||
INotificationSettings(const INotificationSettings&) = default;
|
||||
INotificationSettings& operator=(const INotificationSettings&) = default;
|
||||
INotificationSettings(INotificationSettings&&) = default;
|
||||
INotificationSettings& operator=(INotificationSettings&&) = default;
|
||||
|
||||
virtual bool getNotify() const = 0;
|
||||
virtual void setNotify(bool newValue) = 0;
|
||||
|
|
22
src/video/ivideosettings.cpp
Normal file
22
src/video/ivideosettings.cpp
Normal file
|
@ -0,0 +1,22 @@
|
|||
/*
|
||||
Copyright © 2021 by The qTox Project Contributors
|
||||
|
||||
This file is part of qTox, a Qt-based graphical interface for Tox.
|
||||
|
||||
qTox is libre software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
qTox is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with qTox. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "ivideosettings.h"
|
||||
|
||||
IVideoSettings::~IVideoSettings() = default;
|
|
@ -26,7 +26,12 @@
|
|||
|
||||
class IVideoSettings {
|
||||
public:
|
||||
virtual ~IVideoSettings() = default;
|
||||
IVideoSettings() = default;
|
||||
virtual ~IVideoSettings();
|
||||
IVideoSettings(const IVideoSettings&) = default;
|
||||
IVideoSettings& operator=(const IVideoSettings&) = default;
|
||||
IVideoSettings(IVideoSettings&&) = default;
|
||||
IVideoSettings& operator=(IVideoSettings&&) = default;
|
||||
|
||||
virtual QString getVideoDev() const = 0;
|
||||
virtual void setVideoDev(const QString& deviceSpecifier) = 0;
|
||||
|
|
|
@ -103,6 +103,8 @@ QString getToolTipDisplayingImage(const QPixmap& image)
|
|||
|
||||
} // namespace
|
||||
|
||||
ImagePreviewButton::~ImagePreviewButton() = default;
|
||||
|
||||
void ImagePreviewButton::initialize(const QPixmap& image)
|
||||
{
|
||||
auto desiredSize = qMin(width(), height()); // Assume widget is a square
|
||||
|
|
|
@ -29,6 +29,11 @@ public:
|
|||
ImagePreviewButton(QWidget* parent = nullptr)
|
||||
: QPushButton(parent)
|
||||
{}
|
||||
~ImagePreviewButton();
|
||||
ImagePreviewButton(const ImagePreviewButton&) = delete;
|
||||
ImagePreviewButton& operator=(const ImagePreviewButton&) = delete;
|
||||
ImagePreviewButton(ImagePreviewButton&&) = delete;
|
||||
ImagePreviewButton& operator=(ImagePreviewButton&&) = delete;
|
||||
|
||||
void setIconFromFile(const QString& filename);
|
||||
void setIconFromPixmap(const QPixmap& image);
|
||||
|
|
|
@ -77,11 +77,13 @@ private:
|
|||
|
||||
class MockNodeListGenerator : public IBootstrapListGenerator
|
||||
{
|
||||
QList<DhtServer> getBootstrapnodes() {
|
||||
return BootstrapNodeUpdater::loadDefaultBootstrapNodes();
|
||||
}
|
||||
QList<DhtServer> getBootstrapnodes();
|
||||
};
|
||||
|
||||
QList<DhtServer> MockNodeListGenerator::getBootstrapnodes() {
|
||||
return BootstrapNodeUpdater::loadDefaultBootstrapNodes();
|
||||
}
|
||||
|
||||
class TestCore : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
|
22
test/mock/mockcoreidhandler.cpp
Normal file
22
test/mock/mockcoreidhandler.cpp
Normal file
|
@ -0,0 +1,22 @@
|
|||
/*
|
||||
Copyright © 2021 by The qTox Project Contributors
|
||||
|
||||
This file is part of qTox, a Qt-based graphical interface for Tox.
|
||||
|
||||
qTox is libre software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
qTox is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with qTox. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "mockcoreidhandler.h"
|
||||
|
||||
MockCoreIdHandler::~MockCoreIdHandler() = default;
|
|
@ -26,6 +26,13 @@
|
|||
class MockCoreIdHandler : public ICoreIdHandler
|
||||
{
|
||||
public:
|
||||
MockCoreIdHandler() = default;
|
||||
virtual ~MockCoreIdHandler();
|
||||
MockCoreIdHandler(const MockCoreIdHandler&) = default;
|
||||
MockCoreIdHandler& operator=(const MockCoreIdHandler&) = default;
|
||||
MockCoreIdHandler(MockCoreIdHandler&&) = default;
|
||||
MockCoreIdHandler& operator=(MockCoreIdHandler&&) = default;
|
||||
|
||||
ToxId getSelfId() const override
|
||||
{
|
||||
std::terminate();
|
||||
|
|
22
test/mock/mockgroupquery.cpp
Normal file
22
test/mock/mockgroupquery.cpp
Normal file
|
@ -0,0 +1,22 @@
|
|||
/*
|
||||
Copyright © 2021 by The qTox Project Contributors
|
||||
|
||||
This file is part of qTox, a Qt-based graphical interface for Tox.
|
||||
|
||||
qTox is libre software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
qTox is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with qTox. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "mockgroupquery.h"
|
||||
|
||||
MockGroupQuery::~MockGroupQuery() = default;
|
|
@ -29,6 +29,13 @@
|
|||
class MockGroupQuery : public ICoreGroupQuery
|
||||
{
|
||||
public:
|
||||
MockGroupQuery() = default;
|
||||
virtual ~MockGroupQuery();
|
||||
MockGroupQuery(const MockGroupQuery&) = default;
|
||||
MockGroupQuery& operator=(const MockGroupQuery&) = default;
|
||||
MockGroupQuery(MockGroupQuery&&) = default;
|
||||
MockGroupQuery& operator=(MockGroupQuery&&) = default;
|
||||
|
||||
GroupId getGroupPersistentId(uint32_t groupNumber) const override
|
||||
{
|
||||
return GroupId(0);
|
||||
|
|
|
@ -40,17 +40,9 @@ public:
|
|||
, currentReceiptId(currentReceiptId)
|
||||
{}
|
||||
|
||||
uint64_t addExtendedMessage(QString message) override
|
||||
{
|
||||
this->message = message;
|
||||
return currentReceiptId++;
|
||||
}
|
||||
uint64_t addExtendedMessage(QString message) override;
|
||||
|
||||
bool send() override
|
||||
{
|
||||
numSentMessages++;
|
||||
return true;
|
||||
}
|
||||
bool send() override;
|
||||
|
||||
uint64_t& numSentMessages;
|
||||
uint64_t& currentReceiptId;
|
||||
|
@ -58,46 +50,65 @@ public:
|
|||
QString message;
|
||||
};
|
||||
|
||||
uint64_t MockCoreExtPacket::addExtendedMessage(QString message)
|
||||
{
|
||||
this->message = message;
|
||||
return currentReceiptId++;
|
||||
}
|
||||
|
||||
bool MockCoreExtPacket::send()
|
||||
{
|
||||
numSentMessages++;
|
||||
return true;
|
||||
}
|
||||
|
||||
class MockCoreExtPacketAllocator : public ICoreExtPacketAllocator
|
||||
{
|
||||
public:
|
||||
std::unique_ptr<ICoreExtPacket> getPacket(uint32_t friendId) override
|
||||
{
|
||||
return std::unique_ptr<MockCoreExtPacket>(new MockCoreExtPacket(numSentMessages, currentReceiptId));
|
||||
}
|
||||
std::unique_ptr<ICoreExtPacket> getPacket(uint32_t friendId) override;
|
||||
|
||||
uint64_t numSentMessages;
|
||||
uint64_t currentReceiptId;
|
||||
};
|
||||
|
||||
std::unique_ptr<ICoreExtPacket> MockCoreExtPacketAllocator::getPacket(uint32_t friendId)
|
||||
{
|
||||
return std::unique_ptr<MockCoreExtPacket>(new MockCoreExtPacket(numSentMessages, currentReceiptId));
|
||||
}
|
||||
|
||||
class MockFriendMessageSender : public ICoreFriendMessageSender
|
||||
{
|
||||
public:
|
||||
bool sendAction(uint32_t friendId, const QString& action, ReceiptNum& receipt) override
|
||||
{
|
||||
if (canSend) {
|
||||
numSentActions++;
|
||||
receipt = receiptNum;
|
||||
receiptNum.get() += 1;
|
||||
}
|
||||
return canSend;
|
||||
}
|
||||
bool sendAction(uint32_t friendId, const QString& action, ReceiptNum& receipt) override;
|
||||
|
||||
bool sendMessage(uint32_t friendId, const QString& message, ReceiptNum& receipt) override
|
||||
{
|
||||
if (canSend) {
|
||||
numSentMessages++;
|
||||
receipt = receiptNum;
|
||||
receiptNum.get() += 1;
|
||||
}
|
||||
return canSend;
|
||||
}
|
||||
bool sendMessage(uint32_t friendId, const QString& message, ReceiptNum& receipt) override;
|
||||
|
||||
bool canSend = true;
|
||||
ReceiptNum receiptNum{0};
|
||||
size_t numSentActions = 0;
|
||||
size_t numSentMessages = 0;
|
||||
};
|
||||
|
||||
bool MockFriendMessageSender::sendAction(uint32_t friendId, const QString& action, ReceiptNum& receipt)
|
||||
{
|
||||
if (canSend) {
|
||||
numSentActions++;
|
||||
receipt = receiptNum;
|
||||
receiptNum.get() += 1;
|
||||
}
|
||||
return canSend;
|
||||
}
|
||||
|
||||
bool MockFriendMessageSender::sendMessage(uint32_t friendId, const QString& message, ReceiptNum& receipt)
|
||||
{
|
||||
if (canSend) {
|
||||
numSentMessages++;
|
||||
receipt = receiptNum;
|
||||
receiptNum.get() += 1;
|
||||
}
|
||||
return canSend;
|
||||
}
|
||||
|
||||
class TestFriendMessageDispatcher : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
|
|
@ -36,37 +36,45 @@
|
|||
class MockGroupMessageSender : public ICoreGroupMessageSender
|
||||
{
|
||||
public:
|
||||
void sendGroupAction(int groupId, const QString& action) override
|
||||
{
|
||||
numSentActions++;
|
||||
}
|
||||
void sendGroupAction(int groupId, const QString& action) override;
|
||||
|
||||
void sendGroupMessage(int groupId, const QString& message) override
|
||||
{
|
||||
numSentMessages++;
|
||||
}
|
||||
void sendGroupMessage(int groupId, const QString& message) override;
|
||||
|
||||
size_t numSentActions = 0;
|
||||
size_t numSentMessages = 0;
|
||||
};
|
||||
|
||||
void MockGroupMessageSender::sendGroupAction(int groupId, const QString& action)
|
||||
{
|
||||
numSentActions++;
|
||||
}
|
||||
|
||||
void MockGroupMessageSender::sendGroupMessage(int groupId, const QString& message)
|
||||
{
|
||||
numSentMessages++;
|
||||
}
|
||||
|
||||
class MockGroupSettings : public IGroupSettings
|
||||
{
|
||||
public:
|
||||
QStringList getBlackList() const override
|
||||
{
|
||||
return blacklist;
|
||||
}
|
||||
QStringList getBlackList() const override;
|
||||
|
||||
void setBlackList(const QStringList& blist) override
|
||||
{
|
||||
blacklist = blist;
|
||||
}
|
||||
void setBlackList(const QStringList& blist) override;
|
||||
|
||||
private:
|
||||
QStringList blacklist;
|
||||
};
|
||||
|
||||
QStringList MockGroupSettings::getBlackList() const
|
||||
{
|
||||
return blacklist;
|
||||
}
|
||||
|
||||
void MockGroupSettings::setBlackList(const QStringList& blist)
|
||||
{
|
||||
blacklist = blist;
|
||||
}
|
||||
|
||||
class TestGroupMessageDispatcher : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
|
Loading…
Reference in New Issue
Block a user