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

List:       kde-pim
Subject:    Grouping + importing
From:       Rik Hemsley <rik () rikkus ! demon ! co ! uk>
Date:       1999-07-15 23:38:08
[Download RAW message or body]

This message is in MIME format

Hi folks.

I've spent the last week trying to come up with a generic addressbook format.

This doesn't mean a new text file format, it means an OO model that provides
the following features:

1) Extensibility at all levels.
2) Easy access to all parts of addressbook entities.
3) Speed.
4) Import abilities through a plugin interface.
5) Grouping of entities.

I think I'm at least part of the way there. If anyone's looked in pim/ab_test
you'll see my first effort, which was a little poor.

What I've done today is to implement a fair amount of what I've been planning.
It isn't checked into CVS yet. I've attached some files to show how things
work from the perspective of user code.

If you're interested and have the time, please take a look at these files and
try to get an impression of what's going on. I'd like some feedback - positive
and negative.

The model I have created supports grouping to any depth, uses shared data (via
QString), is fairly typesafe, is very fast, is extensible, provides import
through plugins and makes it easy to access all levels of the structure.

I think that just about covers the requirements :)

Note that when AddressBook::import() is called a plugin is dynamically loaded
and its import() function called. If there is no plugin available, the import
file is not readable, or any other error occurs, the only effect is that
AddressBook::import() returns 0 (for the number of records imported).

Cheers,
Rik


--
KDE - Colour outside the lines  : http://www.kde.org
[[without]] - software for KDE  : http://without.netpedia.net

["vcard1" (vcard1)]

BEGIN:VCARD
N:Hemsley;Rik;Mark
FN:Rik Hemsley
EMAIL;TYPE=INTERNET:rik@kde.org
TZ:00:00
END:VCARD

["log.gz" (log.gz)]

m7logUmO@_1D]C)JӘJa%[a`lyםVw}dLpQ;;U/xtnT̒)̕aA \
)kh~$D_ TpIlsc#p33 X|'bv\ \y	f\A9r%U/`C \
on17+䓩q\/G5Qo*r\xnx2,sNxTP^ ˶<Ke \
zyۣXw9Srzt_s\Q91o'8s3({]]~ \
L]K{Bo"N3F0^,md|w]&կgjVrd==4yD[LJ%L0WUp+"'গj*GY^;[O
 ȋyVxC\g?f!֤|j[|yk/f\/C[OCpְoӐq=ŰCXww(؁Q+B \
S0oۗۡ̈́ŴdY>CV삽r,?`{F!ЎfLC&5Q `Pu	


["v2.cpp.gz" (v2.cpp.gz)]

m7v2.cppi~ūTFf-k;k׻A1"GHAWc(1|,g}WH \
&0֯&WiZ~iuLN/gqx6;(glqrqN?語cݨ\\6뿫9SK
 L[[0VwUZfh"Z~6=(@]D/Pk>x4JmLt#z@evZ`~5|4;Qu*EOnU@
 @" llnT]spZ-N\͙
J9qSՎ9xw @U[WiߙځE*sg0Vn?}EJ)޷I
zi2SGa]"9 YR꺚m6$1N,#5
2MUטU@q&r'ȁY2?=QVUp1UNsy?lK:I駔?=DLLsl0P";1@D/EDwC|:8zj6óY=Hp2H'68@mb~3N
 Qh
	s94s
I[l((0VԹh \
YMJB$^L^ƖאXUsV$pO=}\q^fV|ʉ)膤ߘ.%6/UqDeN \
mm~q{UIeCATл	΢y"yw5ʙU;l*NE]zBKSa \
9g$[(|Pq{bғ;+T:Q(iM;y5ީ.{6J2i`qb1[0{H,ھfg<`_k* \
z0Rom71C/NtUq{?n	']ws \
	ʤ|k[Zǽ(سrR)H=ū8i \
UA-gBX|O}/;t+%ig̓^>_N#UGJbyˌs8C\=I>ﰴ8U9Ο1TWE.%zR/ؔ+Uك^/Cm2;␻
 <Ax@<bkŋ-FScKBkPh.}BJżGѨhH1qml}JXP!ۍtXPO \
Yb~I\ң  24^<1uX2W6|K7Xc.}'g0,WNbUUMOpL⯵9)K0b \
d`)4d@jSS;ͦ+|}.)PN \
MCH-sEyƝ6(œd0q<?<oa-hˢ=myu/%/Cbz*#8K
  pɥSpV&ǀ	Iq} %Ҿ!w!;T.g(1:#lMx'F \
"{q1|l cl"{{!tő:k	\.ZT \
41>ϸPx%UOl<yl':Vw[9"`}!wR'fsaTh\(ۉFj^a`ba+!QU/ \
m|r{gp+0~7As:/ rF 	yIZ&Dyأ \
Ͽ]˦S-|FƪB^< RMP \
w&ɶc@]=}KGyՕ|@co~:$m~khJAU|tA=\1O;zj \
ژy66["[h8)j'oO.=⇅ejO"+Uu \
$] i2ȕz*4vJ)E +_)!;1^7K \
ܤi&rW28Xh'7PkajNպ2{u)x$0rXpoRق$D'!G>苀{\Ax^^Aܹ1{աk \
? $!Puszf=C&tM%l߻wkKihW_*- \
o3"be?FzՃDsQ4|^{8z `ېu]!> \
|dB;SS'e+͸n6n/Q>f?.


End of MIME message


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

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