-
Notifications
You must be signed in to change notification settings - Fork 130
Expand file tree
/
Copy pathXCSourceFile.h
More file actions
84 lines (65 loc) · 2.24 KB
/
XCSourceFile.h
File metadata and controls
84 lines (65 loc) · 2.24 KB
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
////////////////////////////////////////////////////////////////////////////////
//
// JASPER BLUES
// Copyright 2012 Jasper Blues
// All Rights Reserved.
//
// NOTICE: Jasper Blues permits you to use, modify, and distribute this file
// in accordance with the terms of the license agreement accompanying it.
//
////////////////////////////////////////////////////////////////////////////////
#import <Foundation/Foundation.h>
#import <XcodeEditor/XcodeGroupMember.h>
#import <XcodeEditor/XcodeSourceFileType.h>
#import <XcodeEditor/XCBuildFile.h>
@class XCProject;
/**
* Represents a file resource in an xcode project.
*/
@interface XCSourceFile : NSObject<XcodeGroupMember,XCBuildFile>
{
@private
XCProject *_project;
NSNumber *_isBuildFile;
NSString *_buildFileKey;
NSString *_name;
NSString *_sourceTree;
NSString *_key;
NSString *_path;
XcodeSourceFileType _type;
}
@property (nonatomic, readonly) XcodeSourceFileType type;
@property (nonatomic, strong, readonly) NSString *key;
@property (nonatomic, strong) NSString *name;
@property (nonatomic, strong, readonly) NSString *sourceTree;
@property (nonatomic, strong) NSString *path;
+ (XCSourceFile *)sourceFileWithProject:(XCProject *)project key:(NSString *)key type:(XcodeSourceFileType)type
name:(NSString *)name sourceTree:(NSString *)tree path:(NSString *)path;
- (id)initWithProject:(XCProject *)project key:(NSString *)key type:(XcodeSourceFileType)type name:(NSString *)name
sourceTree:(NSString *)tree path:(NSString *)path;
/**
* If yes, indicates the file is able to be included for compilation in an `XCTarget`.
*/
- (BOOL)isBuildFile;
- (BOOL)canBecomeBuildFile;
- (XcodeMemberType)buildPhase;
- (NSString *)buildFileKey;
/**
* Adds this file to the project as an `xcode_BuildFile`, ready to be included in targets.
*/
- (void)becomeBuildFile;
/**
Removes this file as an `xcode_BuildFile` from the project.
*/
- (void)removeBuildFile;
/**
* Method for setting Compiler Flags for individual build files
*
* @param value String value to set in Compiler Flags
*/
- (void)setCompilerFlags:(NSString *)value;
/**
* Method for setting the build file is a weak reference
*/
- (void)setWeakReference;
@end