Hi all, i'm very happy to say that exchange library is now a little usable.
For those who don't know what is exchange, this library is the client
side of exchange.enlightenment.org , providing a set of API to
interact with the server.

This library now provide:
* a CLI interface (exchange_cli), for shell scripting
* a set of API, for new applications

Here's a cut&paste for the CLI:

[EMAIL PROTECTED]:~$ exchange_cli
Usage:
 exchange_cli -local_theme_name <theme file>
 exchange_cli -local_theme_author <theme file>
 exchange_cli -local_theme_version <theme file>
 exchange_cli -local_theme_license <theme file>
 exchange_cli -local_theme_check_update <theme file>
 exchange_cli -remote_theme_id <theme name>
 exchange_cli -remote_theme_author <theme name>
 exchange_cli -remote_theme_license <theme name>
 exchange_cli -remote_theme_version <theme name>
 exchange_cli -remote_theme_description <theme name>
 exchange_cli -remote_theme_url <theme name>
 exchange_cli -remote_theme_thumbmnail <theme name>
 exchange_cli -remote_theme_screenshot <theme name>
 exchange_cli -remote_theme_user_id <theme name>
 exchange_cli -remote_theme_created_at <theme name>
 exchange_cli -remote_theme_updated_at <theme name>
[EMAIL PROTECTED]:~$

Here's a cut&paste for the API:

// startup/shutdown functions
EAPI int  exchange_init(void);
EAPI int  exchange_shutdown(void);

// local themes functions
EAPI char *exchange_local_theme_name_get(const char *file);
EAPI char *exchange_local_theme_author_get(const char *file);
EAPI char *exchange_local_theme_license_get(const char *file);
EAPI char *exchange_local_theme_version_get(const char *file);
EAPI int  exchange_local_theme_check_update(const char *file);

// remote themes functions
EAPI int  exchange_remote_theme_id_get(const char *theme_name);
EAPI char *exchange_remote_theme_author_get(const char *theme_name);
EAPI char *exchange_remote_theme_license_get(const char *theme_name);
EAPI char *exchange_remote_theme_version_get(const char *theme_name);
EAPI char *exchange_remote_theme_description_get(const char *theme_name);
EAPI char *exchange_remote_theme_url_get(const char *theme_name);
EAPI char *exchange_remote_theme_thumbnail_get(const char *theme_name);
EAPI char *exchange_remote_theme_screenshot_get(const char *theme_name);
EAPI int  exchange_remote_theme_user_id_get(const char *theme_name);
EAPI char *exchange_remote_theme_created_get(const char *theme_name);
EAPI char *exchange_remote_theme_updated_get(const char *theme_name);

I know that there's a lot of work that must be done to complete the
library, but it is usable, uses autofoo, builds without error and
seems (my tests) don't have leaks or segv.
Atm the best use is to check for updates for a theme by the CLI (real example):

[EMAIL PROTECTED]:~$ exchange_cli -remote_theme_version Cerium
Theme: Cerium, version: 1.1
[EMAIL PROTECTED]:~$ exchange_cli -local_theme_version ~/.e/e/themes/cerium.edj
Theme: /home/massi/.e/e/themes/cerium.edj, version: 1.0
[EMAIL PROTECTED]:~$ exchange_cli -local_theme_check_update 
~/.e/e/themes/cerium.edj
Theme: /home/massi/.e/e/themes/cerium.edj, update available: YES!

Next steps:
* creating a new function that returns a list of all data related to
remote theme
* complete, for local theme, same work on remote theme (get all data
one by one / list)
* add Doxy
* then follow the guidelines indicated in a thread on e-devel

The code can be found here:
http://staff.get-e.org/?p=users/mcalamelli/exchange.git;a=summary

Here's the feed, to get updates (i'll mail on lists ony for VERY big changes):
RSS -> http://staff.get-e.org/?p=users/mcalamelli/exchange.git;a=rss
ATOM -> http://staff.get-e.org/?p=users/mcalamelli/exchange.git;a=atom

Feel free to test, use and abuse, and maybe merge in proto... :)

Ciao

Massimiliano

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
enlightenment-users mailing list
enlightenment-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-users

Reply via email to