Commit graph

49 commits

Author SHA1 Message Date
Patrick Ohly 98f83c5b3c syncevo-dbus-server/syncevolution-http-server.py: SyncML HTTP server
This uses the new combined client/server Synthesis engine. When
building shared modules, the engine is opened dynamically only
while needed, thus reducing overall memory consumption.

The HTTP server is implemented in Python, using the the 'twisted'
server framework because it can use the same glib event loop as the
D-Bus binding. This allows us to keep the same event loop running
forever and react to both kinds of events.

The server takes a base url (including host name and port)
and a default configuration as name. The host name is currently
ignored. It could be used to bind to a specific interface.

The path is what a client has to use as part of his sync URL
to synchronize against the default configuration. In addition
the client can add another path to select that as his server
configuration.

For example, if the script is called with
   http://localhost:9000/syncevolution default
then syncURL = http://localhost:9000/syncevolution will synchronize
against the configuration called "default". With syncURL =
http://localhost:9000/syncevolution/my_server, it will
synchronize against "my_server".
2009-10-07 18:15:45 +02:00
Chen Congwu 35ee636619 Dynamic loadable backends: repackage libsyncevolution to enable dynamic loadable backends
Install head files to a standard path, the remaining dependencies are
synthesis and boost
client-test is portable when ENABLE_MODULES is defined, no longer link to
backends libraries.

Add --enable-developer-mode, in which mode the backend scan path will be
under current build directory for development purposes.
2009-09-23 07:35:25 +02:00
Patrick Ohly 7849ce5703 HACKING: added remark about LINGUAS and Synthesis .so versions 2009-08-26 15:48:53 +02:00
Patrick Ohly c602de1c3e testing: skip certain tests by listing them in CLIENT_TEST_SKIP
The only way that I found not to execute a test was not to register
it in CPPUnit. FilterTest() does this by replacing a valid test
or test group with a dummy one, SkipTest, which just prints the
test name and that it is skipped.

Registering tests has to be intercepted at multiple levels:
- CPPUNIT_TEST in test suites
- ADD_TEST in ClientTest
- addTest in ClientTest

Not currently intercepted are complete test suites (CPPUNIT_TEST_SUITE).

The main purpose of this patch is to avoid running the time consuming
suspend and interrupt tests, but this feature might also be useful for
other tests, which is why it was implemented in a more general way.
2009-07-13 18:31:48 +02:00
Patrick Ohly 50f95180b5 logging: set SYNCEVOLUTION_DEBUG to disable redirection
The environment variable SYNCEVOLUTION_DEBUG is checked by
LogRedirect itself (instead of in its caller) so that all
users of the class behave identically. The value of the variable
currently doesn't matter. Later it might also be used to enable
or disable specific debugging aspects.
2009-07-10 08:43:37 +02:00
Patrick Ohly 4af8e2c03d docs + version: updated for 0.9 beta 1 2009-04-06 17:42:28 +02:00
Patrick Ohly b75f8c952d configure: fixed some checks (glib, boost, EDS)
Configure didn't check correctly for "glib": it invoked glib-config
but didn't notice when that command was missing. Removed that
check as it has been superseeded by "glib-2.0" anyway.

Boost wasn't checked for at all, although the Boost header files are
no longer bundled.

libecal and libebook are now obligatory unless explicitly disabled.
This catches a common mistake made by users: previously syncevolution
would compile, but without Evolution support. The drawback is that
on platforms without Evolution, support for it now must be disabled
explicitly.
2009-03-27 16:22:31 +01:00
Patrick Ohly 4ae40026a4 configuration: removed obsolete config options and added WBXML
Removed the "encoding" source option. It was of dubious usefulness
with Funambol and has meaning with Synthesis at all.

Removed dead code in EvolutionSyncConfig.

Added "enableWBXML" sync option. WBXML is used by default, but for
debugging disabling it might be useful: dumping WBXML doesn't seem
to work reliably.

Most Client::Sync tests use the default encoding, usually WBXML unless
changed via CLIENT_TEST_XML=1. Client::Sync::*::testItemsXML always
uses XML and Client::Sync::*::testItems always WBXML.
2009-03-25 14:43:49 +01:00
Patrick Ohly d71a296525 dist: fixed distcheck, bundle Synthesis
When --with-synthesis-src is used, then the Synthesis source code is compiled
automatically and included in a .tar.gz.

Added some missing EXTRA_DIST files.
2009-03-25 14:43:44 +01:00
Patrick Ohly 43f2c5fec5 removed all references to Funambol header files and definitions 2009-03-25 14:43:35 +01:00
Patrick Ohly bcc349a569 transport agent: replaced Funambol TransportAgent with own libsoup/libcurl classes
The new TransportAgent base class supports sending a message and waiting
for a reply. Implementations which block in either the send() (CurlTransportAgent)
or the wait() (SoupTransportAgent) call are possible.

The default implementation is compiled into libsyncevolution. configure
picks libsoup if available, otherwise libcurl. The default can be changed
via --enable-libcurl/libsoup, including not compiling any transport. Normally
that triggers a configure error because it leads to an unusable syncevolution
binary.

Derived EvolutionSyncClients can change the default via createTransportAgent().
2009-03-25 14:43:34 +01:00
Patrick Ohly 670d3d1011 HACKING: improved Synthesis instructions to work with --enable-shared 2009-03-25 14:43:33 +01:00
Patrick Ohly de8ee098e7 use Synthesis SDK to run a sync session
Copying SyncEvolution settings into the corresponding
Synthesis properties is implemented. A "syncevolution.xml"
with the client configuration must be in the current
directory. Currently it contains no configuration
for SyncEvolution data backends, only for SDK_textdb
addressbook.

As there is no synthesis.pc yet, use SYNTHESIS_CFLAGS=-Ifoo/include
and SYNTHESIS_LIBS=-Lfoo/lib -lsynthesissdk where foo is the
installation prefix of the Synthesis SDK.
2009-03-25 14:43:32 +01:00
Patrick Ohly 894c61951e improved handling of Funambol client library source
configure checks out the right source automatically. Subversion
and git are supported. When given an existing directory with sources,
out-of-tree compilation is used instead of making a copy first.


git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@744 15ad00c4-1369-45f4-8270-35d70d36bdcd
2008-09-14 17:52:08 +00:00
Patrick Ohly 57c7976a96 use libcurl on all platforms
git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@742 15ad00c4-1369-45f4-8270-35d70d36bdcd
2008-08-29 21:27:27 +00:00
Patrick Ohly ef6545eb28 version number must go into configure-pre.in
git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@741 15ad00c4-1369-45f4-8270-35d70d36bdcd
2008-08-29 19:23:54 +00:00
Patrick Ohly e9922b617c version 0.8
git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@740 15ad00c4-1369-45f4-8270-35d70d36bdcd
2008-08-29 19:12:02 +00:00
Patrick Ohly 319a873b57 removed obsolete LIBDBUS hack
git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@729 15ad00c4-1369-45f4-8270-35d70d36bdcd
2008-08-17 08:50:42 +00:00
Patrick Ohly 05222fde44 corrected outdated config path
git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@703 15ad00c4-1369-45f4-8270-35d70d36bdcd
2008-08-03 20:23:02 +00:00
Patrick Ohly adb587aba9 added BINSUFFIX for Mac OS X
git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@676 15ad00c4-1369-45f4-8270-35d70d36bdcd
2008-07-14 18:40:52 +00:00
Patrick Ohly 1aa93e6cb2 simplified compiling for ppc/386 on Mac OS X
git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@668 15ad00c4-1369-45f4-8270-35d70d36bdcd
2008-07-12 18:43:17 +00:00
Patrick Ohly b832ddaaed Maemo no longer uses patched libdbus
git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@605 15ad00c4-1369-45f4-8270-35d70d36bdcd
2008-04-20 12:38:19 +00:00
Patrick Ohly 707c2226e4 generate ChangeLog from Subversion log
git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@597 15ad00c4-1369-45f4-8270-35d70d36bdcd
2008-04-19 09:11:53 +00:00
Patrick Ohly d0885a01b0 added comment about pre-releases
git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@589 15ad00c4-1369-45f4-8270-35d70d36bdcd
2008-04-17 18:19:03 +00:00
Patrick Ohly 173f7f0097 added SYNCEVOLUTION_CXXFLAGS: use it to set flags for SyncEvolution source files
git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@536 15ad00c4-1369-45f4-8270-35d70d36bdcd
2008-03-24 21:41:20 +00:00
Patrick Ohly f7a9eb592d beware of the need to update 'stable' and 'chinook' repositories when releasing for Maemo
git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@493 15ad00c4-1369-45f4-8270-35d70d36bdcd
2008-02-02 21:32:48 +00:00
Patrick Ohly 420afaf14b Replaced "is a" SQLiteSyncSource with "has a" SQLiteUtil instance in SQLiteContactSource.
This is a first step towards deriving SQLiteContactSource from a sync source base
class which does change tracking.


git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@483 15ad00c4-1369-45f4-8270-35d70d36bdcd
2008-01-12 23:22:43 +00:00
Patrick Ohly 93e722f290 added list of debug packages
git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@467 15ad00c4-1369-45f4-8270-35d70d36bdcd
2007-12-06 18:53:30 +00:00
Patrick Ohly 2ec73e7381 separated compile and release instructions
git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@448 15ad00c4-1369-45f4-8270-35d70d36bdcd
2007-11-08 21:19:59 +00:00
Patrick Ohly e92b175b0d added compile/packaging information
git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@404 15ad00c4-1369-45f4-8270-35d70d36bdcd
2007-10-07 19:24:54 +00:00
Patrick Ohly 4aa5372687 port to iPhone: lots of hacks and debug output, none of the multiprops supported yet (use unknown format in API)
git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@399 15ad00c4-1369-45f4-8270-35d70d36bdcd
2007-10-04 20:54:27 +00:00
Patrick Ohly 937ed5ffc3 # release 0.6
git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@375 15ad00c4-1369-45f4-8270-35d70d36bdcd
2007-07-09 20:24:21 +00:00
Patrick Ohly 83cfd5f201 updated testing instructions
git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@369 15ad00c4-1369-45f4-8270-35d70d36bdcd
2007-06-19 17:36:45 +00:00
Patrick Ohly 614d3b5210 - improved logging: log file and backup can be avoided with logdir=none,
loglevel is configurable
- fixed off-by-one counting of months in backup directory names
- only one example configuration per server, users typically do not
  need the _1/2 suffices and the testing system no longer has to be
  configured manually either
- documented the switch from the original SyncEvolution testing to its
  successor, the generic Funambol C++ client testing framework


git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@362 15ad00c4-1369-45f4-8270-35d70d36bdcd
2007-04-21 12:33:23 +00:00
Patrick Ohly 5cbc7c0e6d added note about building Maemo package with fakeroot
git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@359 15ad00c4-1369-45f4-8270-35d70d36bdcd
2007-04-15 13:41:56 +00:00
Patrick Ohly 1bbbec4440 various release preparations
git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@341 15ad00c4-1369-45f4-8270-35d70d36bdcd
2007-03-26 20:35:08 +00:00
Patrick Ohly 0a440c66ad - fixed building synccompare for Maemo
- added/fixed rules to build for Maemo
- add new Algorithm::Diff files to source distribution


git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@336 15ad00c4-1369-45f4-8270-35d70d36bdcd
2007-03-25 20:19:42 +00:00
Patrick Ohly 96b85e9457 allow running multiple tests by specifying them on the command line
git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@279 15ad00c4-1369-45f4-8270-35d70d36bdcd
2006-11-03 17:40:34 +00:00
Patrick Ohly 91024bd611 added note about .patches
git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@200 15ad00c4-1369-45f4-8270-35d70d36bdcd
2006-08-06 15:48:20 +00:00
Patrick Ohly 5cd36ad7f3 cleaned up error reporting and exception handling
git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@105 15ad00c4-1369-45f4-8270-35d70d36bdcd
2006-05-26 12:49:19 +00:00
Patrick Ohly 65026bd0f7 added support for testing against www.scheduleworld.com
git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@85 15ad00c4-1369-45f4-8270-35d70d36bdcd
2006-04-24 18:49:03 +00:00
Patrick Ohly ea18379245 test names have changed
git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@76 15ad00c4-1369-45f4-8270-35d70d36bdcd
2006-04-17 17:53:42 +00:00
Patrick Ohly 0e977a2b2e removed pregenerated autotools files from CVS - use autogen.sh
git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@34 15ad00c4-1369-45f4-8270-35d70d36bdcd
2006-03-12 10:10:44 +00:00
Patrick Ohly 7af6713cd7 integrated compilation of Sync4j C++ client library + distribution of its source
git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@33 15ad00c4-1369-45f4-8270-35d70d36bdcd
2006-03-12 09:48:59 +00:00
Patrick Ohly 1301d3edac preparations for a release as 'SyncEvolution'
git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@32 15ad00c4-1369-45f4-8270-35d70d36bdcd
2006-03-11 19:23:43 +00:00
Patrick Ohly 09c19a61df allow running just one test
git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@21 15ad00c4-1369-45f4-8270-35d70d36bdcd
2006-01-21 17:13:42 +00:00
Patrick Ohly 641dbfee5c mention setup of unit testing
git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@19 15ad00c4-1369-45f4-8270-35d70d36bdcd
2006-01-21 15:52:40 +00:00
Patrick Ohly 274f505aaf added unit testing for syncing, needs some support in core classes (overriding sync mode, full lists)
git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@14 15ad00c4-1369-45f4-8270-35d70d36bdcd
2005-12-11 17:13:36 +00:00
Patrick Ohly 3bc37288c2 first working version of SyncSource for Evolution contacts (requires Sync4j C++ API 2.0, not currently available)
added unit testing


git-svn-id: https://zeitsenke.de/svn/SyncEvolution/trunk@3 15ad00c4-1369-45f4-8270-35d70d36bdcd
2005-11-05 22:04:33 +00:00