66 lines
1.9 KiB
C
66 lines
1.9 KiB
C
|
// Copyright (c) 1993-1999 Microsoft Corporation
|
||
|
|
||
|
#ifndef _CMDLINE_HXX_
|
||
|
#define _CMDLINE_HXX_
|
||
|
|
||
|
#include "idict.hxx"
|
||
|
#include "cmdana.hxx"
|
||
|
|
||
|
class CommandLine : public _cmd_arg
|
||
|
{
|
||
|
private:
|
||
|
IDICT* pArgDict; // arguments dictionary
|
||
|
public:
|
||
|
CommandLine()
|
||
|
{
|
||
|
pArgDict = NULL;
|
||
|
}
|
||
|
|
||
|
// register argument vector with the command processor
|
||
|
void RegisterArgs( char *[], short );
|
||
|
|
||
|
// process arguments. This is the command analyser main loop, so to speak.
|
||
|
STATUS_T ProcessArgs();
|
||
|
|
||
|
// get the next argument from the argument vector.
|
||
|
char * GetNextArg();
|
||
|
|
||
|
// push back argument. Undo the effect of GetNextArg.
|
||
|
void UndoGetNextArg();
|
||
|
|
||
|
// depending upon the switch argument type, bump the argument pointer to
|
||
|
// the next switch.
|
||
|
STATUS_T BumpThisArg( char **, unsigned short );
|
||
|
|
||
|
// set any post switch processing defaults
|
||
|
|
||
|
STATUS_T SetPostDefaults();
|
||
|
void SetPostDefaults64();
|
||
|
|
||
|
// process a filename switch .
|
||
|
|
||
|
STATUS_T ProcessFilenameSwitch( short, char * );
|
||
|
|
||
|
// process a multiple arguments switch.
|
||
|
|
||
|
STATUS_T ProcessMultipleSwitch( short, char *, char * );
|
||
|
|
||
|
// process a onetime argument switch.
|
||
|
|
||
|
STATUS_T ProcessOnetimeSwitch( short, char * );
|
||
|
|
||
|
// process an ordinary switch
|
||
|
|
||
|
STATUS_T ProcessOrdinarySwitch( short, char * );
|
||
|
|
||
|
// process a simple switch multiply defined.
|
||
|
|
||
|
STATUS_T ProcessSimpleMultipleSwitch( short, char * );
|
||
|
void Confirm();
|
||
|
STATUS_T Help();
|
||
|
char* GetCompilerVersion();
|
||
|
char* GetCompileTime();
|
||
|
};
|
||
|
|
||
|
#endif // _CMDLINE_HXX_
|