 b6691092d7
			
		
	
	b6691092d7
	
	
	
		
			
			This introduces an API to plug custom filters to an input stream.
The caller gets get_stream_filter("path") to obtain an appropriate
filter for the path, and then uses it when opening an input stream
via open_istream().  After that, the caller can read from the stream
with read_istream(), and close it with close_istream(), just like an
unfiltered stream.
This only adds a "null" filter that is a pass-thru filter, but later
changes can add LF-to-CRLF and other filters, and the callers of the
streaming API do not have to change.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
		
	
		
			
				
	
	
		
			16 lines
		
	
	
		
			404 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			16 lines
		
	
	
		
			404 B
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  * Copyright (c) 2011, Google Inc.
 | |
|  */
 | |
| #ifndef STREAMING_H
 | |
| #define STREAMING_H 1
 | |
| #include "cache.h"
 | |
| 
 | |
| /* opaque */
 | |
| struct git_istream;
 | |
| 
 | |
| extern struct git_istream *open_istream(const unsigned char *, enum object_type *, unsigned long *, struct stream_filter *);
 | |
| extern int close_istream(struct git_istream *);
 | |
| extern ssize_t read_istream(struct git_istream *, char *, size_t);
 | |
| 
 | |
| #endif /* STREAMING_H */
 |