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

List:       kmail-devel
Subject:    Re: Bug#33556: Incredimail example mail
From:       Marc Mutz <Marc.Mutz () uni-bielefeld ! de>
Date:       2001-10-14 21:11:26
[Download RAW message or body]

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Sunday 14 October 2001 20:33, Michael Häckel wrote:
<snip>
> BTW: Any progress report on KMime?
<snip>

I have finished the Codecs.
I have rewritten the whole getToken() "heart". It is now based on 
cascaded parseBlahBlubb functions. getToken() will go away. Currently 
available parse*() methods:

    bool parseEncodedWord( char* & scursor, const char * send,
                           QString & result, QCString & language );
  bool parseAtom( char* & scursor, const char * send, QString & result,
                  bool allow8Bit=false );
  bool parseToken( char* & scursor, const char * send, QString & result,
                   bool allow8Bit=false );
  bool parseGenericQuotedString( char* & scursor, const char* send,
                                 QString & result, bool isCRLF,
  bool parseComment( char* & scursor, const char * send, QString & 
result,
                     bool isCRLF=false, bool reallySave=true );
  bool parsePhrase( char* & scursor, const char * send, QString & 
result,
                    bool isCRLF=false );
  bool parseDotAtom( char* & scursor, const char * send, QString & 
result,
                     bool isCRLF=false );
  bool parseDomain( char* & scursor, const char * send,
                    QString & result, bool isCRLF=false );
  bool parseObsRoute( char* & scursor, const char * send, QStringList & 
result,
                      bool isCRLF=false, bool save=false );
  bool parseAddrSpec( char* & scursor, const char * send,
                      AddrSpec & result, bool isCRLF=false );
  bool parseAngleAddr( char* & scursor, const char * send,
                       AddrSpec & result, bool isCRLF=false );
  bool parseMailbox( char* & scursor, const char * send,
                     Mailbox & result, bool isCRLF=false );
  bool parseGroup( char* & scursor, const char * send,
                   Address & result, bool isCRLF=false );
  bool parseAddress( char* & scursor, const char * send,
                     Address & result, bool isCRLF=false );
  bool parseAddressList( char* & scursor, const char * send,
                         QValueList<Address> & result, bool isCRLF=false 
);
  bool parseParameter( char* & scursor, const char * send,
                       QPair<QString,QString> & result, bool 
isCRLF=false );
  bool parseParameterList( char* & scursor, const char * send,
                           QMap<QString,QString> & result, bool 
isCRLF=false );

The last one is what I'm currently working on (rfc2231 support, to be 
precise).

If I have all the standard headers done w.r.t. to parsing, I will sit 
down together with Sven to finish the header factory and write a 
test_header_parser.cpp.

Then, the compose path needs to be implemented (basically 
s/parse/write/g; in the above).

Then, we'll build the classtree for the body parts. This should be much 
easier, since there's not much parsing involved.

I guess I can finish the header parsing this week, but the rest of Oct 
is packed for me :-( University starts again and I have to organize 
meetings for the "Erstis" again this year...

Marc

- -- 
If privacy is outlawed, only outlaws will have privacy.
                                                    -- Phil Zimmermann
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org

iD8DBQE7yhvr3oWD+L2/6DgRAjfWAJ43Hvod20xU5hLJ1HgXFkjqB4dibQCdH+1V
vciiTcpXDWawcBlD7RNKz8E=
=mtHV
-----END PGP SIGNATURE-----

_______________________________________________
kmail Developers mailing list
kmail@mail.kde.org
http://mail.kde.org/mailman/listinfo/kmail

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

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