forked from pmougin/F-Script
-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathFSSystem.h
58 lines (50 loc) · 1.91 KB
/
FSSystem.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
/* FSSystem.h Copyright (c) 1998-2009 Philippe Mougin. */
/* This software is open source. See the license. */
#import "FSNSObject.h"
@class FSBlock;
@class FSExecutor;
@interface FSSystem:NSObject <NSCopying>
{
FSExecutor *executor;
// A FSSystem object point to an Executor instance. Why not an FSInterpreter
// instance instead? Because it would create a retain cycle that would
// prevent the whole object graph (FSInterpreter, FSExecutor, FSSymbolTable, etc.)
// to be dealoced. But pointing to the Executor also creates a cycle!
// However, the dealloc method of FSInterpreter do what is necessary to break
// this cycle.
// Could the problem be resolved by FSSystem not retaining the FSInterpreter?
// No, because a FSSystem object can be referenced "externaly" by other objects.
// Hence its lifecycle is not always determined by the lifecycle of the
// FSInterpreter instance.
}
+ (id)system:(id)theSys;
- (id)copy;
- (id)copyWithZone:(NSZone *)zone;
- (void)dealloc;
- (id)init:(id)theSys;
///////////////////////////////////// USER METHODS ////////////////////////
- (void)attach:(id)objectContext;
- (void)beep;
- (id)blockFromString:(NSString *)source;
- (id)blockFromString:(NSString *)source onError:(FSBlock *)errorBlock;
- (void)browse;
- (void)browse:(id)anObject;
- (void)clear;
- (void)clear:(NSString *)identifier;
- (FSSystem *)clone __attribute__((deprecated));
- (NSString *)fullUserName;
- (NSString *)homeDirectory;
- (NSString *)homeDirectoryForUser:(NSString *)userName;
- (id)ktest;
- (FSArray *)identifiers;
- (void)installFlightTutorial;
- (id)load;
- (id)load:(NSString *)fileName;
- (void)loadSpace __attribute__((deprecated));
- (void)loadSpace:(NSString *)fileName ;
- (void)log:(id)object __attribute__((deprecated));
- (void)saveSpace __attribute__((deprecated));
- (void)saveSpace:(NSString *)fileName;
- (void)setValue:(FSSystem *)operand ;
- (NSString *)userName;
@end