printf("Registering Peer: %d\n", wfi->peerCount);\r
\r
wf_info_unlock(wfi);\r
+\r
+ wfreerdp_server_peer_connect_event(wfi->peerCount);\r
}\r
}\r
\r
#endif\r
\r
wf_info_unlock(wfi);\r
+\r
+ wfreerdp_server_peer_disconnect_event(wfi->peerCount);\r
}\r
}\r
\r
};
//
+cbConEvent cbConnect;
+cbConEvent cbDisconnect;
+
DWORD WINAPI wf_server_main_loop(LPVOID lpParam)
{
int i, fds;
server->port = 3389;
}
+ cbConnect = NULL;
+ cbDisconnect = NULL;
+
return server;
}
return FALSE;
}
}
+
+FREERDP_API void wfreerdp_server_register_connect_event(cbConEvent cb)
+{
+ cbConnect = cb;
+}
+
+FREERDP_API void wfreerdp_server_register_disconnect_event(cbConEvent cb)
+{
+ cbDisconnect = cb;
+}
+
+
+void wfreerdp_server_peer_connect_event(int pId)
+{
+ if (cbConnect)
+ cbConnect(pId);
+}
+void wfreerdp_server_peer_disconnect_event(int pId)
+{
+ if (cbDisconnect)
+ cbDisconnect(pId);
+}
+
};
typedef struct wf_server wfServer;
+typedef void (__stdcall* cbConEvent) (int);
+
FREERDP_API BOOL wfreerdp_server_start(wfServer* server);
FREERDP_API BOOL wfreerdp_server_stop(wfServer* server);
FREERDP_API BOOL wfreerdp_server_peer_is_activated(int pId);
FREERDP_API BOOL wfreerdp_server_peer_is_authenticated(int pId);
+FREERDP_API void wfreerdp_server_register_connect_event(cbConEvent cb);
+FREERDP_API void wfreerdp_server_register_disconnect_event(cbConEvent cb);
+
+void wfreerdp_server_peer_connect_event(int pId);
+void wfreerdp_server_peer_disconnect_event(int pId);
+
#endif /* WF_INTERFACE_H */