DSA Messenger

DSA Messenger is simple multiuser chat program. It uses features of Distributed System Annex provided by DSA application personality of PolyORB to split Ada application into several partitions and QtAda to implement GUI.

Requirements

You need to install:

  • GNAT GPL 2010
  • DSA application personality of PolyORB GPL 2010
  • QtAda 3.1.0

Patching of QtAda's project files

To use QtAda with PolyORB/DSA you need first to find qt_core.gpr file on your system and add above line in it:

   for Object_Dir use "../../lib/qtada";

Downloading of source code

To download source code please visit Downloader section.

Building

To build DSA Messenger just unpack source code package and run make in top level directory.

Running

Before running of server you need to run po_cos_naming service, please refer PolyORB's Users Guide for more information.

Run dsa_server executable to run server part of application.

Once server part of application is run, any number of client application can be run by running of dsa_client executable. After run of client you need to enter login and password. You can use any login, but you can't use the same login on several clients.

Implementation details

This example demonstrate several interesting aspects of use QtAda in application:

  • save/restore of login/password in logon dialog (see logon_dialogs.ad[sb]);
  • safe and non-blocking interaction between non-GUI threads and GUI thread with signal/slot communication (see client-emitters.ad[sb] and its use in client-sessions.adb);
  • user defined data models for Model-View-Controller paradigm (see client-user_list_models.ad[sb]).
Last modified 7 years ago Last modified on Oct 26, 2010, 10:49:51 PM