
// Created by Jaime O. Rios

#import <Foundation/Foundation.h>

@interface P4Functionality : NSObject


@property (atomic) NSString * userHomePathSettings; // e.g. .bash_login

@property (atomic) BOOL     p4Installed;
@property (atomic) NSString * p4Path;
@property (atomic) BOOL     p4vcInstalled;
@property (atomic) NSString * p4vcPath;
@property (atomic) BOOL     P4CONFIG_Set;
@property (strong) NSString * p4ClientName;

- (void)checkSettings;

/**
 Precondition(s):
 - p4 command line installed
 - p4vc command line installed
 - P4CONFIG environment variable already set
 - query to 'p4 info' does not return 'Client unknown.'
 
 Postcondition(s):
 - Returns status as to whether above items are actually fulfilled
 
 Invariant(s):
 - Current project is what is used to check the P4CONFIG path
 */
- (BOOL)p4ClientSet;

- (void)updateP4Status;
- (void)updateP4VCStatus;

- (NSString*)p4CheckOutCurrentFile;
- (NSString*)p4Add;
- (NSString*)p4Info;

- (void)p4vcRevGraph;
- (void)p4vcTimeLapse;
@end

