- Update the version number in
Application.h
file - Update the
CHANGELOG
file
mtxclient
: Matrix Client Library - linksqlitecpp
: Database - linkQt
: Frameworklmdb
&lmdbxx
: TODO - Should be replacedcmark
: To convert markdown to htmlspdlog
: Loggernlohmann_json
: JSON library - TODO : Maybe we have to replace it with Qt Built-in Json library
mkdir build
cd build
qmake ..
make
1. Building as shared
or static
The library will be built as shared
library, we can set -DSTATIC_LIB=ON
and run cmake
to build as static
:
cmake -DSTATIC_LIB=ON ..
2. Building with examples
The examples
won't be built as default, so you can run qmake
as follow to build them:
cmake -DBUILD_EXAMPLES=ON ..
3. Building without tests
The tests
won't be built as default, so you can run qmake
as follow to enable the building the tests:
cmake -DBUILD_TESTS=ON ..
4. Building with CIBA authentication support
cmake -DCIBA_AUTHENTICATION=ON ..
5. PantherX Accounts And Secrets service integration
In order to have the support for PantherX Online Accounts and Secret services integration, we need to build the library with the following flag: -DPX_ACCOUNTS_INTEGRATION=ON
cmake -DCIBA_AUTHENTICATION=ON ..
Client *client;
client = Client::instance();
The logs is enabled as default with info
level. We can disable it via:
client->enableLogger(false);
We can enable debug logs as well with this line:
client->enableLogger(true, true);
The second true
is related to enable debug logs
.
client->loginWithPassword(deviceName, userId, password, serverAddress);
the result will be informed with 2 signal Client::loginOk
and Client::loginErrorOccurred
client->start();
if client is not loged in already will recieve Client::dropToLogin
signale
std::map<QString, RoomInfo> Client::joinedRoomList()
Config
:~/.config/matrix-client-library/APP_NAME.conf
DB
:~/.local/share/matrix-client-library/APP_NAME/APP_NAME_HASH/
Log
:~/.local/share/matrix-client-library/APP_NAME/matrix-client-library.log
Cache
(qml and media):~/.cache/matrix-client-library/APP_NAME/
Cache Info
:~/.cache/matrix-client-library/APP_NAME/info