Nchat is a multi-threaded application. Each protocol (i.e. Telegram)
should implement a thread processing RequestMessage
it received through
its SendRequest()
method.
The protocol passes information to the main application by passing
ServiceMessage
to its message handler, which is processed in a worker
thread.
The interface each protocol need to implement is defined in the abstract
class Protocol
and protocol.h
contains definitions of all messages
passed between main application and the protocol.
The core application logic is implemented in uimodel.cpp
and the display
is handled by ui*view.cpp
files.