/* Copyright (c) 2011 Artjom Popov */

#import <Foundation/Foundation.h>

@interface UTDerivedResource : NSObject 
{
@private
	NSString *m_path;
	NSInteger m_weakReferenceCount;
	BOOL m_obsolete;
}

+ (void)deleteAndCleanup;

- (id)initWithKey:(NSDictionary *)key;

@property (nonatomic, assign, readonly) BOOL exists;
@property (nonatomic, retain, readonly) NSString *path;
@property (nonatomic, retain) NSData *data;
@property (nonatomic, assign, readonly) NSInteger weakReferenceCount;
@property (nonatomic, assign) BOOL obsolete;

- (void)weakRetain;
- (void)weakRelease;
- (void)cleanup;
- (void)delete;

@end
