CVS: rdesktop proto.h,1.63,1.64 rdp.c,1.62,1.63 rdp5.c,1.10,1.11 xwin.c,1.172,1.173

Jay Sorg <[email protected]>
Newsgroups gmane.network.rdesktop.cvs
Message-ID <[email protected]>
Update of /cvsroot/rdesktop/rdesktop
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24606

Modified Files:
	proto.h rdp.c rdp5.c xwin.c 
Log Message:
added ui_begin/end_update and rdp_loop for ports

Index: proto.h
===================================================================
RCS file: /cvsroot/rdesktop/rdesktop/proto.h,v
retrieving revision 1.63
retrieving revision 1.64
diff -C2 -d -r1.63 -r1.64
*** proto.h	27 Apr 2004 12:55:33 -0000	1.63
--- proto.h	16 Jun 2004 03:08:54 -0000	1.64
***************
*** 88,91 ****
--- 88,92 ----
  void process_bitmap_updates(STREAM s);
  void process_palette(STREAM s);
+ BOOL rdp_loop(BOOL * deactivated, uint32 * ext_disc_reason);
  void rdp_main_loop(BOOL * deactivated, uint32 * ext_disc_reason);
  BOOL rdp_connect(char *server, uint32 flags, char *domain, char *password, char *command,
***************
*** 156,159 ****
--- 157,162 ----
  void rdp_send_scancode(uint32 time, uint16 flags, uint8 scancode);
  /* xwin.c */
+ void ui_begin_update(void);
+ void ui_end_update(void);
  BOOL get_key_state(unsigned int state, uint32 keysym);
  BOOL ui_init(void);

Index: rdp.c
===================================================================
RCS file: /cvsroot/rdesktop/rdesktop/rdp.c,v
retrieving revision 1.62
retrieving revision 1.63
diff -C2 -d -r1.62 -r1.63
*** rdp.c	15 Jun 2004 22:45:12 -0000	1.62
--- rdp.c	16 Jun 2004 03:08:54 -0000	1.63
***************
*** 925,928 ****
--- 925,929 ----
  	in_uint16_le(s, update_type);
  
+ 	ui_begin_update();
  	switch (update_type)
  	{
***************
*** 948,952 ****
  			unimpl("update %d\n", update_type);
  	}
! 
  }
  
--- 949,953 ----
  			unimpl("update %d\n", update_type);
  	}
! 	ui_end_update();
  }
  
***************
*** 1079,1082 ****
--- 1080,1122 ----
  }
  
+ /* used in uiports, processes the rdp packets waiting */
+ BOOL
+ rdp_loop(BOOL * deactivated, uint32 * ext_disc_reason)
+ {
+ 	uint8 type;
+ 	BOOL disc = False;	/* True when a disconnect PDU was received */
+ 	BOOL cont = True;
+ 	STREAM s;
+ 
+    while (cont)
+ 	{
+ 		s = rdp_recv(&type);
+ 		if (s == NULL)
+ 			return False;
+ 		switch (type)
+ 		{
+ 			case RDP_PDU_DEMAND_ACTIVE:
+ 				process_demand_active(s);
+ 				*deactivated = False;
+ 				break;
+ 			case RDP_PDU_DEACTIVATE:
+ 				DEBUG(("RDP_PDU_DEACTIVATE\n"));
+ 				*deactivated = True;
+ 				break;
+ 			case RDP_PDU_DATA:
+ 				disc = process_data_pdu(s, ext_disc_reason);
+ 				break;
+ 			case 0:
+ 				break;
+ 			default:
+ 				unimpl("PDU %d\n", type);
+ 		}
+ 		if (disc)
+ 			return False;
+ 		cont = g_next_packet < s->end;
+ 	}
+ 	return True;
+ }
+ 
  /* Establish a connection up to the RDP layer */
  BOOL

Index: rdp5.c
===================================================================
RCS file: /cvsroot/rdesktop/rdesktop/rdp5.c,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -d -r1.10 -r1.11
*** rdp5.c	15 Jun 2004 22:45:12 -0000	1.10
--- rdp5.c	16 Jun 2004 03:08:55 -0000	1.11
***************
*** 4,18 ****
     Copyright (C) Matthew Chapman 1999-2002
     Copyright (C) Erik Forsberg 2003
!    
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
     the Free Software Foundation; either version 2 of the License, or
     (at your option) any later version.
!    
     This program is distributed in the hope that it will be useful,
     but WITHOUT ANY WARRANTY; without even the implied warranty of
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     GNU General Public License for more details.
!    
     You should have received a copy of the GNU General Public License
     along with this program; if not, write to the Free Software
--- 4,18 ----
     Copyright (C) Matthew Chapman 1999-2002
     Copyright (C) Erik Forsberg 2003
! 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
     the Free Software Foundation; either version 2 of the License, or
     (at your option) any later version.
! 
     This program is distributed in the hope that it will be useful,
     but WITHOUT ANY WARRANTY; without even the implied warranty of
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     GNU General Public License for more details.
! 
     You should have received a copy of the GNU General Public License
     along with this program; if not, write to the Free Software
***************
*** 48,51 ****
--- 48,52 ----
  #endif
  
+ 	ui_begin_update();
  	while (s->p < s->end)
  	{
***************
*** 126,128 ****
--- 127,130 ----
  		s->p = next;
  	}
+ 	ui_end_update();
  }

Index: xwin.c
===================================================================
RCS file: /cvsroot/rdesktop/rdesktop/xwin.c,v
retrieving revision 1.172
retrieving revision 1.173
diff -C2 -d -r1.172 -r1.173
*** xwin.c	11 Jun 2004 22:37:05 -0000	1.172
--- xwin.c	16 Jun 2004 03:08:55 -0000	1.173
***************
*** 2184,2185 ****
--- 2184,2196 ----
  	XFree(image);
  }
+ 
+ /* these do nothing here but are used in uiports */
+ void
+ ui_begin_update(void)
+ {
+ }
+ 
+ void
+ ui_end_update(void)
+ {
+ }



-------------------------------------------------------
This SF.Net email is sponsored by The 2004 JavaOne(SM) Conference
Learn from the experts at JavaOne(SM), Sun's Worldwide Java Developer
Conference, June 28 - July 1 at the Moscone Center in San Francisco, CA
REGISTER AND SAVE! http://java.sun.com/javaone/sf Priority Code NWMGYKND
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.