#import "TGDataResource.h"

@interface TGDataResource ()
{
    NSData *_data;
    NSInputStream *_stream;
    UIImage *_image;
    bool _imageDecoded;
}

@end

@implementation TGDataResource

- (instancetype)initWithData:(NSData *)data
{
    self = [super init];
    if (self != nil)
    {
        _data = data;
    }
    return self;
}

- (instancetype)initWithInputStream:(NSInputStream *)stream
{
    self = [super init];
    if (self != nil)
    {
        _stream = stream;
    }
    return self;
}

- (instancetype)initWithImage:(UIImage *)image decoded:(bool)decoded
{
    self = [super init];
    if (self != nil)
    {
        _image = image;
        _imageDecoded = decoded;
    }
    return self;
}

- (void)dealloc
{
    [_stream close];
}

- (NSData *)data
{
    return _data;
}

- (NSInputStream *)stream
{
    return _stream;
}

- (UIImage *)image
{
    return _image;
}

- (bool)isImageDecoded
{
    return _imageDecoded;
}

@end