comp.lang.ada
 help / color / mirror / Atom feed
From: Jano <402450@cepsz.unizar.es>
Subject: Re: Re; [OT] Best way to isolate a GUI?
Date: Mon, 17 Feb 2003 22:12:19 +0100
Date: 2003-02-17T22:12:19+01:00	[thread overview]
Message-ID: <MPG.18bb6ea1d4e7753f98969c@News.CIS.DFN.DE> (raw)
In-Reply-To: pan.2003.02.17.14.09.34.88722@mail.utexas.edu

En el mensaje <pan.2003.02.17.14.09.34.88722@mail.utexas.edu>, 
bdbryant@mail.utexas.edu dice...
> On Mon, 17 Feb 2003 08:25:06 +0100, Jano wrote:
> 
> > Anyways, I not need to be secretive about my project, since is a
> > personal one. I'm trying to implement a basic Gnutella servant, just to
> > improve my skills in Ada. You see now what's the core and what's the
> > GUI...

> If you want a run-time separation, you still need to give a clearer
> explanation of what kind of separation you want.  If you just want to
> write a client for Gnutella you will have to write your client to use
> whatever communication protocol Gnutella is based on, which is only an Ada
> question when it comes down to "how do I implement that?".

I want total isolation between core and GUI. Really, that it's going to 
be a Gnutella servant is not relevant except for background. For total 
isolation I mean that the core could run without a GUI. I.e., the GUI 
code is not necessary at compile time. Indeed, a Gnutella servant 
doesn't need the GUI except for feedback and getting new searches from 
the user. That could be accomplished with a single input box. 

I'll detail my first thought, so you can see what I want and you can 
reduce then my idea to pieces ;-).

I was thinking of using a proccess for the core, and none..many 
proccesses as GUI. To accomplish that:

a) The core opens a listening socket.
b) Spawn a child for every new connected "thing" (GUI) to the listening 
socket.
c) These new connections (streams) are used by the core to notify the 
listener (client in this context) about events, to pass data, or by the 
GUIs to request specific data it want to display/refresh.

The communication protocol could be anything I want (hence the 
suggestion of XML). I need "only" :) to define a proper protocol (but my 
first idea is, given that I expect to use heavily XML for config files 
and persistence of objects, simply pass the objects as its XML 
representation and a bunch of requesting/notifying words).

One GUI proccess could be a web server (AWS), or could be a GtkAda GUI, 
or whatever. But that's the point.

Thoughts?

The only example that comes to my mind like that is the WinGate 
router/NAT software. It's a NT service that listens in 808 for the GUI, 
which is a regular Windows app.

Oh, and Audiogalaxy Satellite was also using that approach.

But I'm only beginning to get at the other suggestions.

-- 
-------------------------
Jano
402450[at]cepsz.unizar.es
-------------------------



  reply	other threads:[~2003-02-17 21:12 UTC|newest]

Thread overview: 62+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-02-16 10:19 [OT] Best way to isolate a GUI? Jano
2003-02-16 14:47 ` Ed Falis
2003-02-16 14:49 ` Victor Porton
2003-02-17 20:52   ` Jano
2003-02-16 16:36 ` Robert C. Leif
2003-02-17  8:44   ` Preben Randhol
2003-02-17 16:22     ` Robert C. Leif
2003-02-17 17:30     ` Jeffrey Carter
2003-02-17 17:54       ` Warren W. Gay VE3WWG
2003-02-17 19:06         ` Randy Brukardt
2003-02-18  3:15           ` Warren W. Gay VE3WWG
2003-02-18 16:14             ` Robert C. Leif
2003-02-18 18:10             ` Randy Brukardt
2003-02-18 21:12               ` Warren W. Gay VE3WWG
2003-02-18 23:20                 ` Randy Brukardt
2003-02-19 18:28                   ` Warren W. Gay VE3WWG
2003-02-20 19:39                     ` Randy Brukardt
2003-02-20 21:34                       ` Warren W. Gay VE3WWG
2003-02-20  7:50                   ` Dale Stanbrough
2003-02-19 12:49                 ` Marin David Condic
2003-02-19 18:35                   ` [OT] Best way to isolate a GUI? (The final concensous?) Warren W. Gay VE3WWG
2003-02-20 12:40                     ` Marin David Condic
2003-02-20 13:13                       ` Dmitry A. Kazakov
2003-02-20 22:01                       ` Warren W. Gay VE3WWG
2003-02-21  1:25                         ` tmoran
2003-02-21  2:08                         ` Marin David Condic
2003-02-21 17:27                           ` Jeffrey Carter
2003-02-22 14:10                             ` Marin David Condic
2003-02-21 18:02                           ` Warren W. Gay VE3WWG
2003-02-22 14:49                             ` Marin David Condic
2003-02-22 22:50                               ` tmoran
2003-02-23  5:18                               ` Robert C. Leif
2003-02-24 18:06                               ` Warren W. Gay VE3WWG
2003-02-25  1:20                                 ` Robert C. Leif
2003-02-25 17:57                                   ` Warren W. Gay VE3WWG
2003-02-25 12:41                                 ` Marin David Condic
2003-02-25 13:32                                   ` Ole-Hjalmar Kristensen
2003-02-25 17:33                                     ` [OT] Best way to isolate a GUI? (The final fronteer?) Warren W. Gay VE3WWG
2003-02-20  8:26                   ` [OT] Best way to isolate a GUI? tmoran
2003-02-20 12:51                     ` Marin David Condic
2003-02-20 18:47                       ` tmoran
2003-02-17 19:31         ` tmoran
2003-02-18  1:37         ` Jeffrey Carter
2003-02-18  3:39           ` Warren W. Gay VE3WWG
2003-02-18 23:36           ` Randy Brukardt
2003-02-18 13:29         ` Marin David Condic
2003-02-18 18:01           ` Warren W. Gay VE3WWG
2003-02-19 13:06             ` Marin David Condic
2003-02-16 17:25 ` achrist
2003-02-16 21:24 ` Bobby D. Bryant
2003-02-16 21:52 ` David Marceau
2003-02-17  0:57 ` Re; " tmoran
2003-02-17  7:25   ` Jano
2003-02-17 14:09     ` Bobby D. Bryant
2003-02-17 21:12       ` Jano [this message]
2003-02-18  7:24         ` Jean-Pierre Rosen
2003-02-18 13:08 ` Marin David Condic
  -- strict thread matches above, loose matches on Subject: below --
2003-02-18 10:26 Re; " Lionel.DRAGHI
2003-02-18 10:57 Lionel.DRAGHI
2003-02-18 16:29 ` Jano
2003-02-18 18:24 Lionel.DRAGHI
2003-02-18 19:52 ` Jano
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox