/*++ 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. --*/ #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