summaryrefslogtreecommitdiffstats
path: root/private/utils/ulib/inc/smsg.hxx
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--private/utils/ulib/inc/smsg.hxx173
1 files changed, 173 insertions, 0 deletions
diff --git a/private/utils/ulib/inc/smsg.hxx b/private/utils/ulib/inc/smsg.hxx
new file mode 100644
index 000000000..13581bbb4
--- /dev/null
+++ b/private/utils/ulib/inc/smsg.hxx
@@ -0,0 +1,173 @@
+/*++
+
+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(
+ );
+
+ MSGID _msgid;
+ 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