win32/gwinhttpvfs.c win32/gwinhttpvfs.h win32/gwinhttpfile.c
authorTor Lillqvist <tml@novell.com>
Tue, 12 Aug 2008 23:09:04 +0000 (23:09 +0000)
committerTor Lillqvist <tml@src.gnome.org>
Tue, 12 Aug 2008 23:09:04 +0000 (23:09 +0000)
commit7261372b4534336fbe12d4d5f2aef9460d50bde3
treed174328f6c5f1e38515f671e64f083dc1197008c
parent70323cf69413664979846e226daf63f86b23f818
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
12 files changed:
gio/ChangeLog
gio/giomodule.c
gio/win32/Makefile.am
gio/win32/gwinhttpfile.c [new file with mode: 0644]
gio/win32/gwinhttpfile.h [new file with mode: 0644]
gio/win32/gwinhttpfileinputstream.c [new file with mode: 0644]
gio/win32/gwinhttpfileinputstream.h [new file with mode: 0644]
gio/win32/gwinhttpfileoutputstream.c [new file with mode: 0644]
gio/win32/gwinhttpfileoutputstream.h [new file with mode: 0644]
gio/win32/gwinhttpvfs.c [new file with mode: 0644]
gio/win32/gwinhttpvfs.h [new file with mode: 0644]
gio/win32/winhttp.h [new file with mode: 0644]