[fpc-pascal] DBus Bindings
Michael Van Canneyt
michael at freepascal.org
Fri Oct 13 21:20:43 CEST 2006
On Fri, 13 Oct 2006, Felipe Monteiro de Carvalho wrote:
> I am writing bindings for DBus (interprocess communication) library,
> but I'm a little lost about how to create them. The procedural
> low-level code is already working.
> Basically I can have one software that constantly scans the bus in a
> loop in search of messages, and another that sends messages. And it
> Now, I would like to write a class to make the use of dbus easier. I
> would like to emit a signal when a message arrives, but I don't know
> how to deal with the need to periodical checking if a message arrive.
I would make the component in 2 levels:
- Basic component just has the 'scanbus' procedure. This polls the bus,
and triggers the appropriate events when messages have arrived.
(call it TDBus or so)
- Descendent component (For Lazarus) creates an internal timer.
On each timer tick, it calls scanbus. An 'Active' property
together with 'Interval' control the timer.
(call it TTimedDBus, descends from TDBus)
- Other descendent component hooks in the LCL message loop and continuously
scans the dbus when the application is idle (much like the actions).
(call it TIdleDBus, descends from TDBus)
I don't think threading is needed.
Anyway, just a proposal...
More information about the fpc-pascal