173 lines
3 KiB
C++
173 lines
3 KiB
C++
|
/*++
|
||
|
|
||
|
Copyright (c) 1991 Microsoft Corporation
|
||
|
|
||
|
Module Name:
|
||
|
|
||
|
smsg.hxx
|
||
|
|
||
|
Abstract:
|
||
|
|
||
|
The STREAM_MESSAGE class offers a STREAM implementation of the
|
||
|
MESSAGE class. The messages are output to the STREAM to which
|
||
|
the object is initialized to.
|
||
|
|
||
|
Author:
|
||
|
|
||
|
Norbert P. Kusters (norbertk) 1-Apr-91
|
||
|
|
||
|
--*/
|
||
|
|
||
|
|
||
|
#if !defined(STREAM_MESSAGE_DEFN)
|
||
|
|
||
|
#define STREAM_MESSAGE_DEFN
|
||
|
|
||
|
#include "message.hxx"
|
||
|
|
||
|
DECLARE_CLASS( STREAM_MESSAGE );
|
||
|
DECLARE_CLASS( STREAM );
|
||
|
|
||
|
class STREAM_MESSAGE : public MESSAGE {
|
||
|
|
||
|
public:
|
||
|
|
||
|
ULIB_EXPORT
|
||
|
DECLARE_CONSTRUCTOR( STREAM_MESSAGE );
|
||
|
|
||
|
VIRTUAL
|
||
|
ULIB_EXPORT
|
||
|
~STREAM_MESSAGE(
|
||
|
);
|
||
|
|
||
|
NONVIRTUAL
|
||
|
ULIB_EXPORT
|
||
|
BOOLEAN
|
||
|
Initialize(
|
||
|
IN OUT PSTREAM OutputStream,
|
||
|
IN OUT PSTREAM InputStream,
|
||
|
IN OUT PSTREAM ErrorStream DEFAULT NULL
|
||
|
);
|
||
|
|
||
|
VIRTUAL
|
||
|
ULIB_EXPORT
|
||
|
BOOLEAN
|
||
|
Set(
|
||
|
IN MSGID MsgId,
|
||
|
IN MESSAGE_TYPE MessageType DEFAULT NORMAL_MESSAGE,
|
||
|
IN ULONG MessageVisual DEFAULT NORMAL_VISUAL
|
||
|
);
|
||
|
|
||
|
VIRTUAL
|
||
|
BOOLEAN
|
||
|
DisplayV(
|
||
|
IN PCSTR Format,
|
||
|
IN va_list VarPointer
|
||
|
);
|
||
|
|
||
|
VIRTUAL
|
||
|
ULIB_EXPORT
|
||
|
BOOLEAN
|
||
|
IsYesResponse(
|
||
|
IN BOOLEAN Default DEFAULT TRUE
|
||
|
);
|
||
|
|
||
|
VIRTUAL
|
||
|
BOOLEAN
|
||
|
QueryStringInput(
|
||
|
OUT PWSTRING String
|
||
|
);
|
||
|
|
||
|
VIRTUAL
|
||
|
BOOLEAN
|
||
|
WaitForUserSignal(
|
||
|
);
|
||
|
|
||
|
VIRTUAL
|
||
|
MSGID
|
||
|
SelectResponse(
|
||
|
IN ULONG NumberOfSelections ...
|
||
|
);
|
||
|
|
||
|
NONVIRTUAL
|
||
|
VOID
|
||
|
SetInputCaseSensitivity(
|
||
|
IN BOOLEAN CaseSensitive
|
||
|
);
|
||
|
|
||
|
VIRTUAL
|
||
|
PMESSAGE
|
||
|
Dup(
|
||
|
);
|
||
|
|
||
|
private:
|
||
|
|
||
|
NONVIRTUAL
|
||
|
VOID
|
||
|
Construct(
|
||
|
);
|
||
|
|
||
|
NONVIRTUAL
|
||
|
VOID
|
||
|
Destroy(
|
||
|
);
|
||
|
|
||
|
NONVIRTUAL
|
||
|
BOOLEAN
|
||
|
ReadLine(
|
||
|
OUT PWSTRING String
|
||
|
);
|
||
|
|
||
|
NONVIRTUAL
|
||
|
BOOLEAN
|
||
|
Flush(
|
||
|
);
|
||
|
|
||
|
NONVIRTUAL
|
||
|
BOOLEAN
|
||
|
DisplayString(
|
||
|
);
|
||
|
|
||
|
MESSAGE_TYPE _msgtype;
|
||
|
ULONG _msgvisual;
|
||
|
PSTREAM _out_stream;
|
||
|
PSTREAM _in_stream;
|
||
|
PSTREAM _err_stream;
|
||
|
BOOLEAN _case_sensitive;
|
||
|
BOOLEAN _copy_input;
|
||
|
DSTRING _display_string;
|
||
|
|
||
|
};
|
||
|
|
||
|
|
||
|
typedef STREAM_MESSAGE* PSTREAM_MESSAGE;
|
||
|
|
||
|
|
||
|
INLINE
|
||
|
VOID
|
||
|
STREAM_MESSAGE::SetInputCaseSensitivity(
|
||
|
IN BOOLEAN CaseSensitive
|
||
|
)
|
||
|
/*++
|
||
|
|
||
|
Routine Description:
|
||
|
|
||
|
This routine sets whether or not to be case sensitive on input.
|
||
|
The class defaults this value to FALSE when it is initialized.
|
||
|
|
||
|
Arguments:
|
||
|
|
||
|
CaseSensitive - Supplies whether or not to be case sensitive on input.
|
||
|
|
||
|
Return Value:
|
||
|
|
||
|
None.
|
||
|
|
||
|
--*/
|
||
|
{
|
||
|
_case_sensitive = CaseSensitive;
|
||
|
}
|
||
|
|
||
|
|
||
|
#endif // STREAM_MESSAGE_DEFN
|