mirror of
https://github.com/qTox/qTox.git
synced 2024-03-22 14:00:36 +08:00
refactor(toxid): drop the cData class in favour of ToxId
This commit is contained in:
parent
94ec5614f2
commit
152c134a4b
1
qtox.pro
1
qtox.pro
|
@ -526,7 +526,6 @@ SOURCES += \
|
||||||
src/chatlog/customtextdocument.cpp\
|
src/chatlog/customtextdocument.cpp\
|
||||||
src/chatlog/documentcache.cpp \
|
src/chatlog/documentcache.cpp \
|
||||||
src/chatlog/pixmapcache.cpp \
|
src/chatlog/pixmapcache.cpp \
|
||||||
src/core/cdata.cpp \
|
|
||||||
src/core/core.cpp \
|
src/core/core.cpp \
|
||||||
src/core/coreav.cpp \
|
src/core/coreav.cpp \
|
||||||
src/core/coreencryption.cpp \
|
src/core/coreencryption.cpp \
|
||||||
|
|
|
@ -1,83 +0,0 @@
|
||||||
/*
|
|
||||||
Copyright (C) 2013 by Maxim Biro <nurupo.contributions@gmail.com>
|
|
||||||
Copyright © 2014-2015 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 "cdata.h"
|
|
||||||
#include <QString>
|
|
||||||
#include <tox/tox.h>
|
|
||||||
|
|
||||||
CData::CData(const QString &data, uint16_t byteSize)
|
|
||||||
{
|
|
||||||
cData = new uint8_t[byteSize+1];
|
|
||||||
cDataSize = fromString(data, cData);
|
|
||||||
}
|
|
||||||
|
|
||||||
CData::~CData()
|
|
||||||
{
|
|
||||||
delete[] cData;
|
|
||||||
}
|
|
||||||
|
|
||||||
uint8_t* CData::data()
|
|
||||||
{
|
|
||||||
return cData;
|
|
||||||
}
|
|
||||||
|
|
||||||
uint16_t CData::size() const
|
|
||||||
{
|
|
||||||
return cDataSize;
|
|
||||||
}
|
|
||||||
|
|
||||||
QString CData::toString(const uint8_t *cData, const uint16_t cDataSize)
|
|
||||||
{
|
|
||||||
return QString(QByteArray(reinterpret_cast<const char*>(cData), cDataSize).toHex()).toUpper();
|
|
||||||
}
|
|
||||||
|
|
||||||
uint16_t CData::fromString(const QString& data, uint8_t* cData)
|
|
||||||
{
|
|
||||||
QByteArray arr = QByteArray::fromHex(data.toLower().toLatin1());
|
|
||||||
memcpy(cData, reinterpret_cast<uint8_t*>(arr.data()), arr.size());
|
|
||||||
return arr.size();
|
|
||||||
}
|
|
||||||
|
|
||||||
const uint16_t CUserId::SIZE{TOX_PUBLIC_KEY_SIZE};
|
|
||||||
|
|
||||||
CUserId::CUserId(const QString &userId) :
|
|
||||||
CData(userId, SIZE < userId.size() ? userId.size() : SIZE)
|
|
||||||
{
|
|
||||||
// intentionally left empty
|
|
||||||
}
|
|
||||||
|
|
||||||
QString CUserId::toString(const uint8_t* cUserId)
|
|
||||||
{
|
|
||||||
return CData::toString(cUserId, SIZE);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
const uint16_t CFriendAddress::SIZE{TOX_ADDRESS_SIZE};
|
|
||||||
|
|
||||||
CFriendAddress::CFriendAddress(const QString &friendAddress) :
|
|
||||||
CData(friendAddress, SIZE)
|
|
||||||
{
|
|
||||||
// intentionally left empty
|
|
||||||
}
|
|
||||||
|
|
||||||
QString CFriendAddress::toString(const uint8_t *cFriendAddress)
|
|
||||||
{
|
|
||||||
return CData::toString(cFriendAddress, SIZE);
|
|
||||||
}
|
|
|
@ -1,72 +0,0 @@
|
||||||
/*
|
|
||||||
Copyright (C) 2013 by Maxim Biro <nurupo.contributions@gmail.com>
|
|
||||||
Copyright © 2014-2015 by The qTox Project Contributors
|
|
||||||
|
|
||||||
This file is part of qTox, a Qt-based graphical interface for Tox.
|
|
||||||
|
|
||||||
This program is free 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/>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef CDATA_H
|
|
||||||
#define CDATA_H
|
|
||||||
|
|
||||||
#include <cstdint>
|
|
||||||
|
|
||||||
class QString;
|
|
||||||
class CData
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
uint8_t* data();
|
|
||||||
uint16_t size() const;
|
|
||||||
|
|
||||||
protected:
|
|
||||||
explicit CData(const QString& data, uint16_t byteSize);
|
|
||||||
CData(const CData& other)=delete;
|
|
||||||
virtual ~CData();
|
|
||||||
CData& operator=(const CData& other)=delete;
|
|
||||||
|
|
||||||
static QString toString(const uint8_t* cData, const uint16_t cDataSize);
|
|
||||||
|
|
||||||
private:
|
|
||||||
uint8_t* cData;
|
|
||||||
uint16_t cDataSize;
|
|
||||||
|
|
||||||
static uint16_t fromString(const QString& userId, uint8_t* cData);
|
|
||||||
};
|
|
||||||
|
|
||||||
class CUserId : public CData
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
explicit CUserId(const QString& userId);
|
|
||||||
|
|
||||||
static QString toString(const uint8_t *cUserId);
|
|
||||||
|
|
||||||
private:
|
|
||||||
static const uint16_t SIZE;
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
class CFriendAddress : public CData
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
explicit CFriendAddress(const QString& friendAddress);
|
|
||||||
|
|
||||||
static QString toString(const uint8_t* cFriendAddress);
|
|
||||||
|
|
||||||
private:
|
|
||||||
static const uint16_t SIZE;
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif // CDATA_H
|
|
|
@ -20,7 +20,6 @@
|
||||||
|
|
||||||
#include "core.h"
|
#include "core.h"
|
||||||
#include "nexus.h"
|
#include "nexus.h"
|
||||||
#include "core/cdata.h"
|
|
||||||
#include "core/cstring.h"
|
#include "core/cstring.h"
|
||||||
#include "core/coreav.h"
|
#include "core/coreav.h"
|
||||||
#include "persistence/settings.h"
|
#include "persistence/settings.h"
|
||||||
|
@ -424,14 +423,17 @@ void Core::bootstrapDht()
|
||||||
qDebug() << "Connecting to "+QString(dhtServer.address.toLatin1().data())
|
qDebug() << "Connecting to "+QString(dhtServer.address.toLatin1().data())
|
||||||
+':'+QString().setNum(dhtServer.port)+" ("+dhtServer.name+')';
|
+':'+QString().setNum(dhtServer.port)+" ("+dhtServer.name+')';
|
||||||
|
|
||||||
if (!tox_bootstrap(tox, dhtServer.address.toLatin1().data(),
|
QByteArray address = dhtServer.address.toLatin1();
|
||||||
dhtServer.port, CUserId(dhtServer.userId).data(), nullptr))
|
QByteArray pk = ToxId{dhtServer.userId}.getPublicKey();
|
||||||
|
|
||||||
|
const uint8_t* pkPtr = reinterpret_cast<const uint8_t*>(pk.constData());
|
||||||
|
|
||||||
|
if (!tox_bootstrap(tox, address.constData(), dhtServer.port, pkPtr, nullptr))
|
||||||
{
|
{
|
||||||
qDebug() << "Error bootstrapping from "+dhtServer.name;
|
qDebug() << "Error bootstrapping from "+dhtServer.name;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!tox_add_tcp_relay(tox, dhtServer.address.toLatin1().data(),
|
if (!tox_add_tcp_relay(tox, address.constData(), dhtServer.port, pkPtr, nullptr))
|
||||||
dhtServer.port, CUserId(dhtServer.userId).data(), nullptr))
|
|
||||||
{
|
{
|
||||||
qDebug() << "Error adding TCP relay from "+dhtServer.name;
|
qDebug() << "Error adding TCP relay from "+dhtServer.name;
|
||||||
}
|
}
|
||||||
|
@ -441,11 +443,11 @@ void Core::bootstrapDht()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Core::onFriendRequest(Tox*/* tox*/, const uint8_t* cUserId,
|
void Core::onFriendRequest(Tox*/* tox*/, const uint8_t* cFriendPk,
|
||||||
const uint8_t* cMessage, size_t cMessageSize, void* core)
|
const uint8_t* cMessage, size_t cMessageSize, void* core)
|
||||||
{
|
{
|
||||||
emit static_cast<Core*>(core)->friendRequestReceived(CUserId::toString(cUserId),
|
QString friendPk = ToxId(QByteArray(reinterpret_cast<const char*> (cFriendPk), TOX_PUBLIC_KEY_SIZE)).getPublicKeyString();
|
||||||
CString::toString(cMessage, cMessageSize));
|
emit static_cast<Core*>(core)->friendRequestReceived(friendPk, CString::toString(cMessage, cMessageSize));
|
||||||
}
|
}
|
||||||
|
|
||||||
void Core::onFriendMessage(Tox*/* tox*/, uint32_t friendId, TOX_MESSAGE_TYPE type,
|
void Core::onFriendMessage(Tox*/* tox*/, uint32_t friendId, TOX_MESSAGE_TYPE type,
|
||||||
|
@ -556,7 +558,7 @@ void Core::onReadReceiptCallback(Tox*, uint32_t friendId, uint32_t receipt, void
|
||||||
|
|
||||||
void Core::acceptFriendRequest(const QString& userId)
|
void Core::acceptFriendRequest(const QString& userId)
|
||||||
{
|
{
|
||||||
uint32_t friendId = tox_friend_add_norequest(tox, CUserId(userId).data(), nullptr);
|
uint32_t friendId = tox_friend_add_norequest(tox, reinterpret_cast<const uint8_t*> (ToxId(userId).getPublicKeyBytes()), nullptr);
|
||||||
if (friendId == std::numeric_limits<uint32_t>::max())
|
if (friendId == std::numeric_limits<uint32_t>::max())
|
||||||
{
|
{
|
||||||
emit failedToAddFriend(userId);
|
emit failedToAddFriend(userId);
|
||||||
|
@ -589,7 +591,7 @@ void Core::requestFriendship(const QString& friendAddress, const QString& messag
|
||||||
{
|
{
|
||||||
CString cMessage(message);
|
CString cMessage(message);
|
||||||
|
|
||||||
uint32_t friendId = tox_friend_add(tox, CFriendAddress(friendAddress).data(),
|
uint32_t friendId = tox_friend_add(tox, ToxId(friendAddress).getBytes(),
|
||||||
cMessage.data(), cMessage.size(), nullptr);
|
cMessage.data(), cMessage.size(), nullptr);
|
||||||
if (friendId == std::numeric_limits<uint32_t>::max())
|
if (friendId == std::numeric_limits<uint32_t>::max())
|
||||||
{
|
{
|
||||||
|
@ -856,9 +858,9 @@ void Core::setAvatar(const QByteArray& data)
|
||||||
*/
|
*/
|
||||||
ToxId Core::getSelfId() const
|
ToxId Core::getSelfId() const
|
||||||
{
|
{
|
||||||
uint8_t friendAddress[TOX_ADDRESS_SIZE] = {0};
|
QByteArray friendAddress(TOX_ADDRESS_SIZE, 0x00);
|
||||||
tox_self_get_address(tox, friendAddress);
|
tox_self_get_address(tox, reinterpret_cast<uint8_t*>(friendAddress.data()));
|
||||||
return ToxId(CFriendAddress::toString(friendAddress));
|
return ToxId(friendAddress);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -984,12 +986,12 @@ void Core::loadFriends()
|
||||||
// assuming there are not that many friends to fill up the whole stack
|
// assuming there are not that many friends to fill up the whole stack
|
||||||
uint32_t *ids = new uint32_t[friendCount];
|
uint32_t *ids = new uint32_t[friendCount];
|
||||||
tox_self_get_friend_list(tox, ids);
|
tox_self_get_friend_list(tox, ids);
|
||||||
uint8_t clientId[TOX_PUBLIC_KEY_SIZE];
|
QByteArray friendPk(TOX_PUBLIC_KEY_SIZE, 0x00);
|
||||||
for (int32_t i = 0; i < static_cast<int32_t>(friendCount); ++i)
|
for (int32_t i = 0; i < static_cast<int32_t>(friendCount); ++i)
|
||||||
{
|
{
|
||||||
if (tox_friend_get_public_key(tox, ids[i], clientId, nullptr))
|
if (tox_friend_get_public_key(tox, ids[i], reinterpret_cast<uint8_t*>(friendPk.data()), nullptr))
|
||||||
{
|
{
|
||||||
emit friendAdded(ids[i], CUserId::toString(clientId));
|
emit friendAdded(ids[i], ToxId(friendPk).getPublicKeyString());
|
||||||
|
|
||||||
const size_t nameSize = tox_friend_get_name_size(tox, ids[i], nullptr);
|
const size_t nameSize = tox_friend_get_name_size(tox, ids[i], nullptr);
|
||||||
if (nameSize && nameSize != SIZE_MAX)
|
if (nameSize && nameSize != SIZE_MAX)
|
||||||
|
@ -1102,16 +1104,17 @@ QString Core::getGroupPeerName(int groupId, int peerId) const
|
||||||
*/
|
*/
|
||||||
ToxId Core::getGroupPeerToxId(int groupId, int peerId) const
|
ToxId Core::getGroupPeerToxId(int groupId, int peerId) const
|
||||||
{
|
{
|
||||||
uint8_t rawID[TOX_PUBLIC_KEY_SIZE];
|
QByteArray friendPk(TOX_PUBLIC_KEY_SIZE, 0x00);
|
||||||
TOX_ERR_CONFERENCE_PEER_QUERY error;
|
TOX_ERR_CONFERENCE_PEER_QUERY error;
|
||||||
bool success = tox_conference_peer_get_public_key(tox, groupId, peerId, rawID, &error);
|
bool success = tox_conference_peer_get_public_key(tox, groupId, peerId,
|
||||||
|
reinterpret_cast<uint8_t*> (friendPk.data()), &error);
|
||||||
if (!parsePeerQueryError(error) || !success)
|
if (!parsePeerQueryError(error) || !success)
|
||||||
{
|
{
|
||||||
qWarning() << "getGroupPeerToxId: Unknown error";
|
qWarning() << "getGroupPeerToxId: Unknown error";
|
||||||
return ToxId();
|
return ToxId();
|
||||||
}
|
}
|
||||||
|
|
||||||
return ToxId(CUserId::toString(rawID));
|
return ToxId(friendPk);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1445,9 +1448,7 @@ QList<CString> Core::splitMessage(const QString &message, int maxLen)
|
||||||
QString Core::getPeerName(const ToxId& id) const
|
QString Core::getPeerName(const ToxId& id) const
|
||||||
{
|
{
|
||||||
QString name;
|
QString name;
|
||||||
CUserId cid(id.toString());
|
uint32_t friendId = tox_friend_by_public_key(tox, id.getBytes(), nullptr);
|
||||||
|
|
||||||
uint32_t friendId = tox_friend_by_public_key(tox, (uint8_t*)cid.data(), nullptr);
|
|
||||||
if (friendId == std::numeric_limits<uint32_t>::max())
|
if (friendId == std::numeric_limits<uint32_t>::max())
|
||||||
{
|
{
|
||||||
qWarning() << "getPeerName: No such peer";
|
qWarning() << "getPeerName: No such peer";
|
||||||
|
|
|
@ -62,7 +62,7 @@ ToxId::ToxId()
|
||||||
* @brief The copy constructor.
|
* @brief The copy constructor.
|
||||||
* @param other ToxId to copy
|
* @param other ToxId to copy
|
||||||
*/
|
*/
|
||||||
ToxId::ToxId(const ToxId &other)
|
ToxId::ToxId(const ToxId& other)
|
||||||
: toxId(other.toxId)
|
: toxId(other.toxId)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
|
@ -74,7 +74,7 @@ ToxId::ToxId(const ToxId &other)
|
||||||
*
|
*
|
||||||
* @param id Tox ID string to convert to ToxId object
|
* @param id Tox ID string to convert to ToxId object
|
||||||
*/
|
*/
|
||||||
ToxId::ToxId(const QString &id)
|
ToxId::ToxId(const QString& id)
|
||||||
{
|
{
|
||||||
if (isToxId(id))
|
if (isToxId(id))
|
||||||
{
|
{
|
||||||
|
@ -98,7 +98,27 @@ ToxId::ToxId(const QString &id)
|
||||||
*
|
*
|
||||||
* @param id Tox ID string to convert to ToxId object
|
* @param id Tox ID string to convert to ToxId object
|
||||||
*/
|
*/
|
||||||
ToxId::ToxId(const QByteArray &rawId)
|
ToxId::ToxId(const QByteArray& rawId)
|
||||||
|
{
|
||||||
|
checkToxId(rawId);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Create a Tox ID from a uint8_t* and length.
|
||||||
|
*
|
||||||
|
* If the given id is not a valid Tox ID, then:
|
||||||
|
* publicKey == id and noSpam == "" == checkSum.
|
||||||
|
*
|
||||||
|
* @param id Tox ID string to convert to ToxId object
|
||||||
|
*/
|
||||||
|
ToxId::ToxId(const uint8_t& rawId, int len)
|
||||||
|
{
|
||||||
|
QByteArray tmpId(reinterpret_cast<const char *>(rawId), len);
|
||||||
|
checkToxId(tmpId);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void ToxId::checkToxId(const QByteArray& rawId)
|
||||||
{
|
{
|
||||||
if(rawId.length() == TOX_SECRET_KEY_SIZE)
|
if(rawId.length() == TOX_SECRET_KEY_SIZE)
|
||||||
{
|
{
|
||||||
|
@ -106,8 +126,8 @@ ToxId::ToxId(const QByteArray &rawId)
|
||||||
}
|
}
|
||||||
else if (rawId.length() == TOX_ADDRESS_SIZE
|
else if (rawId.length() == TOX_ADDRESS_SIZE
|
||||||
&& isToxId(rawId.toHex().toUpper()))
|
&& isToxId(rawId.toHex().toUpper()))
|
||||||
{
|
|
||||||
|
|
||||||
|
{
|
||||||
toxId = QByteArray(rawId); // construct from full toxid
|
toxId = QByteArray(rawId); // construct from full toxid
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -131,7 +151,7 @@ bool ToxId::operator==(const ToxId& other) const
|
||||||
* @param other Tox ID to compare.
|
* @param other Tox ID to compare.
|
||||||
* @return True if both Tox ID have different public keys, false otherwise.
|
* @return True if both Tox ID have different public keys, false otherwise.
|
||||||
*/
|
*/
|
||||||
bool ToxId::operator!=(const ToxId &other) const
|
bool ToxId::operator!=(const ToxId& other) const
|
||||||
{
|
{
|
||||||
return getPublicKey() != other.getPublicKey();
|
return getPublicKey() != other.getPublicKey();
|
||||||
}
|
}
|
||||||
|
@ -165,6 +185,15 @@ bool ToxId::isValidToxId(const QString& id)
|
||||||
return id.length() == TOXID_HEX_CHARS && id.contains(hexRegExp);
|
return id.length() == TOXID_HEX_CHARS && id.contains(hexRegExp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Gets the ToxID as bytes, convenience function for toxcore interface.
|
||||||
|
* @return The ToxID
|
||||||
|
*/
|
||||||
|
const uint8_t* ToxId::getBytes() const
|
||||||
|
{
|
||||||
|
return reinterpret_cast<const uint8_t*> (toxId.constData());
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Gets the Public Key part of the ToxID
|
* @brief Gets the Public Key part of the ToxID
|
||||||
* @return Public Key of the ToxID
|
* @return Public Key of the ToxID
|
||||||
|
@ -174,6 +203,15 @@ QByteArray ToxId::getPublicKey() const
|
||||||
return toxId.mid(0, TOX_PUBLIC_KEY_SIZE);
|
return toxId.mid(0, TOX_PUBLIC_KEY_SIZE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Gets the Public Key part of the ToxID, convenience fuction for toxcore interface.
|
||||||
|
* @return Public Key of the ToxID
|
||||||
|
*/
|
||||||
|
const uint8_t* ToxId::getPublicKeyBytes() const
|
||||||
|
{
|
||||||
|
return reinterpret_cast<const uint8_t*> (toxId.mid(0, TOX_PUBLIC_KEY_SIZE).constData());
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Returns the Public Key converted to QString.
|
* @brief Returns the Public Key converted to QString.
|
||||||
* @return The Public Key as QString.
|
* @return The Public Key as QString.
|
||||||
|
|
|
@ -30,6 +30,7 @@ public:
|
||||||
ToxId(const ToxId& other);
|
ToxId(const ToxId& other);
|
||||||
explicit ToxId(const QString& id);
|
explicit ToxId(const QString& id);
|
||||||
explicit ToxId(const QByteArray& rawId);
|
explicit ToxId(const QByteArray& rawId);
|
||||||
|
explicit ToxId(const uint8_t& rawId, int len);
|
||||||
|
|
||||||
bool operator==(const ToxId& other) const;
|
bool operator==(const ToxId& other) const;
|
||||||
bool operator!=(const ToxId& other) const;
|
bool operator!=(const ToxId& other) const;
|
||||||
|
@ -38,11 +39,16 @@ public:
|
||||||
|
|
||||||
static bool isToxId(const QString& id);
|
static bool isToxId(const QString& id);
|
||||||
static bool isValidToxId(const QString &id);
|
static bool isValidToxId(const QString &id);
|
||||||
|
const uint8_t* getBytes() const;
|
||||||
QByteArray getToxId() const;
|
QByteArray getToxId() const;
|
||||||
QByteArray getPublicKey() const;
|
QByteArray getPublicKey() const;
|
||||||
|
const uint8_t* getPublicKeyBytes() const;
|
||||||
QString getPublicKeyString() const;
|
QString getPublicKeyString() const;
|
||||||
QString getNoSpamString() const;
|
QString getNoSpamString() const;
|
||||||
|
|
||||||
|
private:
|
||||||
|
void checkToxId(const QByteArray& rawId);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QByteArray toxId;
|
QByteArray toxId;
|
||||||
};
|
};
|
||||||
|
|
|
@ -29,7 +29,6 @@
|
||||||
#include <tox/tox.h>
|
#include <tox/tox.h>
|
||||||
#include "nexus.h"
|
#include "nexus.h"
|
||||||
#include "core/core.h"
|
#include "core/core.h"
|
||||||
#include "core/cdata.h"
|
|
||||||
#include "net/toxme.h"
|
#include "net/toxme.h"
|
||||||
#include "persistence/settings.h"
|
#include "persistence/settings.h"
|
||||||
#include "widget/gui.h"
|
#include "widget/gui.h"
|
||||||
|
|
Loading…
Reference in New Issue
Block a user