You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
142 lines
2.2 KiB
142 lines
2.2 KiB
/*++
|
|
|
|
Copyright (c) 1991 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
program.hxx
|
|
|
|
Abstract:
|
|
|
|
Environment:
|
|
|
|
ULIB, User Mode
|
|
|
|
--*/
|
|
|
|
#if ! defined( _PROGRAM_ )
|
|
|
|
#define _PROGRAM_
|
|
|
|
#include "rtmsg.h"
|
|
#include "smsg.hxx"
|
|
|
|
DECLARE_CLASS( PATH );
|
|
DECLARE_CLASS( PROGRAM );
|
|
|
|
class PROGRAM : public OBJECT {
|
|
|
|
public:
|
|
|
|
NONVIRTUAL
|
|
ULIB_EXPORT
|
|
BOOLEAN
|
|
Initialize (
|
|
IN MSGID UsageMsg DEFAULT MSG_UTILS_HELP,
|
|
IN MSGID FatalMsg DEFAULT MSG_UTILS_ERROR_FATAL,
|
|
IN ULONG FatalLevel DEFAULT 1
|
|
);
|
|
|
|
NONVIRTUAL
|
|
ULIB_EXPORT
|
|
~PROGRAM (
|
|
);
|
|
|
|
VIRTUAL
|
|
ULIB_EXPORT
|
|
BOOLEAN
|
|
DisplayMessage (
|
|
IN MSGID Message,
|
|
IN MESSAGE_TYPE Type DEFAULT NORMAL_MESSAGE
|
|
) CONST;
|
|
|
|
VIRTUAL
|
|
ULIB_EXPORT
|
|
BOOLEAN
|
|
DisplayMessage (
|
|
IN MSGID Message,
|
|
IN MESSAGE_TYPE Type,
|
|
IN PSTR Format,
|
|
IN ...
|
|
) CONST;
|
|
|
|
VIRTUAL
|
|
ULIB_EXPORT
|
|
VOID
|
|
ExitProgram (
|
|
ULONG Level
|
|
);
|
|
|
|
VIRTUAL
|
|
ULIB_EXPORT
|
|
VOID
|
|
Fatal (
|
|
) CONST;
|
|
|
|
VIRTUAL
|
|
ULIB_EXPORT
|
|
VOID
|
|
Fatal (
|
|
IN ULONG ErrorLevel,
|
|
IN MSGID Message,
|
|
IN PSTR Format,
|
|
IN ...
|
|
) CONST;
|
|
|
|
VIRTUAL
|
|
ULIB_EXPORT
|
|
PSTREAM
|
|
GetStandardInput (
|
|
);
|
|
|
|
VIRTUAL
|
|
ULIB_EXPORT
|
|
PSTREAM
|
|
GetStandardOutput (
|
|
);
|
|
|
|
VIRTUAL
|
|
ULIB_EXPORT
|
|
PSTREAM
|
|
GetStandardError (
|
|
);
|
|
|
|
VIRTUAL
|
|
ULIB_EXPORT
|
|
VOID
|
|
Usage (
|
|
) CONST;
|
|
|
|
STATIC
|
|
PPATH
|
|
QueryImagePath (
|
|
);
|
|
|
|
VIRTUAL
|
|
ULIB_EXPORT
|
|
VOID
|
|
ValidateVersion (
|
|
IN MSGID InvalidVersionMsg DEFAULT MSG_UTILS_ERROR_INVALID_VERSION,
|
|
IN ULONG ErrorLevel DEFAULT 1
|
|
) CONST;
|
|
|
|
protected:
|
|
|
|
ULIB_EXPORT
|
|
DECLARE_CONSTRUCTOR( PROGRAM );
|
|
|
|
STREAM_MESSAGE _Message; // Message stream
|
|
PSTREAM _Standard_Input; // Standard input
|
|
PSTREAM _Standard_Output; // Standard output
|
|
PSTREAM _Standard_Error; // Standard error
|
|
|
|
private:
|
|
|
|
MSGID _UsageMsg; // Usage message id.
|
|
MSGID _FatalMsg; // Fatal message id.
|
|
ULONG _FatalLevel; // Fatal error level
|
|
|
|
};
|
|
|
|
|
|
#endif // _PROGRAM_
|