Commit Graph

25 Commits (bea2dfbc22bb2d80755dcf9daf810e1ea0329c2d)

Author SHA1 Message Date
Nat Goodspeed 3e6c522084 LLSD-14: Extract remaining conditional LLSD mbrs to namespace llsd.
Per Monty's code review, it's dubious practice to have a class in which
certain members are sometimes visible, other times not. If these were virtual
methods, or non-static data members, the error would be obvious -- but even
with static data members and non-virtual methods, it looks like an ODR
violation. Extract conditional methods as free functions, as in changeset
07cd70e75473.
2011-12-06 09:54:59 -05:00
Nat Goodspeed 1a6846444f LLSD-14: Optional entry points need conditional decls turned on.
Changeset 07cd70e75473 moved LLSD::outstandingCount() and allocationCount() to
free functions so we could turn their visibility on/off via LLSD_DEBUG_INFO.
But on some platforms, without proper LL_COMMON_API declarations visible when
we compile llsd.cpp, those free functions lack proper linkage directives.
Declare LLSD_DEBUG_INFO in llsd.cpp so that when the llcommon library is
built, the free functions get proper linkage -- independent of compilations of
LLSD consumers.
2011-12-05 09:26:10 -05:00
Nat Goodspeed 95fb0249e9 LLSD-14: Move LLSD::(outstanding|allocation)Count() to free functions.
Free functions can be unconditionally compiled into the .o file, but
conditionally hidden in the header file. Static class methods don't have that
flexibility: without a declaration in the header file, you can't compile a
function definition in the .cpp file. That makes it awkward to use the same
llcommon build for production and for unit tests.
Why make the function declarations conditional at all? These are debugging
functions. They break the abstraction, they peek under the covers. Production
code should not use them. Making them conditional on an #ifdef symbol in the
unit-test source file means the compiler would reject any use by production
code. Put differently, it allows us to assert with confidence that only unit
tests do use them.
Put new free functions in (lowercase) llsd namespace so as not to clutter
global namespace.
Tweak the one known consumer (llsd_new_tut.cpp) accordingly.
2011-12-01 16:50:27 -05:00
Nat Goodspeed e97fb23218 Make LLSD diagnostic methods conditional on LLSD_DEBUG_INFO.
This establishes that there are no viewer-side unit tests relying on these
methods. The point is to try to clean up the LLSD public API. In the same
vein, remove from LLSD public API a diagnostic method which is nothing more
than an implementation detail for the corresponding LLSD::Impl method. The
same effect can be achieved by making LLSD::Impl a friend of LLSD, moving the
method with the messy signature (classic-C arrays!) into LLSD::Impl itself.
2011-11-19 10:02:20 -05:00
Nat Goodspeed b49c934bd9 LLSD-14: fixed way-too-overloaded local variable. 2011-11-17 15:03:25 -05:00
Nat Goodspeed bd5b1ed713 LLSD-14: Make dumpStats()/calcStats() implementation more robust
per Monty code review
2011-11-17 13:55:11 -05:00
Nat Goodspeed e62c691aab LLSD-14: Fix silly syntax error in subscript bounds check. 2011-11-17 10:02:05 -05:00
Nat Goodspeed cc1fb7bcac LLSD-14: Bring over llsd.{h,cpp} enhancements from server-trunk.
Because new enum values have been added to the LLSD type field, a few external
switch statements must be adjusted to suppress fatal warnings, even though we
never expect to encounter an LLSD instance containing any of the new values.
2011-11-17 08:06:31 -05:00
Oz Linden 06b0d72efa Change license from GPL to LGPL (version 2.1) 2010-08-13 07:24:57 -04:00
Kent Quirk f496c2b164 DEV-43622 : API change (no functionality change) to fix a design error in LLSD
I made it about a year and a half ago; Zero found it while reading code. I had added a return value to LLSD::insert(), but a) did it wrong, and b) broke the STL-like semantics of insert(). So I've put insert() back to returning void and created LLSD::with(), which does what my earlier insert() did. The compiler then caught all the cases where insert()'s return value were being used, and I changed those to use with() instead.
2009-12-01 20:59:08 -05:00
Richard Nelson 138bf11322 merge -r 130399-131510 skinning-21 -> viewer-2.0.0-3
DEV-11254 DEV-11254 DEV-2003: DEV-21567 DEV-37301 EXT-104 EXT-138 EXT-217 EXT-256 EXT-259 EXT-259 EXT-328 EXT-348 EXT-386 EXT-399 EXT-403 EXT-460 EXT-492 EXT-492 EXT-531 EXT-537 EXT-684

improved text editor (handles multiple fonts simultaneously as well as inline widgets)
2009-08-24 20:04:52 +00:00
Mark Palange 0274c1f2b1 Merged work for DEV-2066 (and formerly QAR-1538) in Viewer 2.
merged all changes, post copy, from the following branches:
linden/brachnes/enable-o-v
user/cg/qar-1538
user/mani/viewer2-enable-o-v
2009-07-16 17:54:58 +00:00
Aaron Brashears e3cf284388 Result of svn merge -r107256:107258 svn+ssh://svn/svn/user/phoenix/license_2009_merge into trunk. QAR-1165 2009-01-08 00:05:06 +00:00
Kent Quirk 667ca55bad svn merge -r106715:HEAD svn+ssh://svn.lindenlab.com/svn/linden/branches/q/notifications-merge-r106715 . QAR-1149 -- Final merge of notifications to trunk. 2009-01-05 18:59:12 +00:00
Bryan O'Sullivan 9db949eec3 svn merge -r88066:88786 svn+ssh://svn.lindenlab.com/svn/linden/branches/cmake-9-merge
dataserver-is-deprecated
for-fucks-sake-whats-with-these-commit-markers
2008-06-02 21:14:31 +00:00
Ryan Williams 52333fc830 svn merge -r87349:87423 svn+ssh://svn.lindenlab.com/svn/linden/branches/escrow/liquid-banjo-03-merge release dataserver-is-deprecated 2008-05-13 21:07:14 +00:00
Christian Goetze 7b7dd4e6f6 svn merge -r74808:74832 svn+ssh://svn/svn/linden/branches/qa-dpo-9a 2007-12-01 01:29:28 +00:00
Steven Bennetts 050dad0ce3 merge svn+ssh://steve@svn/svn/linden/branches/viewer-cleanup-3 -r 73026:73079 2007-11-07 22:55:27 +00:00
Aaron Brashears 5595a99623 Result of svn merge -r71162:71205 svn+ssh://svn/svn/linden/branches/new-license into release. only changes files which are not deployed or the comments section of code. 2007-10-04 23:19:43 +00:00
Aaron Brashears 4942a7b779 Result of svn merge -r70873:71086 svn+ssh://svn/svn/linden/branches/enable-exceptions into release. 2007-10-04 16:31:48 +00:00
Kelly Washington e03bb0606a merge -r62831:64079 branches/maintenance to release 2007-06-21 22:40:22 +00:00
Aaron Brashears 5cc44523f7 Result of svn merge -r57350:57790 svn+ssh://svn/svn/linden/branches/os-patches.001 into release. 2007-02-09 23:35:12 +00:00
Andrew Meadows bd48685d34 Fixed a linux build issue when the llhavok suddenly required rtti in order to link.
I added a #ifndef hack to v3math.h to eliminate LLString's from the llhavok project.
I also removed lluuid.h's dependency on LLString (using std::string) instead and
then fixed a bunch of bad dependency fallout on a few files around the project
that suddenly lost their hidden access to some fundamental includes.
The important parts were reviewed with James.
2007-02-07 20:33:52 +00:00
Mark Lentczner d0d4670f49 merge in of error-refactor-3
concludes (fixes) SL-31187
pair programmed and reviewed by markl and karen
2007-02-06 00:57:33 +00:00
James Cook 420b91db29 Print done when done. 2007-01-02 08:33:20 +00:00