forked from dolphin-emu/dolphin
		
	git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4 8ced0084-cf51-0410-be5f-012b33b47a6e
		
			
				
	
	
		
			35 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
// Under MIT licence from http://www.mindcontrol.org/~hplus/http-get.html
 | 
						|
 | 
						|
#if !defined( mynetwork_h )
 | 
						|
#define mynetwork_h
 | 
						|
 | 
						|
#include <string>
 | 
						|
 | 
						|
//  I_HTTPRequest will run until it's received all available data 
 | 
						|
//  from the query. You can rewind and read the data received just 
 | 
						|
//  like a regular stream. Reading will return 0 bytes when at the 
 | 
						|
//  end, even if the query isn't yet complete. Test for completeness 
 | 
						|
//  with complete(). You need to step() the query every so often to 
 | 
						|
//  retrieve more data. Calling complete() and rewind() may step 
 | 
						|
//  the query.
 | 
						|
class I_HTTPRequest {
 | 
						|
public:
 | 
						|
	virtual ~I_HTTPRequest() {}
 | 
						|
	virtual void dispose() = 0;
 | 
						|
	virtual void step() = 0;
 | 
						|
	virtual bool complete() = 0;
 | 
						|
	virtual void rewind() = 0;
 | 
						|
	virtual size_t read(void * ptr, size_t data) = 0;
 | 
						|
};
 | 
						|
 | 
						|
//  The format of "url" is "http://host:port/path". Name resolution 
 | 
						|
//  will be done synchronously, which can be a problem.
 | 
						|
//  This request will NOT deal with user names and passwords. You 
 | 
						|
//  have been warned!
 | 
						|
I_HTTPRequest * NewHTTPRequest(char const * url);
 | 
						|
 | 
						|
std::string HTTPDownloadText(const char *url);
 | 
						|
 | 
						|
#endif
 | 
						|
 |