aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/llcommon/llsd.cpp
diff options
context:
space:
mode:
authorAleric Inglewood2010-11-07 16:55:50 +0100
committerAleric Inglewood2010-11-07 18:27:48 +0100
commit5b4356cefbaa7dbdc8656e7283c110a893b1a89c (patch)
tree43fae9945562c3281746370d623877840ed884b2 /linden/indra/llcommon/llsd.cpp
parentIMP-688: ERROR: getString: Invalid string control nick01 (diff)
downloadmeta-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.cpp12
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&);