00001 #ifndef __cmt_parser_h__
00002 #define __cmt_parser_h__
00003
00004
00005
00006
00007
00008 typedef enum
00009 {
00010 Csh,
00011 Sh,
00012 Bat,
00013 Make
00014 } PrintMode;
00015
00016 typedef enum
00017 {
00018 mgr_style,
00019 cmt_style,
00020 none_style
00021 } CmtDirStyle;
00022
00023
00024
00025
00026 typedef enum
00027 {
00028 CommandNone,
00029 CommandAlias,
00030 CommandApplication,
00031 CommandApplyPattern,
00032 CommandAuthor,
00033 CommandBranches,
00034 CommandBuildStrategy,
00035 CommandCleanupScript,
00036 CommandDocument,
00037 CommandIgnorePattern,
00038 CommandIncludeDirs,
00039 CommandIncludePath,
00040 CommandLanguage,
00041 CommandLibrary,
00042 CommandMacro,
00043 CommandMacroPrepend,
00044 CommandMacroAppend,
00045 CommandMacroRemove,
00046 CommandMacroRemoveAll,
00047 CommandMakeFragment,
00048 CommandManager,
00049 CommandPackage,
00050 CommandPath,
00051 CommandPathAppend,
00052 CommandPathPrepend,
00053 CommandPathRemove,
00054 CommandPattern,
00055 CommandPrivate,
00056 CommandPublic,
00057 CommandSet,
00058 CommandSetAppend,
00059 CommandSetPrepend,
00060 CommandSetRemove,
00061 CommandSetupScript,
00062 CommandTag,
00063 CommandTagExclude,
00064 CommandUse,
00065 CommandVersion,
00066 CommandVersionStrategy,
00067 Commands
00068 } CommandType;
00069
00070
00071
00072
00073
00074
00075
00076 typedef enum
00077 {
00078 DeveloperMode,
00079 UserMode
00080 } AccessMode;
00081
00082 typedef enum
00083 {
00084 ScopeUnspecified,
00085 ScopePublic,
00086 ScopePrivate
00087 } ScopeType;
00088
00089 typedef enum
00090 {
00091 Unspecified = -1,
00092 Off = 0,
00093 On = 1
00094 } State;
00095
00096 typedef enum
00097 {
00098 PriorityLowest = 0,
00099 PriorityDefault = 1,
00100 PriorityUname = 2,
00101 PrioritySite = 3,
00102 PriorityUserTag = 4,
00103 PriorityTag = 5,
00104 PriorityConfig = 6,
00105 PriorityArgument = 7
00106 } Priority;
00107
00108 typedef enum
00109 {
00110 SetupScript,
00111 CleanupScript
00112 } ScriptType;
00113
00114 typedef enum
00115 {
00116 BestFit,
00117 BestFitNoCheck,
00118 FirstChoice,
00119 LastChoice,
00120 KeepAll,
00121
00122 Strategies
00123 } VersionStrategy;
00124
00125
00126
00127
00128
00129
00130
00131
00132
00133 typedef enum
00134 {
00135 PrototypesMask = 0x1,
00136 Prototypes = 0x0,
00137 NoPrototypes = PrototypesMask,
00138
00139 KeepMakefilesMask = 0x2,
00140 RebuildMakefiles = 0x0,
00141 KeepMakefiles = KeepMakefilesMask,
00142
00143 DefaultBuildStrategy = Prototypes | RebuildMakefiles
00144 } BuildStrategy;
00145
00146 typedef enum
00147 {
00148 Application,
00149 Library,
00150 Document
00151 } ConstituentType;
00152
00153
00154
00155
00156 typedef enum
00157 {
00158 action_none,
00159 action_broadcast,
00160
00161 action_build_constituent_makefile,
00162 action_build_constituents_makefile,
00163 action_build_dependencies,
00164 action_build_library_links,
00165 action_build_make_setup,
00166 action_build_msdev,
00167 action_build_os9_makefile,
00168 action_build_prototype,
00169 action_build_readme,
00170 action_build_tag_makefile,
00171 action_build_temporary_name,
00172 action_build_triggers,
00173 action_build_windefs,
00174
00175 action_check_configuration,
00176 action_check_files,
00177 action_check_version,
00178 action_checkout,
00179 action_cleanup,
00180 action_config,
00181 action_create,
00182 action_cvsbranches,
00183 action_cvssubpackages,
00184 action_cvstags,
00185 action_expand_model,
00186 action_filter,
00187 action_help,
00188 action_load,
00189 action_lock,
00190 action_remove,
00191 action_remove_library_links,
00192 action_run,
00193 action_setup,
00194
00195 action_show_applied_patterns,
00196 action_show_author,
00197 action_show_branches,
00198 action_show_clients,
00199 action_show_constituent,
00200 action_show_constituent_names,
00201 action_show_constituents,
00202 action_show_fragment,
00203 action_show_fragments,
00204 action_show_groups,
00205 action_show_include_dirs,
00206 action_show_language,
00207 action_show_languages,
00208 action_show_macro,
00209 action_show_macro_value,
00210 action_show_macros,
00211 action_show_manager,
00212 action_show_packages,
00213 action_show_path,
00214 action_show_pattern,
00215 action_show_pattern_names,
00216 action_show_patterns,
00217 action_show_pwd,
00218 action_show_set,
00219 action_show_set_value,
00220 action_show_sets,
00221 action_show_strategies,
00222 action_show_tags,
00223 action_show_uses,
00224 action_show_version,
00225 action_show_versions,
00226
00227 action_system,
00228 action_unlock,
00229 action_version
00230 } ActionType;
00231
00232 #define SLASH '/'
00233
00234 class Use;
00235 typedef Use* UseRef;
00236
00237 #include "cmt_std.h"
00238 #include "cmt_string.h"
00239 #include "cmt_vector.h"
00240 #include "cmt.h"
00241
00242 #endif