| #ifndef _ANDROID_GRAPHICS_CREATE_JAVA_OUTPUT_STREAM_ADAPTOR_H_ | 
 | #define _ANDROID_GRAPHICS_CREATE_JAVA_OUTPUT_STREAM_ADAPTOR_H_ | 
 |  | 
 | #include "jni.h" | 
 | #include "SkData.h" | 
 |  | 
 | class SkMemoryStream; | 
 | class SkStream; | 
 | class SkStreamRewindable; | 
 | class SkWStream; | 
 |  | 
 | /** | 
 |  *  Return an adaptor from a Java InputStream to an SkStream. | 
 |  *  Does not support rewind. | 
 |  *  @param env JNIEnv object. | 
 |  *  @param stream Pointer to Java InputStream. | 
 |  *  @param storage Java byte array for retrieving data from the | 
 |  *      Java InputStream. | 
 |  *  @param swallowExceptions Whether to call ExceptionClear() after | 
 |  *      an Exception is thrown. If false, it is up to the client to | 
 |  *      clear or propagate the exception. | 
 |  *  @return SkStream Simple subclass of SkStream which supports its | 
 |  *      basic methods like reading. Only valid until the calling | 
 |  *      function returns, since the Java InputStream is not managed | 
 |  *      by the SkStream. | 
 |  */ | 
 | SkStream* CreateJavaInputStreamAdaptor(JNIEnv* env, jobject stream, jbyteArray storage, | 
 |                                        bool swallowExceptions = true); | 
 |  | 
 | /** | 
 |  *  Copy a Java InputStream to an SkData. | 
 |  *  @param env JNIEnv object. | 
 |  *  @param stream Pointer to Java InputStream. | 
 |  *  @param storage Java byte array for retrieving data from the | 
 |  *      Java InputStream. | 
 |  *  @return SkData containing the stream's data. | 
 |  */ | 
 | sk_sp<SkData> CopyJavaInputStream(JNIEnv* env, jobject stream, jbyteArray storage); | 
 |  | 
 | SkWStream* CreateJavaOutputStreamAdaptor(JNIEnv* env, jobject stream, jbyteArray storage); | 
 |  | 
 | #endif  // _ANDROID_GRAPHICS_CREATE_JAVA_OUTPUT_STREAM_ADAPTOR_H_ |