18#include "pab_pablib.h"
20#define REC_OK PAB_REC_OK
23pab::pab( const char *_pabfile)
28 cap=i18n( "Import MS Exchange Personal Address Book (.PAB)");
34 if (in.isOpen()) { in.close(); }
43bool pab::convert( void)
48 if (!in.isOpen()) {TQString msg;
49 msg=i18n( "Cannot open %1 for reading").arg(pabfile);
71bool pab::convert(adr_t A,content_t ,content_t )
74content_t start,stop,T;
110 while(start!=0) {adr_t cp;
114 dotable(table,start,stop);
126void pab::dotable(adr_t T,content_t start,content_t stop)
149 while (cmp!=stop && REC!=pREC) {
166 while(cmp!=stop && REC!=pREC) {adr_t cp;
185void pab::processRec(adr_t REC)
190 if (upper(hdr)==REC_OK) {
192 pabfields_t fields(rec, NULL);
194 if (fields.isOK() && fields.isUsable()) {
200void pab::prt( unsigned char *,pabrec &,pabrec_entry )
204#define PABREC_N (sizeof(pabrec)/sizeof(word_t))
206void pab::rdPabRec(pabrec & )
216bool pab::recUnknown(pabrec &)
221bool pab::recNoFunction(pabrec & )
226const char *pab::get( unsigned char *,pabrec_entry ,pabrec & )
231void pab::getrange(pabrec & ,pabrec_entry ,word_t & ,word_t & )
241bool pab::knownPAB( void)
245 if ( id!=PAB_FILE_ID) {TQString msg;
246 msg=i18n( "%1 has no PAB id that I know of, cannot convert this").arg(pabfile);
260content_t pab::go(adr_t a)
269content_t pab::read( void)
273 in.readBlock(( char *) &mem, sizeof(A));
281void pab::read(word_t & w)
284 in.readBlock(( char *) &mem, sizeof(w));
289content_t pab::relative( int words)
293return go(a+(words* sizeof(content_t)));
296content_t pab::add(adr_t & A, int words)
298 A+=(words* sizeof(content_t));
302pabsize_t pab::size(content_t A)
307word_t pab::lower(content_t A)
312word_t pab::upper(content_t A)
317void pab::size(content_t A,pabsize_t & s1,pabsize_t & s2)
323byte_t pab::readbyte( void)
330void pab::read( unsigned char *mem,content_t size)
332 in.readBlock(( char *) mem, size);
|