Is there a C++ library for Atom handling?

FeedThing is a desktop aggregator written in C++ by Gareth Simpson. The internals are split into several parts, including libfeedthing which is the core liberal feed parser, but it hasn’t been updated for ages, and I don’t think even he uses it any more, so it only supports the interim (and deprecated) Atom 0.3.

Which is a shame, because if was still using it, it would probably have a working Atom 1.0 parsing library.

As far as I can tell, there isn’t a single open-source Atom 1.0 parser written in C++. Unlike Java, Python, PHP, Ruby and .Net which all have it good with at least one solid feed parser.

I want a proper parsing library for my Atom-over-XMPP application. I’ve just been upgrading Feed On Feeds to transmit Atom 1.0, so now I need something to receive it – so far this has been FeedThing, but I don’t really fancy upgrading it to support Atom 1.0. The obvious alternative is to pick an open-source desktop client which already supports Atom 1.0 or could do by upgrading the parsing library it uses, and use that instead, but the only one that meets the “appealing” criteria (see below) seems to be Pears, which is a wxPython application (nice and cross-platform, and the xmpp libraries and code samples already exist) but that seems destined to move to an HTML interface in a desktop frame, which doesn’t sound particularly pleasant, and frankly, having actually now used it for five minutes, I already want to jump out of the window just to alleviate my suffering.

So what shall I do? I suppose it would be good for me to write some C++, but ditto with Python, and I have been wanting to do some RSS/Atom integrating with WikidPad – maybe this is my cue?

Those “appealing” criteria in full:

  • desktop aggregator
  • not .NET
  • not Java
  • three panes preferred
  • allows nested folders in the feed list
  • easy to upgrade to support Atom 1.0 if it doesn’t already
  • XMPP libraries in the aggregator’s programming language already exist (and work!)
  • must run in Windows (cross-platform a plus)

Of course, when I say “appealing”, I mean “non-negotiable”.

Published by

4 thoughts on “Is there a C++ library for Atom handling?”

  1. So, are you going to write it yourself? I am looking for the same thing and came to the same conclusion: nothing exists.

  2. I did start, but my C++ just isn’t really good enough. As far as I know, no-one is working on one either.

    I wonder if it’s possible to run Mark Pilgrim’s Universal Feed Parser through py2exe and call that from normal C++ code?

  3. Did you find something useful? Did you had to write something yourself?

    I will need to handle Atom using C++, also (for Google Calendar API, more precisely), so I am interested in any additional information you have found, and possibly joining efforts, if you had to write it yourself. 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.