[Kde-imaging] Re: Kipi interface a last time [ PLEASE IGNORE EMAIL ]

Jesper K. Pedersen blackie at kde.org
Sat Apr 24 10:58:38 CEST 2004


Please ignore the email below, I hit the send button by accident....

On Saturday 24 April 2004 10:32, Jesper K. Pedersen wrote:
| EVERYONE PLEASE READ CAREFULLY
|
| Seems like we will never get done with this.
|
| Yesterday evening Aurelien and I took another round with this topic, and
| for the rest of you let me please reiterate shortly:
|
| With the interfaces we need to figure out exactly who is owners of pointers
| and when things will be evaluated.
|
| Starting with the later.
| The cd archiving plugin needs to know the size of each album, with KIPI's
| interface an album could contain images stored in different directories
| (and that is the case for say KimDaBa), but even worse, the images are
| represented as KURL's, so at some point this means that the images might be
| located on the other side of the globe. The cdarchiving plugin would be
| useless if it should do a stat for each file individually, so I could
| imagine that apps could have the possibility to store this info in their
| database some way or the other,
|
| Now this means that each host application must be able to override some
| getSizeOfImage method. This method would logically fit into the ImageInfo
| object returned by the info method in KIPI::Interfaces class.
|
| This leaves us with this interface:
| namespace KIPI {
|   class Interface {
|      ..
|      ImageInfo* imageInfo( const KURL& which );
|   }
| }
|
| The major disadvantage with this is that the ImageInfo pointer returned
| must be owned by someone....
|
| Aurelien amd I came up with the idea of returning a reference instead of a
| pointer, that would tell people that the data might change (It is a
| reference to someone elses object, and that someone else might change it!)
|
| namespace KIPI {
|   class Interface {
|      ..
|      ImageInfo& imageInfo( const KURL& which );
|   }
| }
|
| Now in my code would look like this:
|
| ImageInfo& KimDaBa::Interface::imageInfo( const KURL& which ) {
|   static ImageInfo info; // Each time this function is called I will
| override previous active version

-- 
Having trouble finding a given image in your collection containing
thousands of images?

http://ktown.kde.org/KimDaBa might be the answer.


More information about the Kde-imaging mailing list