//
//  TeXDistributionBridge.h
//  TeXDist
//
//  Created by coder on 08/12/06.
//  Copyright 2006 Laurens'Tribune. All rights reserved.
//

#import "TeXDistributionBridge.h"

@interface TeXDistArchitecture (Control)
@property (readonly) BOOL isValid;
@end

@interface TeXDistribution: TeXDistributionBridge
@property (readonly) BOOL canBeActive;
@property (readwrite) BOOL isActive;
@property (readonly) NSString * softLinkDestination;
@property (readonly) NSString * texbinPath;
@property (readonly) NSString * texbinDestination;
- (BOOL)updateActiveArchitectureAndReturnError:(NSError **)RORef;
@end


@interface TeXDistController: NSObject
{
@private
    NSArray * iVarDistributions;
    TeXDistribution * iVarActiveDistribution;
    BOOL iVarNoUserInterface;
}
+ (TeXDistController *)sharedController;
@property (readonly,copy) NSArray * distributions;
@property (readonly) TeXDistribution * mostRecentDistribution;
@property (readwrite,retain) TeXDistribution * activeDistribution;
@property (readonly) NSArray * sortDescriptors;
@property (readonly) BOOL noUserInterface;
- (BOOL)activateDistribution:(TeXDistribution *)newDistribution userInterface:(BOOL)yorn error:(NSError **)RORef;
- (BOOL)activateDistribution:(TeXDistribution *)aDistribution architecture:(TeXDistArchitecture *)anArchitecture userInterface:(BOOL) yorn error:(NSError **)RORef;
- (void)reportError:(NSError *)ROR;
- (BOOL)resetAndReturnError:(NSError **)RORef;
- (TeXDistribution *)distributionWithName:(NSString *)aName;
- (void)reset;
- (void)listDistributions;
- (void)listActiveDistribution;
@end

