1f1f48bc7f200f54c76b22d845d8ba8419879b375Joseph Wen#ifndef AutoDecodeCancel_DEFINED 2f1f48bc7f200f54c76b22d845d8ba8419879b375Joseph Wen#define AutoDecodeCancel_DEFINED 3f1f48bc7f200f54c76b22d845d8ba8419879b375Joseph Wen 4f1f48bc7f200f54c76b22d845d8ba8419879b375Joseph Wen#include <jni.h> 5f1f48bc7f200f54c76b22d845d8ba8419879b375Joseph Wen#include "SkImageDecoder.h" 6f1f48bc7f200f54c76b22d845d8ba8419879b375Joseph Wen 7f1f48bc7f200f54c76b22d845d8ba8419879b375Joseph Wenclass AutoDecoderCancel { 8f1f48bc7f200f54c76b22d845d8ba8419879b375Joseph Wenpublic: 9f1f48bc7f200f54c76b22d845d8ba8419879b375Joseph Wen AutoDecoderCancel(jobject options, SkImageDecoder* decoder); 10f1f48bc7f200f54c76b22d845d8ba8419879b375Joseph Wen ~AutoDecoderCancel(); 11f1f48bc7f200f54c76b22d845d8ba8419879b375Joseph Wen 12f1f48bc7f200f54c76b22d845d8ba8419879b375Joseph Wen static bool RequestCancel(jobject options); 13f1f48bc7f200f54c76b22d845d8ba8419879b375Joseph Wen 14f1f48bc7f200f54c76b22d845d8ba8419879b375Joseph Wenprivate: 15f1f48bc7f200f54c76b22d845d8ba8419879b375Joseph Wen AutoDecoderCancel* fNext; 16f1f48bc7f200f54c76b22d845d8ba8419879b375Joseph Wen AutoDecoderCancel* fPrev; 17f1f48bc7f200f54c76b22d845d8ba8419879b375Joseph Wen jobject fJOptions; // java options object 18f1f48bc7f200f54c76b22d845d8ba8419879b375Joseph Wen SkImageDecoder* fDecoder; 19f1f48bc7f200f54c76b22d845d8ba8419879b375Joseph Wen 20f1f48bc7f200f54c76b22d845d8ba8419879b375Joseph Wen#ifdef SK_DEBUG 21f1f48bc7f200f54c76b22d845d8ba8419879b375Joseph Wen static void Validate(); 22f1f48bc7f200f54c76b22d845d8ba8419879b375Joseph Wen#else 23f1f48bc7f200f54c76b22d845d8ba8419879b375Joseph Wen static void Validate() {} 24f1f48bc7f200f54c76b22d845d8ba8419879b375Joseph Wen#endif 25f1f48bc7f200f54c76b22d845d8ba8419879b375Joseph Wen}; 26f1f48bc7f200f54c76b22d845d8ba8419879b375Joseph Wen 27f1f48bc7f200f54c76b22d845d8ba8419879b375Joseph Wen#endif 28