diff options
author | Aleric Inglewood | 2010-11-07 16:55:50 +0100 |
---|---|---|
committer | Aleric Inglewood | 2010-11-07 18:27:48 +0100 |
commit | 5b4356cefbaa7dbdc8656e7283c110a893b1a89c (patch) | |
tree | 43fae9945562c3281746370d623877840ed884b2 /linden/indra/llcommon/llsd.cpp | |
parent | IMP-688: ERROR: getString: Invalid string control nick01 (diff) | |
download | meta-impy-5b4356cefbaa7dbdc8656e7283c110a893b1a89c.zip meta-impy-5b4356cefbaa7dbdc8656e7283c110a893b1a89c.tar.gz meta-impy-5b4356cefbaa7dbdc8656e7283c110a893b1a89c.tar.bz2 meta-impy-5b4356cefbaa7dbdc8656e7283c110a893b1a89c.tar.xz |
IMP-692: SNOW-713: Global objects in libllcommon duplicated in plugins
See http://jira.secondlife.com/browse/SNOW-713
This patch makes llcommon shared. It contains the following snowglobe
(SVN) changesets: 3478, 3479, 3480, 3481, 3482, 3485, 3496, 3498, 3500,
3519 and 3531, plus the fix for all rejects. Note that changes
to scripts/automated_build_scripts/opensrc-build.sh (changesets 3500
and 3625) were ignored as we don't have scripts/automated_build_scripts.
Diffstat (limited to 'linden/indra/llcommon/llsd.cpp')
-rw-r--r-- | linden/indra/llcommon/llsd.cpp | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/linden/indra/llcommon/llsd.cpp b/linden/indra/llcommon/llsd.cpp index 2cc94c2..be40bb6 100644 --- a/linden/indra/llcommon/llsd.cpp +++ b/linden/indra/llcommon/llsd.cpp | |||
@@ -75,7 +75,7 @@ protected: | |||
75 | ///< This constructor is used for static objects and causes the | 75 | ///< This constructor is used for static objects and causes the |
76 | // suppresses adjusting the debugging counters when they are | 76 | // suppresses adjusting the debugging counters when they are |
77 | // finally initialized. | 77 | // finally initialized. |
78 | 78 | ||
79 | virtual ~Impl(); | 79 | virtual ~Impl(); |
80 | 80 | ||
81 | bool shared() const { return mUseCount > 1; } | 81 | bool shared() const { return mUseCount > 1; } |
@@ -162,6 +162,7 @@ namespace | |||
162 | 162 | ||
163 | virtual LLSD::Type type() const { return T; } | 163 | virtual LLSD::Type type() const { return T; } |
164 | 164 | ||
165 | using LLSD::Impl::assign; | ||
165 | virtual void assign(LLSD::Impl*& var, DataRef value) { | 166 | virtual void assign(LLSD::Impl*& var, DataRef value) { |
166 | if (shared()) | 167 | if (shared()) |
167 | { | 168 | { |
@@ -348,6 +349,10 @@ namespace | |||
348 | 349 | ||
349 | virtual LLSD::Boolean asBoolean() const { return !mData.empty(); } | 350 | virtual LLSD::Boolean asBoolean() const { return !mData.empty(); } |
350 | 351 | ||
352 | using LLSD::Impl::get; // Unhiding get(LLSD::Integer) | ||
353 | using LLSD::Impl::erase; // Unhiding erase(LLSD::Integer) | ||
354 | using LLSD::Impl::ref; // Unhiding ref(LLSD::Integer) | ||
355 | |||
351 | virtual bool has(const LLSD::String&) const; | 356 | virtual bool has(const LLSD::String&) const; |
352 | virtual LLSD get(const LLSD::String&) const; | 357 | virtual LLSD get(const LLSD::String&) const; |
353 | LLSD& insert(const LLSD::String& k, const LLSD& v); | 358 | LLSD& insert(const LLSD::String& k, const LLSD& v); |
@@ -440,6 +445,11 @@ namespace | |||
440 | virtual LLSD::Boolean asBoolean() const { return !mData.empty(); } | 445 | virtual LLSD::Boolean asBoolean() const { return !mData.empty(); } |
441 | 446 | ||
442 | virtual int size() const; | 447 | virtual int size() const; |
448 | |||
449 | using LLSD::Impl::get; // Unhiding get(LLSD::Integer) | ||
450 | using LLSD::Impl::erase; // Unhiding erase(LLSD::Integer) | ||
451 | using LLSD::Impl::ref; // Unhiding ref(LLSD::Integer) | ||
452 | |||
443 | virtual LLSD get(LLSD::Integer) const; | 453 | virtual LLSD get(LLSD::Integer) const; |
444 | void set(LLSD::Integer, const LLSD&); | 454 | void set(LLSD::Integer, const LLSD&); |
445 | LLSD& insert(LLSD::Integer, const LLSD&); | 455 | LLSD& insert(LLSD::Integer, const LLSD&); |