source: dev/trunk/ab5.0/abdev/BasicCompiler_Common/include/Program.h@ 636

Last change on this file since 636 was 636, checked in by dai_9181, 16 years ago

libファイルを跨ったテンプレート展開に対応。

File size: 1.7 KB
RevLine 
[168]1#pragma once
2
3class Program
4{
[467]5 std::string sourceFilePath;
6 std::string outputFilePath;
7
8 bool isKickedFromEditor;
[471]9 bool isShowDlg;
[467]10 bool isDebugRun;
11 bool isAttach;
12 DWORD attachProcessId;
13 bool isClipCompileView;
14 std::string includeDir;
15
[168]16public:
17 static Jenga::Common::Logger logger;
[467]18
19 Program()
20 : isKickedFromEditor( false )
[471]21 , isShowDlg( false )
[467]22 , isDebugRun( false )
23 , isAttach( false )
24 , attachProcessId( 0 )
25 , isClipCompileView( false )
26 {
27 }
28
[477]29 void Configurate();
30
[467]31 bool AnalysisCommandLines();
32
33 const std::string &GetSourceFilePath() const
34 {
35 return sourceFilePath;
36 }
37 void SetSourceFilePath( const std::string &sourceFilePath )
38 {
39 this->sourceFilePath = sourceFilePath;
40 }
41 const std::string &GetOutputFilePath() const
42 {
43 return outputFilePath;
44 }
[636]45 const std::string GetOutputFileName() const
46 {
47 Jenga::Common::Path path( outputFilePath );
48 return path.GetFileName() + path.GetExt();
49 }
[467]50 void SetOutputFilePath( const std::string &outputFilePath )
51 {
52 this->outputFilePath = outputFilePath;
53 }
54
55 bool IsKickedFromEditor() const
56 {
57 return isKickedFromEditor;
58 }
59
[471]60 bool IsShowDlg() const
61 {
62 return isShowDlg;
63 }
64
[467]65 bool IsDebugRun() const
66 {
67 return isDebugRun;
68 }
69
70 bool IsAttach() const
71 {
72 return isAttach;
73 }
74
75 DWORD GetAttachProcessId() const
76 {
77 return attachProcessId;
78 }
79
80 bool IsClipCompileView() const
81 {
82 return isClipCompileView;
83 }
84
85 const std::string &GetIncludeDir() const
86 {
87 return includeDir;
88 }
89 void SetIncludeDir( const std::string &includeDir )
90 {
91 this->includeDir = includeDir;
92 }
[472]93
94 int GetExitCode() const;
[168]95};
[467]96
97extern Program program;
Note: See TracBrowser for help on using the repository browser.