Commit af2192d3be18f3e093e1ed514e783481e9a46c6e

Authored by Perry Werneck
1 parent 9c1b63e1
Exists in master and in 1 other branch develop

Working on windows IPC module.

Showing 2 changed files with 15 additions and 11 deletions   Show diff stats
src/windows/gobject.h
@@ -68,7 +68,7 @@ @@ -68,7 +68,7 @@
68 GSource gsrc; 68 GSource gsrc;
69 HANDLE hPipe; 69 HANDLE hPipe;
70 70
71 - enum PIPE_STATE state; 71 + IPC3270_PIPE_STATE state;
72 72
73 OVERLAPPED overlap; 73 OVERLAPPED overlap;
74 unsigned char buffer[PIPE_BUFFER_LENGTH+1]; 74 unsigned char buffer[PIPE_BUFFER_LENGTH+1];
src/windows/pipesource.c
@@ -68,7 +68,7 @@ static gboolean IO_prepare(GSource *source, gint *timeout) { @@ -68,7 +68,7 @@ static gboolean IO_prepare(GSource *source, gint *timeout) {
68 * returned which were >= 0. 68 * returned which were >= 0.
69 * 69 *
70 */ 70 */
71 - if(WaitForSingleObject(((pipe_source *) source)->overlap.hEvent,0) == WAIT_OBJECT_0) 71 + if(WaitForSingleObject(((IPC3270_PIPE_SOURCE *) source)->overlap.hEvent,0) == WAIT_OBJECT_0)
72 return TRUE; 72 return TRUE;
73 73
74 *timeout = 10; 74 *timeout = 10;
@@ -155,15 +155,15 @@ static gboolean IO_dispatch(GSource *source, GSourceFunc callback, gpointer data @@ -155,15 +155,15 @@ static gboolean IO_dispatch(GSource *source, GSourceFunc callback, gpointer data
155 BOOL fSuccess; 155 BOOL fSuccess;
156 DWORD cbRead = 0; 156 DWORD cbRead = 0;
157 157
158 - fSuccess = GetOverlappedResult(((pipe_source *) source)->hPipe,&((pipe_source *) source)->overlap,&cbRead,FALSE ); 158 + fSuccess = GetOverlappedResult(((IPC3270_PIPE_SOURCE *) source)->hPipe,&((IPC3270_PIPE_SOURCE *) source)->overlap,&cbRead,FALSE );
159 159
160 - switch(((pipe_source *) source)->state) { 160 + switch(((IPC3270_PIPE_SOURCE *) source)->state) {
161 case PIPE_STATE_WAITING: 161 case PIPE_STATE_WAITING:
162 162
163 if(fSuccess) { 163 if(fSuccess) {
164 164
165 g_message("Client is connected"); 165 g_message("Client is connected");
166 - ((pipe_source *) source)->state = PIPE_STATE_READ; 166 + ((IPC3270_PIPE_SOURCE *) source)->state = PIPE_STATE_READ;
167 167
168 } else { 168 } else {
169 169
@@ -174,13 +174,13 @@ static gboolean IO_dispatch(GSource *source, GSourceFunc callback, gpointer data @@ -174,13 +174,13 @@ static gboolean IO_dispatch(GSource *source, GSourceFunc callback, gpointer data
174 174
175 case PIPE_STATE_READ: 175 case PIPE_STATE_READ:
176 // trace("Reading pipe (cbRead=%d)",(int) cbRead); 176 // trace("Reading pipe (cbRead=%d)",(int) cbRead);
177 - read_input_pipe( (pipe_source *) source); 177 + read_input_pipe( (IPC3270_PIPE_SOURCE *) source);
178 break; 178 break;
179 179
180 case PIPE_STATE_PENDING_READ: 180 case PIPE_STATE_PENDING_READ:
181 if(fSuccess && cbRead > 0) 181 if(fSuccess && cbRead > 0)
182 - process_input((pipe_source *) source,cbRead);  
183 - ((pipe_source *) source)->state = PIPE_STATE_READ; 182 + process_input((IPC3270_PIPE_SOURCE *) source,cbRead);
  183 + ((IPC3270_PIPE_SOURCE *) source)->state = PIPE_STATE_READ;
184 break; 184 break;
185 185
186 case PIPE_STATE_UNDEFINED: 186 case PIPE_STATE_UNDEFINED:
@@ -191,11 +191,15 @@ static gboolean IO_dispatch(GSource *source, GSourceFunc callback, gpointer data @@ -191,11 +191,15 @@ static gboolean IO_dispatch(GSource *source, GSourceFunc callback, gpointer data
191 return TRUE; 191 return TRUE;
192 } 192 }
193 193
  194 +static gboolean IO_closure(gpointer data) {
  195 + return 0;
  196 +}
  197 +
194 static void IO_finalize(GSource *source) { 198 static void IO_finalize(GSource *source) {
195 199
196 - if( ((pipe_source *) source)->hPipe != INVALID_HANDLE_VALUE) {  
197 - CloseHandle(((pipe_source *) source)->hPipe);  
198 - ((pipe_source *) source)->hPipe = INVALID_HANDLE_VALUE; 200 + if( ((IPC3270_PIPE_SOURCE *) source)->hPipe != INVALID_HANDLE_VALUE) {
  201 + CloseHandle(((IPC3270_PIPE_SOURCE *) source)->hPipe);
  202 + ((IPC3270_PIPE_SOURCE *) source)->hPipe = INVALID_HANDLE_VALUE;
199 } 203 }
200 204
201 } 205 }