2086
|
1 This file is intended to be a list of source incompatible changes
|
|
2 that have been made since icqlib-1.0.0.
|
|
3
|
|
4 2000-12-19: ICQLINKs have been reworked. Members that provide no useful
|
|
5 information to the library client have been moved to a private structure
|
|
6 attached to the public ICQLINK, ICQLINK_private. See icqlib.h. ICQLINK
|
|
7 memory management now must be performed by the library (which is probably
|
|
8 how it should have always been), with icq_ICQLINKNew and
|
|
9 icq_ICQLINKDelete.
|
|
10
|
|
11 2000-12-19: Your application is no longer responsible for allocating and
|
|
12 freeing the ICQLINK structure, rather, it is returned as the result of a
|
|
13 icq_ICQLINKNew call. icq_ICQLINKDelete will free an ICQLINK structure.
|
|
14
|
|
15 2000-12-19: icq_Init and icq_Done have been removed. Use icq_ICQLINKNew
|
|
16 and icq_ICQLINKDelete instead. In addition, icq_ICQLINKNew has gained an
|
|
17 additional parameter: a flag to turn TCP on or off.
|
|
18
|
|
19 2001-01-16: The chat and file request/session interface has been
|
|
20 significantly reworked. icq_RequestNotify now will return
|
|
21 ICQ_NOTIFY_SUCCESS as soon as the file or chat *request* is complete, but
|
|
22 not before returning a handle to an icq_ChatSession or icq_FileSession.
|
|
23 See ICQ_NOTIFY_CHATSESSION and ICQ_NOTIFY_FILESESSION. All future
|
|
24 operations on the chat or file session should be performed using this
|
|
25 handle and the appropriate icq_ChatSession* or icq_FileSession* functions.
|
|
26
|
|
27 Old function New function
|
|
28
|
|
29 icq_TCPCloseChat icq_ChatSessionClose
|
|
30 icq_TCPSendChatData icq_ChatSessionSendData
|
|
31 icq_TCPSendChatData_n icq_ChatSessionSendData_n
|
|
32
|
|
33 In addition, notification messages for chat and file sessions come back
|
|
34 through two new callbacks: icq_ChatNotify and icq_FileNotify.
|
|
35 icq_ChatSession has also been exposed in the public interface, as well as
|
|
36 a number of chat status constants.
|
|
37
|
|
38 Old notification New notification
|
|
39
|
|
40 icq_RequestNotify/ICQ_NOTIFY_CHAT icq_ChatNotify/CHAT_NOTIFY_STATUS
|
|
41 icq_RequestNotify/ICQ_NOTIFY_CHATDATA icq_ChatNotify/CHAT_NOTIFY_DATA
|
|
42 icq_RequestNotify/ICQ_NOTIFY_SUCCESS icq_ChatNotify/CHAT_NOTIFY_CLOSE
|
|
43
|
|
44 icq_RequestNotify/ICQ_NOTIFY_FILE icq_FileNotify/FILE_NOTIFY_STATUS
|
|
45 icq_RequestNotify/ICQ_NOTIFY_FILEDATA icq_FileNotify/FILE_NOTIFY_DATAPACKET
|
|
46 icq_RequestNotify/ICQ_NOTIFY_SUCCESS icq_FileNotify/FILE_NOTIFY_CLOSE
|
|
47
|
|
48 Finally, some fake file status values now come through separate
|
|
49 FILE_NOTIFY events, and one has been renamed:
|
|
50
|
|
51 Old status New Notification/Status
|
|
52
|
|
53 FILE_STATUS_NEW_SPEED icq_FileNotify/FILE_NOTIFY_NEW_SPEED
|
|
54 FILE_STATUS_STOP_FILE icq_FileNotify/FILE_NOTIFY_STOP_FILE
|
|
55 FILE_STATUS_INITIALIZED FILE_STATUS_INITIALIZING
|
|
56
|
|
57 2001-01-16: icqlib now reports when it needs read and write ready
|
|
58 notifications for sockets through icq_SocketNotify. Install a callback
|
|
59 for the icq_SocketNotify function, which takes the following parameters:
|
|
60
|
|
61 void (*icq_SocketNotify)(int socket, int type, int status);
|
|
62
|
|
63 socket will be the socket number, type will be either ICQ_SOCKET_READ or
|
|
64 ICQ_SOCKET_WRITE, and status will be either true or false, true indicating
|
|
65 icqlib now needs notification, and false indicating icqlib no longer needs
|
|
66 notification. Your application should use this to install some sort of
|
|
67 socket notification object (e.g., in kicq, we use a QSocketNotifier).
|
|
68 When the socket is ready, you should invoke the new
|
|
69 icq_HandleReadySocket(socket, type) function.
|
|
70
|
|
71 This mechanism is completely optional - you can simply set up a timer to
|
|
72 call icq_Main every 1/10 of a second or so. This has the disadvantage of
|
|
73 wasting CPU cycles and poor TCP file transfer performance, though.
|
|
74
|
|
75 2001-02-20: The icq_SetTimeout callback has been moved outside of the
|
|
76 ICQLINK structure, and icq_HandleTimeout no longer requires an ICQLINK
|
|
77 parameter.
|
|
78
|
|
79 2001-03-03: ICQLINK is now icq_Link, to fit better with the icqlib
|
|
80 naming conventions. ICQLINK should be considered depreciated - it is
|
|
81 still supported for now, but may disappear in a future icqlib release.
|