Hello list,

    In this post I will be describing some of the things I've done during the 
summer and what I plan to do for what's left of it.

- libmapi++: The main purpose of designing and implementing libmapi++ was to 
serve as a C++ wrapper to libmapi which would make it easier for me to 
implement the Akonadi resource. By using libmapi++ I have been able to avoid 
duplication of code, and have been able to write C++ code that can better 
integrate with Akonadi's libraries which are written in C++.

Some of the interfaces libmapi++ already features are:
- Sessions (MAPI Sessions)
- MAPI Objects (messages, message_store, attachments and folders)
- property_container (A wrapper for SPropTagArray, SPropValueArray and 
mapi_SPropValueArray) 
- Profile functions (Only a small set of these are currently implemented)

libmapi++ still needs a lot more work done for it to be a complete product, but 
I think it is usable in its current state, and could be used by other 
people/projects that would like to interact with libmapi from C++. I've been 
including doxygen comments in the header files and I plan to write a small user 
guide for it to make it easier for others to use it.

- Akonadi Resource:
The resource code is basically an evolution of Brad Hard's (My GSoC mentor) 
code. Of course, a lot has been modified mainly to integrate libmapi++.
Some of the things I've added:
  - Messages: 
    - Pulled more message properties.  
    - Created multipart messages.
    - Resource is now able to fetch HTML and PlainText bodies.
    - Fetch attachments

  Contacts:
    - Able to pull contact email addresses.
    - Able to pull contact data from retrieveItem()
    - Only a basic clean-up of the appendContactToItem() has been done.

  Calendars:
    - Pull almost all Appointment (Events) properties. (currrently working on 
this...)
    - Most Tasks (TODO) properties are the same as Appointments, so this will 
follow shortly after that.

As you can see most of the work I've done is in pulling data from the exchange 
server. I don't think the time that is left on the program will allow me to 
push the same data to the server (Create new messages, push changes, etc...). 
However, I plan to keep working on the project until the first week of 
September when I have to leave where I'm currently at. Then I plan to continue 
(and finish) when I get back home.

For what's left of the summer I plan to work on Calendar messages such as 
Appointments (Events) which I'm almost done with, Tasks (TODOs), and Journals. 
I also plan to add a small user-guide for libmapi++ and if I have time left I'd 
start work on pushing data to the server.

Respectfully,

Alan Alvarez
SGT, USA
_______________________________________________
devel mailing list
devel@openchange.org
http://mailman.openchange.org/listinfo/devel

Reply via email to