• Skip to content
  • Skip to link menu
KDE 4.2 API Reference
  • KDE API Reference
  • kdepim
  • Sitemap
  • Contact Us
 

kaddressbook

pab_mapihd.h

Go to the documentation of this file.
00001 /***************************************************************************
00002                           mapihd.h  -  description
00003                              -------------------
00004     begin                : Tue Jul 25 2000
00005     copyright            : (C) 2000 by Hans Dijkema
00006     email                : kmailcvt@hum.org
00007  ***************************************************************************/
00008 
00009 /***************************************************************************
00010  *                                                                         *
00011  *   This program is free software; you can redistribute it and/or modify  *
00012  *   it under the terms of the GNU General Public License as published by  *
00013  *   the Free Software Foundation; either version 2 of the License, or     *
00014  *   (at your option) any later version.                                   *
00015  *                                                                         *
00016  ***************************************************************************/
00017 
00018 #ifndef _MAPIHD_H_
00019 #define _MAPIHD_H_
00020 
00021 #include <q3memarray.h>
00022 
00023 #include "pab_xxport.h"
00024 
00025 #define T_MS_ARRAY         0x1100               // Some sort of array
00026 #define T_MS_STRING  ((unsigned long) 0x1e) // definitely a string
00027 
00028  typedef unsigned long adr_t;
00029  typedef unsigned long content_t;
00030  typedef unsigned short pabsize_t;
00031  typedef unsigned char byte_t;
00032  typedef unsigned short word_t;
00033  typedef byte_t byte;
00034 
00035  class pab;
00036 
00037  class pabrec {
00038    private:
00039      char   entry[1024];
00040      byte   *_mem;
00041      word_t m_N;
00042      word_t *m_W;
00043    public:
00044      pabrec(pab &);       // expects record the begin at reading point (ftell).
00045     ~pabrec();
00046    public:
00047      word_t N(void)                 { return m_N; }
00048      word_t operator[](int i)       { return m_W[i]; }
00049      const char *getEntry(int i);
00050    public:
00051      content_t read(word_t offset);
00052  };
00053 
00054  typedef enum {
00055    pr_unknown,pr_notused,
00056    pr_givenname,pr_email,
00057    pr_firstname,pr_additionalname,pr_lastname,pr_title,
00058    pr_address,pr_town,pr_state,pr_zip,pr_country,
00059    pr_organization,pr_department,pr_subdep,pr_job,
00060    pr_tel,pr_fax,pr_modem,pr_mobile,pr_url,pr_talk,
00061    pr_notes,pr_birthday
00062  }
00063  pabrec_entry;
00064 
00065  class mapitag_t
00066  {
00067    friend bool operator < (mapitag_t &,mapitag_t &);
00068    friend bool operator > (mapitag_t &,mapitag_t &);
00069    friend bool operator == (mapitag_t &,mapitag_t &);
00070    private:
00071      word_t        _tag;
00072      word_t        _type;
00073      content_t     _order;
00074    public:
00075      mapitag_t(content_t tag,content_t order)   { _tag=(word_t) tag;_type=(word_t) (tag>>16);_order=order; }
00076      mapitag_t()                                { _tag=0;_type=0;_order=0; }
00077    public:
00078      mapitag_t & operator = (mapitag_t & t)     { _tag=t._tag;_type=t._type;_order=t._order;return *this; }
00079    public:
00080      bool      isUsed(void)                     { return (_type==T_MS_STRING || (_type&T_MS_ARRAY)!=0) && _order!=0; }
00081      word_t    literal(void)                    { return _tag; }
00082      content_t order(void)                      { return _order; }
00083      pabrec_entry matchTag(void);
00084  };
00085 
00086  bool operator < (mapitag_t & a,mapitag_t & b);
00087  bool operator > (mapitag_t & a,mapitag_t & b);
00088  bool operator == (mapitag_t & a,mapitag_t & b);
00089 
00090  class pabfields_t
00091  {
00092    private:
00093      Q3MemArray<mapitag_t> tags,context_tags;
00094      pabrec            *m_R;
00095      QString givenName,email,
00096              title,firstName,additionalName,lastName,
00097              address,town,state,zip,country,
00098              organization,department,subDep,job,
00099              tel,fax,modem,mobile,homepage,talk,
00100              comment,birthday;
00101      bool               OK;
00102    private:
00103      bool          isUsed(int k);
00104      pabrec_entry  isWhat(int k);
00105      word_t        literal(int k);
00106      content_t     order(int k);
00107    public:
00108      pabfields_t(pabrec & R, QWidget *parent);
00109    public:
00110      KABC::Addressee get( );
00111      bool isOK(void)     { return OK; }
00112      bool isUsable(void) { return givenName!=""; }
00113  };
00114 
00115 
00116 #endif
00117 

kaddressbook

Skip menu "kaddressbook"
  • Main Page
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Class Members
  • Related Pages

kdepim

Skip menu "kdepim"
  • akonadi
  •   clients
  •   kabc
  •   kcal
  •   kcm
  • akregator
  • console
  •   kabcclient
  •   konsolekalendar
  • kaddressbook
  • kalarm
  •   lib
  • kdgantt
  • kdgantt1
  • kjots
  • kleopatra
  • kmail
  • kmobiletools
  • knode
  • knotes
  • kontact
  • kontactinterfaces
  • korganizer
  •   korgac
  • kpilot
  • ktimetracker
  •   doc
  • libkdepim
  • libkholidays
  • libkleo
  • libkpgp
  • maildir
Generated for kdepim by doxygen 1.5.4
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal