From 420b91db29485df39fd6e724e782c449158811cb Mon Sep 17 00:00:00 2001 From: James Cook Date: Tue, 2 Jan 2007 08:33:20 +0000 Subject: Print done when done. --- indra/llcommon/llfixedbuffer.h | 44 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 indra/llcommon/llfixedbuffer.h (limited to 'indra/llcommon/llfixedbuffer.h') diff --git a/indra/llcommon/llfixedbuffer.h b/indra/llcommon/llfixedbuffer.h new file mode 100644 index 0000000000..2ca21b2ded --- /dev/null +++ b/indra/llcommon/llfixedbuffer.h @@ -0,0 +1,44 @@ +/** + * @file llfixedbuffer.h + * @brief A fixed size buffer of lines. + * + * Copyright (c) 2001-$CurrentYear$, Linden Research, Inc. + * $License$ + */ + +#ifndef LL_LLFIXEDBUFFER_H +#define LL_LLFIXEDBUFFER_H + +#include "timer.h" +#include +#include +#include "llstring.h" + +// Fixed size buffer for console output and other things. + +class LLFixedBuffer +{ +public: + LLFixedBuffer(const U32 max_lines = 20); + virtual ~LLFixedBuffer(); + + LLTimer mTimer; + U32 mMaxLines; + std::deque mLines; + std::deque mAddTimes; + std::deque mLineLengths; + + void clear(); // Clear the buffer, and reset it. + virtual void addLine(const LLString& utf8line); + virtual void addLine(const LLWString& line); + + // Get lines currently in the buffer, up to max_size chars, max_length lines + char *getLines(U32 max_size = 0, U32 max_length = 0); + void setMaxLines(S32 max_lines); +protected: + virtual void removeExtraLines(); +}; + +const U32 FIXED_BUF_MAX_LINE_LEN = 255; // Not including termnating 0 + +#endif //LL_FIXED_BUFFER_H -- cgit v1.2.3