diff options
Diffstat (limited to 'indra/llcommon')
-rw-r--r-- | indra/llcommon/llframetimer.cpp | 6 | ||||
-rw-r--r-- | indra/llcommon/llframetimer.h | 1 | ||||
-rw-r--r-- | indra/llcommon/llsdutil.cpp | 13 | ||||
-rw-r--r-- | indra/llcommon/llsdutil.h | 3 |
4 files changed, 23 insertions, 0 deletions
diff --git a/indra/llcommon/llframetimer.cpp b/indra/llcommon/llframetimer.cpp index fca2bd2e85..2505295143 100644 --- a/indra/llcommon/llframetimer.cpp +++ b/indra/llcommon/llframetimer.cpp @@ -50,6 +50,12 @@ void LLFrameTimer::reset() mExpiry = sFrameTime; } +void LLFrameTimer::resetWithExpiry(F32 expiration) +{ + reset(); + setTimerExpirySec(expiration); +} + // Don't combine pause/unpause with start/stop // Useage: // LLFrameTime foo; // starts automatically diff --git a/indra/llcommon/llframetimer.h b/indra/llcommon/llframetimer.h index c7c1c50c7b..da777e4ee6 100644 --- a/indra/llcommon/llframetimer.h +++ b/indra/llcommon/llframetimer.h @@ -55,6 +55,7 @@ public: void start(); void stop(); void reset(); + void resetWithExpiry(F32 expiration); void pause(); void unpause(); void setTimerExpirySec(F32 expiration); diff --git a/indra/llcommon/llsdutil.cpp b/indra/llcommon/llsdutil.cpp index 57a024ecee..5a0a76b3f3 100644 --- a/indra/llcommon/llsdutil.cpp +++ b/indra/llcommon/llsdutil.cpp @@ -265,3 +265,16 @@ char* ll_print_sd(const LLSD& sd) buffer[bufferSize - 1] = '\0'; return buffer; } + +char* ll_pretty_print_sd(const LLSD& sd) +{ + const U32 bufferSize = 10 * 1024; + static char buffer[bufferSize]; + std::ostringstream stream; + //stream.rdbuf()->pubsetbuf(buffer, bufferSize); + stream << LLSDOStreamer<LLSDXMLFormatter>(sd, LLSDFormatter::OPTIONS_PRETTY); + stream << std::ends; + strncpy(buffer, stream.str().c_str(), bufferSize); + buffer[bufferSize - 1] = '\0'; + return buffer; +}
\ No newline at end of file diff --git a/indra/llcommon/llsdutil.h b/indra/llcommon/llsdutil.h index 860232044e..2241cf9426 100644 --- a/indra/llcommon/llsdutil.h +++ b/indra/llcommon/llsdutil.h @@ -65,4 +65,7 @@ LLSD ll_binary_from_string(const LLSD& sd); // Serializes sd to static buffer and returns pointer, useful for gdb debugging. char* ll_print_sd(const LLSD& sd); +// Serializes sd to static buffer and returns pointer, using "pretty printing" mode. +char* ll_pretty_print_sd(const LLSD& sd); + #endif // LL_LLSDUTIL_H |