Wed, 19 Sep 2001 06:09:15 +0000
[gaim-migrate @ 2319]
this shouldn't have been here.
| 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. |