mirror of https://github.com/FreeRDP/FreeRDP
MacFreeRDP: non-blocking connect
This commit is contained in:
parent
a2293857a4
commit
87b63aa0b2
|
@ -42,6 +42,8 @@
|
|||
* -
|
||||
*/
|
||||
|
||||
#include <winpr/windows.h>
|
||||
|
||||
#include "mf_client.h"
|
||||
#import "mfreerdp.h"
|
||||
#import "MRDPView.h"
|
||||
|
@ -98,6 +100,9 @@ void cliprdr_process_text(freerdp* instance, BYTE* data, int len);
|
|||
void cliprdr_send_supported_format_list(freerdp* instance);
|
||||
int register_channel_fds(int* fds, int count, freerdp* instance);
|
||||
|
||||
|
||||
DWORD mf_client_thread(void* param);
|
||||
|
||||
struct cursor
|
||||
{
|
||||
rdpPointer* pointer;
|
||||
|
@ -121,7 +126,6 @@ struct rgba_data
|
|||
|
||||
- (int) rdpStart:(rdpContext*) rdp_context
|
||||
{
|
||||
int status;
|
||||
mfContext* mfc;
|
||||
rdpSettings* settings;
|
||||
EmbedWindowEventArgs e;
|
||||
|
@ -138,15 +142,6 @@ struct rgba_data
|
|||
e.handle = (void*) self;
|
||||
PubSub_OnEmbedWindow(context->pubSub, context, &e);
|
||||
|
||||
status = freerdp_connect(context->instance);
|
||||
|
||||
if (!status)
|
||||
{
|
||||
[self setIs_connected:0];
|
||||
[self rdpConnectError];
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* register update message queue with the RunLoop */
|
||||
register_update_fds(context->instance);
|
||||
|
||||
|
@ -158,7 +153,28 @@ struct rgba_data
|
|||
|
||||
freerdp_check_fds(context->instance);
|
||||
|
||||
[self setIs_connected:1];
|
||||
mfc->thread = CreateThread(NULL, 0, mf_client_thread, (void*) context, 0, &mfc->mainThreadId);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
DWORD mf_client_thread(void* param)
|
||||
{
|
||||
int status;
|
||||
rdpContext* context = (rdpContext*) param;
|
||||
mfContext* mfc = (mfContext*) context;
|
||||
MRDPView* view = mfc->view;
|
||||
|
||||
status = freerdp_connect(context->instance);
|
||||
|
||||
if (!status)
|
||||
{
|
||||
[view setIs_connected:0];
|
||||
[view rdpConnectError];
|
||||
return 0;
|
||||
}
|
||||
|
||||
[view setIs_connected:1];
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue