Nheko fork with mobile capabilities (upstream: https://github.com/Nheko-Reborn/nheko)
  • C++ 90.8%
  • Objective-C 4.7%
  • C 2.2%
  • CMake 1.9%
  • Cap'n Proto 0.2%
  • Other 0.2%
Find a file
2025-01-16 22:22:16 +00:00
cmake Get User display name and avatar #9 2021-12-21 11:59:22 +03:30
docs Update README 2022-01-04 10:58:22 +03:30
examples Audio device output list, select device as default output and volume control. 2023-01-31 17:27:55 +03:30
interfaces px services integration implemented 2022-07-17 00:16:35 +04:30
src initial migration to new ciba auth module 2025-01-16 22:21:22 +00:00
tests Removed CIBA to px-auth-library #63 2022-10-30 00:00:28 +03:30
.gitignore Version and gitignore updated 2022-11-05 16:02:37 +03:30
.gitlab-ci.yml adapt ci automation 2025-01-16 22:22:16 +00:00
all.pro CMakeLists and README updated #9 2021-12-21 15:09:58 +03:30
CHANGELOG.md enable libgstvideoconvert, libgstvideoscale #2 2023-11-08 17:12:32 +00:00
CMakeLists.txt initial migration to new ciba auth module 2025-01-16 22:21:22 +00:00
LICENSE added license 2022-01-17 16:04:27 +00:00
README.md Merge branch 'account_integration_removal' into development 2022-11-01 08:15:18 +03:30

Matrix Client Library

For make release

  • Update the version number in Application.h file
  • Update the CHANGELOG file

Dependencies

  • mtxclient : Matrix Client Library - link
  • sqlitecpp : Database - link
  • Qt : Framework
  • lmdb & lmdbxx : TODO - Should be replaced
  • cmark : To convert markdown to html
  • spdlog : Logger
  • nlohmann_json : JSON library - TODO : Maybe we have to replace it with Qt Built-in Json library

How to build

mkdir build
cd build
qmake ..
make

Build Options

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 ..

Integration

1. create instance

Client *client;
client = Client::instance();

2. Enable/Disable logs

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.

3. Login with password

client->loginWithPassword(deviceName, userId, password, serverAddress); 

the result will be informed with 2 signal Client::loginOk and Client::loginErrorOccurred

4. Client process should be start

 client->start();

if client is not loged in already will recieve Client::dropToLogin signale

5. Get Room Lists

std::map<QString, RoomInfo> Client::joinedRoomList()

Stored files/folders

  • 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