wininet: Use INTERNET_SendCallback in ftp.c.
Signed-off-by: Jacek Caban <jacek@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
0d9dcf5c8f
commit
86d14ad17e
|
@ -359,7 +359,7 @@ static BOOL FTP_FtpPutFileW(ftp_session_t *lpwfs, LPCWSTR lpszLocalFile,
|
||||||
|
|
||||||
hIC = lpwfs->lpAppInfo;
|
hIC = lpwfs->lpAppInfo;
|
||||||
|
|
||||||
SendAsyncCallback(&lpwfs->hdr, lpwfs->hdr.dwContext, INTERNET_STATUS_SENDING_REQUEST, NULL, 0);
|
INTERNET_SendCallback(&lpwfs->hdr, lpwfs->hdr.dwContext, INTERNET_STATUS_SENDING_REQUEST, NULL, 0);
|
||||||
|
|
||||||
if (FTP_SendStore(lpwfs, lpszNewRemoteFile, dwFlags))
|
if (FTP_SendStore(lpwfs, lpszNewRemoteFile, dwFlags))
|
||||||
{
|
{
|
||||||
|
@ -393,7 +393,7 @@ static BOOL FTP_FtpPutFileW(ftp_session_t *lpwfs, LPCWSTR lpszLocalFile,
|
||||||
|
|
||||||
iar.dwResult = (DWORD)bSuccess;
|
iar.dwResult = (DWORD)bSuccess;
|
||||||
iar.dwError = bSuccess ? ERROR_SUCCESS : INTERNET_GetLastError();
|
iar.dwError = bSuccess ? ERROR_SUCCESS : INTERNET_GetLastError();
|
||||||
SendAsyncCallback(&lpwfs->hdr, lpwfs->hdr.dwContext, INTERNET_STATUS_REQUEST_COMPLETE,
|
INTERNET_SendCallback(&lpwfs->hdr, lpwfs->hdr.dwContext, INTERNET_STATUS_REQUEST_COMPLETE,
|
||||||
&iar, sizeof(INTERNET_ASYNC_RESULT));
|
&iar, sizeof(INTERNET_ASYNC_RESULT));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -543,7 +543,7 @@ lend:
|
||||||
|
|
||||||
iar.dwResult = bSuccess;
|
iar.dwResult = bSuccess;
|
||||||
iar.dwError = bSuccess ? ERROR_SUCCESS : ERROR_INTERNET_EXTENDED_ERROR;
|
iar.dwError = bSuccess ? ERROR_SUCCESS : ERROR_INTERNET_EXTENDED_ERROR;
|
||||||
SendAsyncCallback(&lpwfs->hdr, lpwfs->hdr.dwContext, INTERNET_STATUS_REQUEST_COMPLETE,
|
INTERNET_SendCallback(&lpwfs->hdr, lpwfs->hdr.dwContext, INTERNET_STATUS_REQUEST_COMPLETE,
|
||||||
&iar, sizeof(INTERNET_ASYNC_RESULT));
|
&iar, sizeof(INTERNET_ASYNC_RESULT));
|
||||||
}
|
}
|
||||||
return bSuccess;
|
return bSuccess;
|
||||||
|
@ -686,7 +686,7 @@ lend:
|
||||||
|
|
||||||
iar.dwResult = (DWORD)bSuccess;
|
iar.dwResult = (DWORD)bSuccess;
|
||||||
iar.dwError = bSuccess ? ERROR_SUCCESS : INTERNET_GetLastError();
|
iar.dwError = bSuccess ? ERROR_SUCCESS : INTERNET_GetLastError();
|
||||||
SendAsyncCallback(&lpwfs->hdr, lpwfs->hdr.dwContext, INTERNET_STATUS_REQUEST_COMPLETE,
|
INTERNET_SendCallback(&lpwfs->hdr, lpwfs->hdr.dwContext, INTERNET_STATUS_REQUEST_COMPLETE,
|
||||||
&iar, sizeof(INTERNET_ASYNC_RESULT));
|
&iar, sizeof(INTERNET_ASYNC_RESULT));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -886,13 +886,13 @@ lend:
|
||||||
{
|
{
|
||||||
iar.dwResult = (DWORD_PTR)hFindNext;
|
iar.dwResult = (DWORD_PTR)hFindNext;
|
||||||
iar.dwError = ERROR_SUCCESS;
|
iar.dwError = ERROR_SUCCESS;
|
||||||
SendAsyncCallback(&lpwfs->hdr, lpwfs->hdr.dwContext, INTERNET_STATUS_HANDLE_CREATED,
|
INTERNET_SendCallback(&lpwfs->hdr, lpwfs->hdr.dwContext, INTERNET_STATUS_HANDLE_CREATED,
|
||||||
&iar, sizeof(INTERNET_ASYNC_RESULT));
|
&iar, sizeof(INTERNET_ASYNC_RESULT));
|
||||||
}
|
}
|
||||||
|
|
||||||
iar.dwResult = (DWORD_PTR)hFindNext;
|
iar.dwResult = (DWORD_PTR)hFindNext;
|
||||||
iar.dwError = hFindNext ? ERROR_SUCCESS : INTERNET_GetLastError();
|
iar.dwError = hFindNext ? ERROR_SUCCESS : INTERNET_GetLastError();
|
||||||
SendAsyncCallback(&lpwfs->hdr, lpwfs->hdr.dwContext, INTERNET_STATUS_REQUEST_COMPLETE,
|
INTERNET_SendCallback(&lpwfs->hdr, lpwfs->hdr.dwContext, INTERNET_STATUS_REQUEST_COMPLETE,
|
||||||
&iar, sizeof(INTERNET_ASYNC_RESULT));
|
&iar, sizeof(INTERNET_ASYNC_RESULT));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1096,7 +1096,7 @@ lend:
|
||||||
|
|
||||||
iar.dwResult = bSuccess;
|
iar.dwResult = bSuccess;
|
||||||
iar.dwError = bSuccess ? ERROR_SUCCESS : ERROR_INTERNET_EXTENDED_ERROR;
|
iar.dwError = bSuccess ? ERROR_SUCCESS : ERROR_INTERNET_EXTENDED_ERROR;
|
||||||
SendAsyncCallback(&lpwfs->hdr, lpwfs->hdr.dwContext, INTERNET_STATUS_REQUEST_COMPLETE,
|
INTERNET_SendCallback(&lpwfs->hdr, lpwfs->hdr.dwContext, INTERNET_STATUS_REQUEST_COMPLETE,
|
||||||
&iar, sizeof(INTERNET_ASYNC_RESULT));
|
&iar, sizeof(INTERNET_ASYNC_RESULT));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1412,7 +1412,7 @@ static HINTERNET FTP_FtpOpenFileW(ftp_session_t *lpwfs,
|
||||||
{
|
{
|
||||||
iar.dwResult = (DWORD_PTR)lpwh->hdr.hInternet;
|
iar.dwResult = (DWORD_PTR)lpwh->hdr.hInternet;
|
||||||
iar.dwError = ERROR_SUCCESS;
|
iar.dwError = ERROR_SUCCESS;
|
||||||
SendAsyncCallback(&lpwfs->hdr, lpwfs->hdr.dwContext, INTERNET_STATUS_HANDLE_CREATED,
|
INTERNET_SendCallback(&lpwfs->hdr, lpwfs->hdr.dwContext, INTERNET_STATUS_HANDLE_CREATED,
|
||||||
&iar, sizeof(INTERNET_ASYNC_RESULT));
|
&iar, sizeof(INTERNET_ASYNC_RESULT));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1421,7 +1421,7 @@ static HINTERNET FTP_FtpOpenFileW(ftp_session_t *lpwfs,
|
||||||
}else {
|
}else {
|
||||||
iar.dwResult = 0;
|
iar.dwResult = 0;
|
||||||
iar.dwError = INTERNET_GetLastError();
|
iar.dwError = INTERNET_GetLastError();
|
||||||
SendAsyncCallback(&lpwfs->hdr, lpwfs->hdr.dwContext, INTERNET_STATUS_REQUEST_COMPLETE,
|
INTERNET_SendCallback(&lpwfs->hdr, lpwfs->hdr.dwContext, INTERNET_STATUS_REQUEST_COMPLETE,
|
||||||
&iar, sizeof(INTERNET_ASYNC_RESULT));
|
&iar, sizeof(INTERNET_ASYNC_RESULT));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1746,7 +1746,7 @@ static BOOL FTP_FtpGetFileW(ftp_session_t *lpwfs, LPCWSTR lpszRemoteFile, LPCWST
|
||||||
|
|
||||||
iar.dwResult = (DWORD)bSuccess;
|
iar.dwResult = (DWORD)bSuccess;
|
||||||
iar.dwError = bSuccess ? ERROR_SUCCESS : INTERNET_GetLastError();
|
iar.dwError = bSuccess ? ERROR_SUCCESS : INTERNET_GetLastError();
|
||||||
SendAsyncCallback(&lpwfs->hdr, lpwfs->hdr.dwContext, INTERNET_STATUS_REQUEST_COMPLETE,
|
INTERNET_SendCallback(&lpwfs->hdr, lpwfs->hdr.dwContext, INTERNET_STATUS_REQUEST_COMPLETE,
|
||||||
&iar, sizeof(INTERNET_ASYNC_RESULT));
|
&iar, sizeof(INTERNET_ASYNC_RESULT));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1906,7 +1906,7 @@ lend:
|
||||||
|
|
||||||
iar.dwResult = (DWORD)bSuccess;
|
iar.dwResult = (DWORD)bSuccess;
|
||||||
iar.dwError = bSuccess ? ERROR_SUCCESS : INTERNET_GetLastError();
|
iar.dwError = bSuccess ? ERROR_SUCCESS : INTERNET_GetLastError();
|
||||||
SendAsyncCallback(&lpwfs->hdr, lpwfs->hdr.dwContext, INTERNET_STATUS_REQUEST_COMPLETE,
|
INTERNET_SendCallback(&lpwfs->hdr, lpwfs->hdr.dwContext, INTERNET_STATUS_REQUEST_COMPLETE,
|
||||||
&iar, sizeof(INTERNET_ASYNC_RESULT));
|
&iar, sizeof(INTERNET_ASYNC_RESULT));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2049,7 +2049,7 @@ lend:
|
||||||
|
|
||||||
iar.dwResult = (DWORD)bSuccess;
|
iar.dwResult = (DWORD)bSuccess;
|
||||||
iar.dwError = bSuccess ? ERROR_SUCCESS : INTERNET_GetLastError();
|
iar.dwError = bSuccess ? ERROR_SUCCESS : INTERNET_GetLastError();
|
||||||
SendAsyncCallback(&lpwfs->hdr, lpwfs->hdr.dwContext, INTERNET_STATUS_REQUEST_COMPLETE,
|
INTERNET_SendCallback(&lpwfs->hdr, lpwfs->hdr.dwContext, INTERNET_STATUS_REQUEST_COMPLETE,
|
||||||
&iar, sizeof(INTERNET_ASYNC_RESULT));
|
&iar, sizeof(INTERNET_ASYNC_RESULT));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2208,7 +2208,7 @@ lend:
|
||||||
|
|
||||||
iar.dwResult = (DWORD)bSuccess;
|
iar.dwResult = (DWORD)bSuccess;
|
||||||
iar.dwError = bSuccess ? ERROR_SUCCESS : INTERNET_GetLastError();
|
iar.dwError = bSuccess ? ERROR_SUCCESS : INTERNET_GetLastError();
|
||||||
SendAsyncCallback(&lpwfs->hdr, lpwfs->hdr.dwContext, INTERNET_STATUS_REQUEST_COMPLETE,
|
INTERNET_SendCallback(&lpwfs->hdr, lpwfs->hdr.dwContext, INTERNET_STATUS_REQUEST_COMPLETE,
|
||||||
&iar, sizeof(INTERNET_ASYNC_RESULT));
|
&iar, sizeof(INTERNET_ASYNC_RESULT));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2360,7 +2360,7 @@ static void FTPSESSION_CloseConnection(object_header_t *hdr)
|
||||||
|
|
||||||
TRACE("\n");
|
TRACE("\n");
|
||||||
|
|
||||||
SendAsyncCallback(&lpwfs->hdr, lpwfs->hdr.dwContext,
|
INTERNET_SendCallback(&lpwfs->hdr, lpwfs->hdr.dwContext,
|
||||||
INTERNET_STATUS_CLOSING_CONNECTION, 0, 0);
|
INTERNET_STATUS_CLOSING_CONNECTION, 0, 0);
|
||||||
|
|
||||||
if (lpwfs->download_in_progress != NULL)
|
if (lpwfs->download_in_progress != NULL)
|
||||||
|
@ -2375,7 +2375,7 @@ static void FTPSESSION_CloseConnection(object_header_t *hdr)
|
||||||
if (lpwfs->pasvSocket != -1)
|
if (lpwfs->pasvSocket != -1)
|
||||||
closesocket(lpwfs->pasvSocket);
|
closesocket(lpwfs->pasvSocket);
|
||||||
|
|
||||||
SendAsyncCallback(&lpwfs->hdr, lpwfs->hdr.dwContext,
|
INTERNET_SendCallback(&lpwfs->hdr, lpwfs->hdr.dwContext,
|
||||||
INTERNET_STATUS_CONNECTION_CLOSED, 0, 0);
|
INTERNET_STATUS_CONNECTION_CLOSED, 0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2526,12 +2526,12 @@ HINTERNET FTP_Connect(appinfo_t *hIC, LPCWSTR lpszServerName,
|
||||||
iar.dwResult = (DWORD_PTR)lpwfs->hdr.hInternet;
|
iar.dwResult = (DWORD_PTR)lpwfs->hdr.hInternet;
|
||||||
iar.dwError = ERROR_SUCCESS;
|
iar.dwError = ERROR_SUCCESS;
|
||||||
|
|
||||||
SendAsyncCallback(&hIC->hdr, dwContext,
|
INTERNET_SendCallback(&hIC->hdr, dwContext,
|
||||||
INTERNET_STATUS_HANDLE_CREATED, &iar,
|
INTERNET_STATUS_HANDLE_CREATED, &iar,
|
||||||
sizeof(INTERNET_ASYNC_RESULT));
|
sizeof(INTERNET_ASYNC_RESULT));
|
||||||
}
|
}
|
||||||
|
|
||||||
SendAsyncCallback(&hIC->hdr, dwContext, INTERNET_STATUS_RESOLVING_NAME,
|
INTERNET_SendCallback(&hIC->hdr, dwContext, INTERNET_STATUS_RESOLVING_NAME,
|
||||||
(LPWSTR) lpszServerName, (strlenW(lpszServerName)+1) * sizeof(WCHAR));
|
(LPWSTR) lpszServerName, (strlenW(lpszServerName)+1) * sizeof(WCHAR));
|
||||||
|
|
||||||
sock_namelen = sizeof(socketAddr);
|
sock_namelen = sizeof(socketAddr);
|
||||||
|
@ -2548,7 +2548,7 @@ HINTERNET FTP_Connect(appinfo_t *hIC, LPCWSTR lpszServerName,
|
||||||
goto lerror;
|
goto lerror;
|
||||||
}
|
}
|
||||||
|
|
||||||
SendAsyncCallback(&hIC->hdr, dwContext, INTERNET_STATUS_NAME_RESOLVED,
|
INTERNET_SendCallback(&hIC->hdr, dwContext, INTERNET_STATUS_NAME_RESOLVED,
|
||||||
szaddr, strlen(szaddr)+1);
|
szaddr, strlen(szaddr)+1);
|
||||||
|
|
||||||
init_winsock();
|
init_winsock();
|
||||||
|
@ -2559,7 +2559,7 @@ HINTERNET FTP_Connect(appinfo_t *hIC, LPCWSTR lpszServerName,
|
||||||
goto lerror;
|
goto lerror;
|
||||||
}
|
}
|
||||||
|
|
||||||
SendAsyncCallback(&hIC->hdr, dwContext, INTERNET_STATUS_CONNECTING_TO_SERVER,
|
INTERNET_SendCallback(&hIC->hdr, dwContext, INTERNET_STATUS_CONNECTING_TO_SERVER,
|
||||||
szaddr, strlen(szaddr)+1);
|
szaddr, strlen(szaddr)+1);
|
||||||
|
|
||||||
if (connect(nsocket, (struct sockaddr *)&socketAddr, sock_namelen) < 0)
|
if (connect(nsocket, (struct sockaddr *)&socketAddr, sock_namelen) < 0)
|
||||||
|
@ -2572,7 +2572,7 @@ HINTERNET FTP_Connect(appinfo_t *hIC, LPCWSTR lpszServerName,
|
||||||
{
|
{
|
||||||
TRACE("Connected to server\n");
|
TRACE("Connected to server\n");
|
||||||
lpwfs->sndSocket = nsocket;
|
lpwfs->sndSocket = nsocket;
|
||||||
SendAsyncCallback(&hIC->hdr, dwContext, INTERNET_STATUS_CONNECTED_TO_SERVER,
|
INTERNET_SendCallback(&hIC->hdr, dwContext, INTERNET_STATUS_CONNECTED_TO_SERVER,
|
||||||
szaddr, strlen(szaddr)+1);
|
szaddr, strlen(szaddr)+1);
|
||||||
|
|
||||||
sock_namelen = sizeof(lpwfs->socketAddress);
|
sock_namelen = sizeof(lpwfs->socketAddress);
|
||||||
|
@ -2786,7 +2786,7 @@ INT FTP_ReceiveResponse(ftp_session_t *lpwfs, DWORD_PTR dwContext)
|
||||||
|
|
||||||
TRACE("socket(%d)\n", lpwfs->sndSocket);
|
TRACE("socket(%d)\n", lpwfs->sndSocket);
|
||||||
|
|
||||||
SendAsyncCallback(&lpwfs->hdr, dwContext, INTERNET_STATUS_RECEIVING_RESPONSE, NULL, 0);
|
INTERNET_SendCallback(&lpwfs->hdr, dwContext, INTERNET_STATUS_RECEIVING_RESPONSE, NULL, 0);
|
||||||
|
|
||||||
while(1)
|
while(1)
|
||||||
{
|
{
|
||||||
|
@ -2819,7 +2819,7 @@ INT FTP_ReceiveResponse(ftp_session_t *lpwfs, DWORD_PTR dwContext)
|
||||||
{
|
{
|
||||||
rc = atoi(lpszResponse);
|
rc = atoi(lpszResponse);
|
||||||
|
|
||||||
SendAsyncCallback(&lpwfs->hdr, dwContext, INTERNET_STATUS_RESPONSE_RECEIVED,
|
INTERNET_SendCallback(&lpwfs->hdr, dwContext, INTERNET_STATUS_RESPONSE_RECEIVED,
|
||||||
&nRecv, sizeof(DWORD));
|
&nRecv, sizeof(DWORD));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -443,10 +443,6 @@ DWORD INTERNET_GetLastError(void) DECLSPEC_HIDDEN;
|
||||||
DWORD INTERNET_AsyncCall(task_header_t*) DECLSPEC_HIDDEN;
|
DWORD INTERNET_AsyncCall(task_header_t*) DECLSPEC_HIDDEN;
|
||||||
LPSTR INTERNET_GetResponseBuffer(void) DECLSPEC_HIDDEN;
|
LPSTR INTERNET_GetResponseBuffer(void) DECLSPEC_HIDDEN;
|
||||||
|
|
||||||
VOID SendAsyncCallback(object_header_t *hdr, DWORD_PTR dwContext,
|
|
||||||
DWORD dwInternetStatus, LPVOID lpvStatusInfo,
|
|
||||||
DWORD dwStatusInfoLength) DECLSPEC_HIDDEN;
|
|
||||||
|
|
||||||
VOID INTERNET_SendCallback(object_header_t *hdr, DWORD_PTR dwContext,
|
VOID INTERNET_SendCallback(object_header_t *hdr, DWORD_PTR dwContext,
|
||||||
DWORD dwInternetStatus, LPVOID lpvStatusInfo,
|
DWORD dwInternetStatus, LPVOID lpvStatusInfo,
|
||||||
DWORD dwStatusInfoLength) DECLSPEC_HIDDEN;
|
DWORD dwStatusInfoLength) DECLSPEC_HIDDEN;
|
||||||
|
|
|
@ -275,60 +275,3 @@ void INTERNET_SendCallback(object_header_t *hdr, DWORD_PTR context, DWORD status
|
||||||
if(new_info != info)
|
if(new_info != info)
|
||||||
heap_free(new_info);
|
heap_free(new_info);
|
||||||
}
|
}
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
task_header_t hdr;
|
|
||||||
DWORD_PTR context;
|
|
||||||
DWORD status;
|
|
||||||
LPVOID status_info;
|
|
||||||
DWORD status_info_len;
|
|
||||||
} send_callback_task_t;
|
|
||||||
|
|
||||||
static void SendAsyncCallbackProc(task_header_t *hdr)
|
|
||||||
{
|
|
||||||
send_callback_task_t *task = (send_callback_task_t*)hdr;
|
|
||||||
|
|
||||||
TRACE("%p\n", task->hdr.hdr);
|
|
||||||
|
|
||||||
INTERNET_SendCallback(task->hdr.hdr, task->context, task->status, task->status_info, task->status_info_len);
|
|
||||||
|
|
||||||
/* And frees the copy of the status info */
|
|
||||||
heap_free(task->status_info);
|
|
||||||
}
|
|
||||||
|
|
||||||
void SendAsyncCallback(object_header_t *hdr, DWORD_PTR dwContext,
|
|
||||||
DWORD dwInternetStatus, LPVOID lpvStatusInfo,
|
|
||||||
DWORD dwStatusInfoLength)
|
|
||||||
{
|
|
||||||
TRACE("(%p, %08lx, %d (%s), %p, %d): %sasync call with callback %p\n",
|
|
||||||
hdr, dwContext, dwInternetStatus, get_callback_name(dwInternetStatus),
|
|
||||||
lpvStatusInfo, dwStatusInfoLength,
|
|
||||||
hdr->dwFlags & INTERNET_FLAG_ASYNC ? "" : "non ",
|
|
||||||
hdr->lpfnStatusCB);
|
|
||||||
|
|
||||||
if (!(hdr->lpfnStatusCB))
|
|
||||||
return;
|
|
||||||
|
|
||||||
if (hdr->dwFlags & INTERNET_FLAG_ASYNC)
|
|
||||||
{
|
|
||||||
send_callback_task_t *task;
|
|
||||||
void *lpvStatusInfo_copy = lpvStatusInfo;
|
|
||||||
|
|
||||||
if (lpvStatusInfo)
|
|
||||||
{
|
|
||||||
lpvStatusInfo_copy = heap_alloc(dwStatusInfoLength);
|
|
||||||
memcpy(lpvStatusInfo_copy, lpvStatusInfo, dwStatusInfoLength);
|
|
||||||
}
|
|
||||||
|
|
||||||
task = alloc_async_task(hdr, SendAsyncCallbackProc, sizeof(*task));
|
|
||||||
task->context = dwContext;
|
|
||||||
task->status = dwInternetStatus;
|
|
||||||
task->status_info = lpvStatusInfo_copy;
|
|
||||||
task->status_info_len = dwStatusInfoLength;
|
|
||||||
|
|
||||||
INTERNET_AsyncCall(&task->hdr);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
INTERNET_SendCallback(hdr, dwContext, dwInternetStatus,
|
|
||||||
lpvStatusInfo, dwStatusInfoLength);
|
|
||||||
}
|
|
||||||
|
|
Loading…
Reference in New Issue