Commit Graph

59 Commits

Author SHA1 Message Date
Tor Lillqvist
d5863830ad win32/gwinhttpvfs.c win32/gwinhttpvfs.h win32/gwinhttpfile.c
2008-08-13  Tor Lillqvist  <tml@novell.com>

	* win32/gwinhttpvfs.c
	* win32/gwinhttpvfs.h
	* win32/gwinhttpfile.c
	* win32/gwinhttpfileinputstream.c
	* win32/gwinhttpfileoutputstream.c: Refactor some common code
	snippets into helper functions. Check HTTP response status
	codes. Implement g_winhttp_file_query_info(), looking at
	Content-Length, Content-Type and Last-Modified.

	* win32/winhttp.h: Add some symbolic constants that are not
	publicly documented. Just a handful, so it should be OK to use
	information from the Windows SDK's headers.


svn path=/trunk/; revision=7350
2008-08-13 19:39:49 +00:00
Tor Lillqvist
7ffb2b3366 Bug 546582 - Callbacks from GFileMonitor present a GFile in the wrong
2008-08-13  Tor Lillqvist  <tml@novell.com>

	Bug 546582 - Callbacks from GFileMonitor present a GFile in the
	wrong folder

	* win32/gwin32directorymonitor.c
	(g_win32_directory_monitor_callback): Patch by Erik van Pienbroek.


svn path=/trunk/; revision=7347
2008-08-13 06:56:31 +00:00
Tor Lillqvist
af8ebc9e55 Don't write the Content-Length header ourselves, WinHttpSendRequest()
2008-08-13  Tor Lillqvist  <tml@novell.com>

	* win32/gwinhttpfileoutputstream.c
	(g_winhttp_file_output_stream_write): Don't write the
	Content-Length header ourselves, WinHttpSendRequest() takes care
	of that when the dwTotalLength parameter is non-zero. Increment
	offset by the number of actual bytes sent, although I wonder if
	such a scenario is possible where less than requested would be
	sent and accepted by the server without errors.


svn path=/trunk/; revision=7345
2008-08-12 23:40:39 +00:00
Tor Lillqvist
7261372b45 win32/gwinhttpvfs.c win32/gwinhttpvfs.h win32/gwinhttpfile.c
2008-08-13  Tor Lillqvist  <tml@novell.com>

	* win32/gwinhttpvfs.c
	* win32/gwinhttpvfs.h
	* win32/gwinhttpfile.c
	* win32/gwinhttpfile.h
	* win32/gwinhttpfileinputstream.c
	* win32/gwinhttpfileinputstream.h
	* win32/gwinhttpfileoutputstream.c
	* win32/gwinhttpfileoutputstream.h: New files implementing
	GWinHttpVfs and related classes, a GVfs for HTTP and HTTPS URIs on
	Windows. The implementation uses the WinHttp API. Both reading and
	writing are supported, i.e. GET and PUT requests. When writing,
	each write call is done using a separate PUT request with a
	Content-Range header. Requests for file URIs and plain pathnames
	are forwarded to GLocalVfs.

	* win32/winhttp.h: Reverse engineered <winhttp.h>, borrowed from
	WINE. Used as there is no <winhttp.h> bundled with mingw, and
	requiring people to download the Windows SDK just for this one
	header is not reasonable.

	* win32/Makefile.am: Add above files.

	* giomodule.c: Call _g_winhttp_vfs_get_type() on Windows to set up
	the plumbing for the above.


svn path=/trunk/; revision=7344
2008-08-12 23:09:04 +00:00
Tor Lillqvist
506eed4ebd win32/gwin32directorymonitor.h Whitespace cleanup to match GLib style.
2008-08-03  Tor Lillqvist  <tml@novell.com>

	* win32/gwin32directorymonitor.h
	* win32/gwin32directorymonitor.c: Whitespace cleanup to match GLib
	style.


svn path=/trunk/; revision=7291
2008-08-03 00:17:39 +00:00
Tor Lillqvist
3bf84fb1cc Make prototype match LPOVERLAPPED_COMPLETION_ROUTINE to avoid warning.
2008-08-03  Tor Lillqvist  <tml@novell.com>

	* win32/gwin32directorymonitor.c
	(g_win32_directory_monitor_callback): Make prototype match
	LPOVERLAPPED_COMPLETION_ROUTINE to avoid warning. Cast
	LPOVERLAPPED parameter to local GWin32DirectoryMonitorPrivate
	pointer.

	(g_win32_directory_monitor_constructor):
	GLocalDirectoryMonitor::dirname is in UTF-8 like all other file
	names in the GLib API on Windows, so convert to UTF-16 and open
	with CreateFileW().


svn path=/trunk/; revision=7290
2008-08-03 00:06:39 +00:00
Tor Lillqvist
8258d6863b Bug 541036 - Gnumeric crashes when trying to open Desktop or user's folder
2008-08-03  Tor Lillqvist  <tml@novell.com>

	Bug 541036 - Gnumeric crashes when trying to open Desktop or
	user's folder under Windows

	* win32/gwin32directorymonitor.c
	(g_win32_directory_monitor_constructor): Ignore error from
	CreateFile() when opening directory. Instead of asserting, just
	store INVALID_HANDLE_VALUE then in
	GWin32DirectoryMonitorPrivate::hDirectory. Also ignore error from
	ReadDirectoryChangesW().
	(g_win32_directory_monitor_cancel): Don't attempt to close
	directory handle if it is INVALID_HANDLE_VALUE.


svn path=/trunk/; revision=7289
2008-08-02 23:51:51 +00:00
Tor Lillqvist
a6cd26d656 #define _WIN32_WINNT 0x0400 to get declaration of ReadDirectoryChangesW()
2008-05-16  Tor Lillqvist  <tml@novell.com>

	* win32/gwin32directorymonitor.c: #define _WIN32_WINNT 0x0400 to
	get declaration of ReadDirectoryChangesW() from Platform SDK headers.


svn path=/trunk/; revision=6893
2008-05-16 17:16:37 +00:00
Tor Lillqvist
367d77233b Expand gio/win32/Makefile.
2008-03-12  Tor Lillqvist  <tml@novell.com>

	* configure.in: Expand gio/win32/Makefile.

2008-03-12  Tor Lillqvist  <tml@novell.com>

	Bug 517419 - gio win32 directory monitor
	Implementation by Vlad Grecescu.
	
	* win32/Makefile.am
	* win32/gwin32directorymonitor.h
	* win32/gwin32directorymonitor.c: New files.

	* giomodule.c: Set up the GWin32DirectoryMonitor plumbing.

	* Makefile.am: Add the win32 subdirectory.


svn path=/trunk/; revision=6698
2008-03-12 19:09:11 +00:00