14510de26e5361f3a9f07057ec6f26483c888c1faRuben Brunk/* 24510de26e5361f3a9f07057ec6f26483c888c1faRuben Brunk * Copyright 2014 The Android Open Source Project 34510de26e5361f3a9f07057ec6f26483c888c1faRuben Brunk * 44510de26e5361f3a9f07057ec6f26483c888c1faRuben Brunk * Licensed under the Apache License, Version 2.0 (the "License"); 54510de26e5361f3a9f07057ec6f26483c888c1faRuben Brunk * you may not use this file except in compliance with the License. 64510de26e5361f3a9f07057ec6f26483c888c1faRuben Brunk * You may obtain a copy of the License at 74510de26e5361f3a9f07057ec6f26483c888c1faRuben Brunk * 84510de26e5361f3a9f07057ec6f26483c888c1faRuben Brunk * http://www.apache.org/licenses/LICENSE-2.0 94510de26e5361f3a9f07057ec6f26483c888c1faRuben Brunk * 104510de26e5361f3a9f07057ec6f26483c888c1faRuben Brunk * Unless required by applicable law or agreed to in writing, software 114510de26e5361f3a9f07057ec6f26483c888c1faRuben Brunk * distributed under the License is distributed on an "AS IS" BASIS, 124510de26e5361f3a9f07057ec6f26483c888c1faRuben Brunk * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 134510de26e5361f3a9f07057ec6f26483c888c1faRuben Brunk * See the License for the specific language governing permissions and 144510de26e5361f3a9f07057ec6f26483c888c1faRuben Brunk * limitations under the License. 154510de26e5361f3a9f07057ec6f26483c888c1faRuben Brunk */ 164510de26e5361f3a9f07057ec6f26483c888c1faRuben Brunk 174510de26e5361f3a9f07057ec6f26483c888c1faRuben Brunk#ifndef IMG_UTILS_STRIP_SOURCE_H 184510de26e5361f3a9f07057ec6f26483c888c1faRuben Brunk#define IMG_UTILS_STRIP_SOURCE_H 194510de26e5361f3a9f07057ec6f26483c888c1faRuben Brunk 204510de26e5361f3a9f07057ec6f26483c888c1faRuben Brunk#include <img_utils/Output.h> 214510de26e5361f3a9f07057ec6f26483c888c1faRuben Brunk 224510de26e5361f3a9f07057ec6f26483c888c1faRuben Brunk#include <cutils/compiler.h> 234510de26e5361f3a9f07057ec6f26483c888c1faRuben Brunk#include <utils/Errors.h> 244510de26e5361f3a9f07057ec6f26483c888c1faRuben Brunk 254510de26e5361f3a9f07057ec6f26483c888c1faRuben Brunk#include <stdint.h> 264510de26e5361f3a9f07057ec6f26483c888c1faRuben Brunk 274510de26e5361f3a9f07057ec6f26483c888c1faRuben Brunknamespace android { 284510de26e5361f3a9f07057ec6f26483c888c1faRuben Brunknamespace img_utils { 294510de26e5361f3a9f07057ec6f26483c888c1faRuben Brunk 304510de26e5361f3a9f07057ec6f26483c888c1faRuben Brunk/** 314510de26e5361f3a9f07057ec6f26483c888c1faRuben Brunk * This class acts as a data source for strips set in a TiffIfd. 324510de26e5361f3a9f07057ec6f26483c888c1faRuben Brunk */ 334510de26e5361f3a9f07057ec6f26483c888c1faRuben Brunkclass ANDROID_API StripSource { 344510de26e5361f3a9f07057ec6f26483c888c1faRuben Brunk public: 354510de26e5361f3a9f07057ec6f26483c888c1faRuben Brunk virtual ~StripSource(); 364510de26e5361f3a9f07057ec6f26483c888c1faRuben Brunk 374510de26e5361f3a9f07057ec6f26483c888c1faRuben Brunk /** 384510de26e5361f3a9f07057ec6f26483c888c1faRuben Brunk * Write count bytes to the stream. 394510de26e5361f3a9f07057ec6f26483c888c1faRuben Brunk * 404510de26e5361f3a9f07057ec6f26483c888c1faRuben Brunk * Returns OK on success, or a negative error code. 414510de26e5361f3a9f07057ec6f26483c888c1faRuben Brunk */ 424510de26e5361f3a9f07057ec6f26483c888c1faRuben Brunk virtual status_t writeToStream(Output& stream, uint32_t count) = 0; 434510de26e5361f3a9f07057ec6f26483c888c1faRuben Brunk 444510de26e5361f3a9f07057ec6f26483c888c1faRuben Brunk /** 454510de26e5361f3a9f07057ec6f26483c888c1faRuben Brunk * Return the source IFD. 464510de26e5361f3a9f07057ec6f26483c888c1faRuben Brunk */ 474510de26e5361f3a9f07057ec6f26483c888c1faRuben Brunk virtual uint32_t getIfd() const = 0; 484510de26e5361f3a9f07057ec6f26483c888c1faRuben Brunk}; 494510de26e5361f3a9f07057ec6f26483c888c1faRuben Brunk 504510de26e5361f3a9f07057ec6f26483c888c1faRuben Brunk} /*namespace img_utils*/ 514510de26e5361f3a9f07057ec6f26483c888c1faRuben Brunk} /*namespace android*/ 524510de26e5361f3a9f07057ec6f26483c888c1faRuben Brunk 534510de26e5361f3a9f07057ec6f26483c888c1faRuben Brunk#endif /*IMG_UTILS_STRIP_SOURCE_H*/ 54