:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::'#######::'##::::'##:'########::::::::::::::
::::::::::::'##.... ##: ###::'###: ##.... ##:::::::::::::
:::::::::::: ##:::: ##: ####'####: ##:::: ##:::::::::::::
:::::::::::: ##:::: ##: ## ### ##: ########::::::::::::::
:::::::::::: ##:::: ##: ##. #: ##: ##.... ##:::::::::::::
:::::::::::: ##:::: ##: ##:.:: ##: ##:::: ##:::::::::::::
::::::::::::. #######:: ##:::: ##: ########::::::::::::::
:::::::::::::.......:::..:::::..::........:::::::::::::::

*** Components:

This project has two main components:
    1. OBLO Message Broker (OMB) and
    2. OBLO Messenger.

OMB is C++ server-side implementation of the OBLO messaging protocol.
OMB features Mosquitto MQTT broker and adds custom functionalities for:
    - Bridging to a remote MQTT broker,
    - Client authentication,
    - Client access control,
    - Client registration mechanism,
    - Additional messaging API,
    - Cross-platform configuration and
    - Test environment for the JMeter.

OBLO Messenger is C++ client implementation of the OBLO messaging protocol.

*** Libraries:

External dependencies:
    - Poco C++ library (version 1.6.1) and
    - OpenSSL library.
    - libwebsockets (2.0.2) if using websockets.

Libraries build with the project:
    - Mosquitto 1.4.10 with custom modification and
    - Paho-C 1.0.3 with custom modification.

*** Build:

Project uses CMake build system.

Linux build procedure:
    - Both OMB and OBLO Messenger:
        1. Go to the OMB root directory
        2. Open terminal
        3. mkdir build
        4. cd build
        5. cmake ../
        6. make
        7. make install
        8. cd ../bins
        9. ./oblomb

    - Just OBLO Messenger:
        1. Go to the OMB root directory
        2. Open terminal
        3. mkdir build-msgr
        4. cd build-msgr
        5. cmake ../
        6. make oblomessenger

*** Platform:

Platform specific configuration should be placed to the platform/<platform-name> directory.
Note that a platform configuration will be used as an addition to the platform/default configuration.

