[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-pim
Subject:    How kab works
From:       Rik Hemsley <rik () rikkus ! demon ! co ! uk>
Date:       1999-09-26 14:36:24
[Download RAW message or body]

Hi folks

We are at the stage where kab is close to being usable.

There is a problem with kded crashing, but I don't think that's my
code.

Anyway, here's a new description of how things work. Feel free to comment.
I'll try to explain in some detail, so I'm not the only one who understands
this !

The necessity for an API library for kab has been removed. You now
talk to kab via CORBA. This was going to be hard work before, but with
the new cuteidl, it's easy.

In pim/corba/kab/server is the implementation of the kab server (surprise).

In this directory is the idl 'kaddressbook.idl'. This is your interface
to kabII. At the moment it's fairly simple. Extra stuff can and will be
added, and it won't be much work to do.

There is a file called 'kab_server.desktop'. This gets installed into
(kde)/share/services.

If you look at this file you'll see that it provides some information on
what kab_server provides and how to start it. This information is used by
kded.

If you do a make install in the server dir and then run kded, you'll notice
that kded mentions KabServer as a service. This means that when you try
to access kab, you do it via kded. To see how to do this, see the code
in pim/corba/kab/client.

It's all pretty simple - you create a KdedInstance, and use the activator
to activate the addressbook service.

kded is very clever - it will start kab_server when requested. You create
a KDE config file (kab_serverrc) and kab_server will know the name of the
addressbook it is serving, what format it is in, and where it is located.

kab_server will immediately try to load a plugin to handle the data,
based on the format setting. For the moment, the only available plugin
is for gdbm. In the future, we'll have an LDAP plugin, and probably others.

Note that there's now an LDAP kioslave ! This should make writing an LDAP
plugin very easy !

So the situation now is that KDE2 should have an integrated addressbook,
accessible via CORBA, and activated on demand.

Don, you'll want to see how to access this, and the code in client/ will
help you here. As you can see, it's less horrifying than you might expect !

I'm sorry that it's not completely working yet, but there is a problem
with libkded when it tries to get the IOR of the running kded from the
root window using KRootProp. I'm sure this'll be fixed soon - it seems that
it's not my code doing this.

Any questions about this ? Does everyone agree that this is the 'smart' way
to go ? I certainly can't think of a better way !

Cheers,
Rik

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic