3 CacheSyncSource.h, CacheSyncSource.cpp
5 ArrayListKeyValueStore.h, ArrayListKeyValueStore.cpp
8 PropertyFile.h, PropertyFile.cpp
9 BriefcaseCacheSyncSource.h, BriefcaseCacheSyncSource.cpp
11 These are to try the cache sync source that keeps track about the changes on the
12 items based on the crc of the content of the items
14 * updated the Makefile.am to compile all new stuff
15 * updated windadapter and posixadapter
16 * applied Patrick's patch on SyncItem (the const get methods)
17 * updated SyncSource interface
21 - toccy: first add of base classes and adapters for new Symbian client.
24 - toccy: * 'lastErrorMsg' is now a StringBuffer
25 * 'lastErrorMsg' and 'lastErrorCode' are no more global,
26 they must be accessed only by provided get/set methods.
27 * removed char[] in log.cpp, using StringBuffer, 'logmsg' is now deprecated
30 - toccy: windows/http/GPRSConnection.cpp:
31 revised the function to estabilish GPRS connection, used by WM clients.
35 Now we pass to the formatter an ArrayList of CtCap to handle different capabilities.
36 In SyncSourceConfig there's a new method called addCtCap to add an element to the
38 This method has 4 parameters CtType VerCt an arraylist of properties and an int with
39 3 status to handle the FieldLevel param (FLEVEL_DISABLED, FLEVEL_ENABLED,
41 CtCype VerCt and FieldLevel are optional.
42 If one of this parameters is not set the method use the default one setted
45 getCtCaps returns a reference to the ArrayList of CtCaps
48 - teo: removed a bug related to the creation and the destruction of the operands arraylist
51 removed all the embedded tests in client.cpp.
52 all the tests in the old client.cpp are moved in the corrisponding class and corrected to
53 work properly with the cppunit framework
55 - toccy: Added support for timezones, for SIF events, under Windows branch (windows/vocl).
56 SIF version upgraded to "1.1"
59 - toccy: Added support for timezones, for vCalendar 1.0, under Windows branch (windows/vocl).
60 From Client to Server, recurring events are sent out with timezone informations
61 if the Client fills the tzInfo structure.
62 From Server to Client, events without timezones are still accepted (like before).
65 - toccy: merged differences from "b_v65"
68 - toccy: windows/vocl/WinNote: added parser and formatter for vNote 1.1
71 - Changed headers of source files (AGPL)
74 - gazza: unit test refactoring
77 - teo: syncml parser unit tests
78 - gazza: code refactoring - indirection of SyncManager members 'commands'
79 and 'mappings' reduced of one level.
82 - gazza: Unit tests updated - the testcases are under test, under the same
83 folder structure of the sources. The windows solution and the
84 unix makefile have been updated accordingly.
87 - toccy: WinTransportAgent - added support for http status codes 402 & 403
90 - pohly: POSIX configuration files now strip trailing spaces
91 at the line end; previously this was preserved, but
92 this turned out to confuse many user (unintentional
93 space after password, additional carriage-return...)
96 Funambol SDK C++ 6.5.1
97 -----------------------
100 - magi: fixed minor bug in parsing mail encoding and date field.
103 - gazza: fixes applied for 64 bit compatibility. Test client updated.
105 - toccy: WinTransportAgent: removed 'compression' check when reading
106 response, to accept compressed data even if 'compression'
109 Funambol SDK C++ 6.5.0
110 -----------------------
113 - toccy: Improved vCalendar parser/formatter (WinEvent.cpp) to handle all
115 - gazza: Removed old Palm defines from the header files.
116 Minor fixes for Posix build.
117 Uncompress in WinTransportAgent more robust when some headers
121 - magi: Added WinContactSif class. It is used to handle the SIF properties
122 in a different way. So it is possible to handle also other likes
124 Commented code in the Converter class for the b64 binary handling
125 Added in Property class the way to set a property without any conversion
126 WinContact: added photo handling in vacard. Modified the returned
127 value in toString method
128 WinItem: added the crc encode function
131 - teo: ArrayList modified to improve the performance.
132 The method size() return a value that is incremented
133 and decremented everytime there's an add or a remove.
134 The method add is also improved when there is an add in the last
135 element (a sort of pushback)
136 Removed the remove method now there's only the method
137 removeElementAt(index) in SyncSourceReport in the
138 SyncSourceReport::addItem method was removed a for cycle that
139 check if there is a element clone of the one to add.
140 This for cycle is very negative for the performance and useless.
143 - toccy: improved parser/formatter of vCard for windows clients (WinContact)
146 - toccy: first add: WinObject classes used by Windows clients to manage
148 - toccy: added 'stringUtils.cpp' and 'timeUtils' utils functions for
152 - toccy: win32 and winmobile source files has been unified under 'windows' dir.
153 WinTransportAgent reworked to be used both by Win32 and Winmobile
155 - toccy: devinfo is sent with informations for all sources, not only the
156 ones currently synchronized.
157 So it will not be sent again if we add/remove a source from
161 Funambol SDK C++ 6.0.9
162 -----------------------
165 - gazza: old platforms removed.
166 - magi: copyright header updated.
167 - magi: fixed suport for obsolete RFC2822 date syntax
168 - magi: fixed enpty line at the beginning of the message
169 - magi: updated ant build
170 - teo: demo client updated
171 - teo: compression of the tcp stream made configurable (for the adapter
172 with compression support)
173 - pohly: tests updated
175 Funambol SDK C++ 6.0.8
176 -----------------------
179 - toccy: Fixed vObject parser, to manage empty fields sent by server (now a property with empty value is generated)
182 Funambol SDK C++ 6.0.7
183 -----------------------
186 - toccy: Win32TransportAgent, added check for windows offline mode (IExplorer).
187 If is offline, call 'InternetGoOnline' to ask the user to connect (retry 5 times)
190 Funambol SDK C++ 6.0.6
191 -----------------------
194 - magi: fixed return codes in WMTransportAgent
197 - toccy: fixed bug inside SyncMLBuider::prepareAlertStatus(), caused crash if (authStatusCode < 400)
200 - toccy: changed 'maxMsgSize' default value to 512k
201 'responseTimout' from configuration is now passed to transportAgent constructor
204 - toccy: fixed some memory leaks
207 Funambol SDK C++ 6.0.4
208 -----------------------
211 - gazza: potential null pointer access fixed in ArrayList
212 - gazza: WMTransportAgent reworked
215 - toccy: Win32TransportAgent - added support for gzip compression on SyncML
217 - toccy: use maxMsgSize to send items instead of maxModPerMsg
218 - gazza: use maxMsgSize to send mappings.
221 - toccy: Win32TransportAgent - fixed bug #306633: Content-length not
222 available cause client to crash
225 Funambol SDK C++ 6.0.2
226 ------------------------
232 Funambol SDK C++ 6.0.1
233 ------------------------
235 - toccy: Win32TransportAgent - added a timeout of 10min to receive a response from server during sync.
238 - magi: fixed emailMessage issues in decoding mail fields with tab char inside
241 - magi: modified windows mobile DeviceManagementNode. It uses the RegFlushKey instruction to store
242 the settings permanently also after a soft release.
243 Modification in EmailData to resume the Ext tag
246 - magi: fixed objectweb bug #306397. Modification in SyncManager.cpp to handle the refresh-from-client
247 and update-from-client.
248 Added modification in EmailData parsing to handle properly the subject decoding.
249 Commented the Ext feature for V6
252 - magi: merge modifications from branch b_funambol31.
253 Fixed SyncManager and SyncmlProcessor issues to handle
254 begin and end sync source events
255 Improved EmailData and MailMessage classes
256 Fixed Parser.cpp issue to avoid bug if the Data contains syncml log
257 Improved ppcTransportAgent to handle Server error code 500
258 Log.cpp modified for GMT +00:00 instead of GMT -00:00
261 - magi: merge modifications from branch b_funambol31.
262 modified LOG timestamp for posix, winmobile and win32 platform.
263 Now it get the gmt info.
264 Fixed SyncManager for update_remote_data syncmode
266 - magi: merge modifications from branch b_funambol31.
267 Applied Patrick's patch to handle the key with non permitted xml chars.
268 see bug http://forge.objectweb.org/tracker/index.php?func=detail&aid=306335&group_id=96&atid=100096
273 - magi: merge modifications from branch b_funambol31.
274 fixed in SyncManager credentialInfo property to handle username/password greater then 256 chars
275 fixed MaxObjSize position. It has to be put in every source Alert and not only in the Header
276 The header is fine for the DM but not for DS. Without the fix the MaxObjSize was not consider by
278 improved FileData. fixed memory leak
279 added new constructor in StringBuffer
283 - toccy: added tolerance of 6% on size of incoming items in case of large object
284 improved Win32TransportAgent: added http error message explanations associated to error codes
285 added an array of syncsource names in SyncManager: "sortedSourcesFromServer" ....
288 - toccy: fixed Win32TransportAgent with a sanity check on rensponse read (proxy related issue)
289 moved 'encryption' property from AccessConfig to SyncSourceConfig (it's a source property)
290 encryption changed from boolean to string ("des" is the only accepted value now)
291 SyncManagerConfig::getSyncSourceConfig() now returns a pointer to internal object
294 - pholy: added Large Object support (items splitted if bigger than maxMsgSize)
295 moved encoding/decoding of item data into SyncItem::changeDataEncoding
296 added SyncManager::getItem(), a wrapper around the various SyncItem methods for outgoing items
299 - toccy: first add of fileSync project: sync of generic files from a directory (only slow sync now)
300 added SyncReport: owned by SyncClient, collect all synchronization results
301 - lastErrorCode/Msg is copied into SyncReport
302 - sources error/state is stored in each SyncSourceReport
303 - each item status is stored in arraylists inside each SyncSourceReport
306 - magi: added SyncSource events for: NOC by server - NOC by client - SyncMode requested
307 added SyncClient methods to alert user if slow sync requested (empty default implementation)
310 - toccy: replace all: [BCHAR -> char] [wchar_t -> WCHAR]
311 removed unused functions (bsprintf, bstrcpy,...)
314 - toccy: config object passed to SyncClient as parameter of sync() methods
315 added properties 'version' and 'supportedTypes' in SyncSourceConfig
316 adapted win32 example to new API logic (SyncClient-config)
319 - pholy: restructured DMTClientConfig with smaller functions
322 - toccy: EVENT HANDLING: added firing events in SyncManager/TransportAgents for event handling
323 removed utf8len/utf82wc/wc2utf8 functions
324 modified SyncManagerConfig to set a SyncSourceConfig not already present in config
325 added syncUrl property to generate devInfHash (if syncUrl changes, devInfHash changes)
328 - toccy: applied devinfo.patch (pohly) and changed SyncClient/config logic:
329 * added Client capabilities handling (DevInf tag): 'createDefInf()' inside SyncManager.prepareSync()
330 * changed DMTree structure: now settings under 5 nodes (Auth-Conn-DevInfo-DevDetail-Ext)
331 * Sync4jClient class renamed as SyncClient
332 * config object managed by client (not by SyncClient)
333 * the config object passed to SyncClient and then to SyncManager is a SyncManagerConfig (was DMTClientConfig)
334 * added method SyncClient::sync(BCHAR** sourceNames = NULL)
335 * added DeviceConfig class for all device config settings
336 * added methods in SyncManagerConfig: 'getDeviceConfig()' and 'setDeviceConfig(&c)'.
337 * added DefaultConfigFactory class to generate default Config objects in case that the configuration can't be read correctly.
338 * added SyncSourceConfig object inside SyncSource (settings copied from config in the constructor)
339 * userAgent string generated from 'mod + swV' properties if the 'userAgent' property is empty
340 * added methods 'readDeviceConfig()' 'saveDeviceConfig()' in DMTClientConfig class.
343 - magi: modified PPC2003TransportAgent. The FunctionHttpSendRequest doesn't set lastErrorCode anymore
346 - magi: applied patches sync-mode-names,item-type,64bit-errors,synthesis,single-tag.
347 modified Credential LocName issue instead of passing parameter to some methods
348 removed <![CDATA[ ... ]]> FileData and FolderData formatter because the CDATA is in the Formatter.cpp
351 - toccy: improved Win32TransportAgent. Fixed proxy authentication process.
354 Funambol SDK C++ 3.0.20
355 -------------------------
358 - magi: improved PocketPC Transport Agent. It avoids the blocks if server respons fails.
359 improved PocketPC Transport Agent and Win32: no cookies sent to server.
360 After a time out (5 minutes by default) it break the connection. It improves network reliability
361 Fixed Formatter.cpp bug. Error in deleting an object.
364 Funambol SDK C++ 3.0.19
365 -------------------------
368 - magi: fixed memory leaks in all code
369 improved PocketPC Transport Agent. It tries to sent request to the server if it doesn't respond
372 Funambol SDK C++ 3.0.18
373 -------------------------
375 305364 endless loop if second of two sync sources fails in SyncSource::beginSync()
376 305474 patch for memory leaks in VOCL
378 - toccy: vocl fix about folding feature, escape special char and b64 encoding
379 improved StringBuffer stability
380 fixed some memory leaks
381 added proxy authentication parameters used in Win32 Transport Agent
384 Funambol SDK C++ 3.0.17
385 -------------------------
387 Enanchement: Adding the version number to the user agent
389 Funambol SDK C++ 3.0.16
390 -------------------------
393 305019 Ordering of elements in File object incorrect
394 305020 Writeable attribute not generated
395 305155 WString::replace - write-after-free due to dangling pointer
396 304786 ampersand as part of vcard -> XML encoding problems
398 Funambol SDK C++ 3.0.15
399 -------------------------
401 - setHeaders() and getHeaders() methods in MailMessage.cpp
402 - fix error on StringBuffer() on empty string assignment.
405 - pohly: fixed Linux build
406 - pohly: #304771: parsing vcards with quotation marks
408 - pohly: #304829: mixing quoted-printable encoding of
409 linebreaks with non-ASCII characters
411 Funambol SDK C++ 3.0.12
412 -------------------------
413 - SDK is now based on char, and data is transferred transparently
414 - Handle charset different from UTF-8 in the data
417 Funambol SDK C++ 3.0.11
418 -------------------------
420 - Fixed email date parsing
421 - Fixed refresh from client/one-way from client
422 - Added FileData object (OMA 1.2)
425 - Fixed bug 304701 (Refresh or slow sync on Briefcase loose file names)
428 - pohly: a =0A=0D must be translated into a \n on Linux (VObject::toNativeEncoding())
431 Funambol SDK C++ 3.0.6
432 -------------------------
437 Funambol SDK C++ 3.0.0
440 -------------------------
444 - magi: added sourceParent and targetParent into SyncItem, SyncManager, Parser and Formatter
447 - gazza: Class EmailData for SyncML E-Mail transport
448 Fix crash in Sync4jClient on multiple calls
449 New methods on StringBuffer and ArrayList
450 Completed MailMessage format (multipart)
453 - gazza: implemented class MailMchangeslog.txtessage, with basic MIME parsing, for e-mail
454 sync. Classes StringBuffer and ArrayList enhanced with new
455 operators and methods for use in the parser.
456 SyncManager now checks beginSync() retcode.
459 - magi: implemented ONE_WAY_FROM_SERVER, REFRESH_FROM_SERVER in SyncManager
462 - gazza: new DM and DS config structure
465 - gazza: class reordered with platform/module order.
468 - magi: modification in SyncManager.cpp, SyncMLBuilder and SyncMLProcessor for authentication stuffs
471 - magi: modification to ObjectDel.cpp and .h to substitute the NotZeroStringBufferLenght function
472 - gazza: added NotifyProcessor and SyncAlert classes for server alerted notification
475 - magi: added beginSync() and endSync() pure virtual method to the SyncSource
476 modified SyncManager to call there method
477 modified TestSyncSource to implement this method
478 updated DeviceManagementNode for ppc whit new properties
481 - magi: added the authentication basic and md5 process
482 added multimessage process
483 added new package "client"
484 added sync4jclient class
485 added ErrorHandler and LogErrorHandler classes (to be implemented)
486 modification of syncsources and config interface
487 added new TestSyncSource
488 modification of test client
489 modification of packages:
490 accessConfig, SyncSourceConfig -> spds/common
491 AccessManagementNode, SourceManagementNode -> client/common
492 modification of transportAgent: added properties
495 added conf.reg (under "doc") containing the properties for the configuration (to be moved into the DM tree)
497 Note: currently the api syncs only the first element of the SyncSource array. to be improved