LLSD Class Reference

#include <llsd.h>

Collaboration diagram for LLSD:

Collaboration graph
[legend]
List of all members.

Scalar Types

The scalar types, and how they map onto C++

typedef bool Boolean
typedef S32 Integer
typedef F64 Real
typedef std::string String
typedef LLUUID UUID
typedef LLDate Date
typedef LLURI URI
typedef std::vector< U8Binary

Iterators

typedef std::map< String,
LLSD >::iterator 
map_iterator
typedef std::map< String,
LLSD >::const_iterator 
map_const_iterator
typedef std::vector< LLSD
>::iterator 
array_iterator
typedef std::vector< LLSD
>::const_iterator 
array_const_iterator
int size () const
map_iterator beginMap ()
map_iterator endMap ()
map_const_iterator beginMap () const
map_const_iterator endMap () const
array_iterator beginArray ()
array_iterator endArray ()
array_const_iterator beginArray () const
array_const_iterator endArray () const

Type Testing

enum  Type {
  TypeUndefined, TypeBoolean, TypeInteger, TypeReal,
  TypeString, TypeUUID, TypeDate, TypeURI,
  TypeBinary, TypeMap, TypeArray
}
Type type () const
bool isUndefined () const
bool isDefined () const
bool isBoolean () const
bool isInteger () const
bool isReal () const
bool isString () const
bool isUUID () const
bool isDate () const
bool isURI () const
bool isBinary () const
bool isMap () const
bool isArray () const

Copyable and Assignable

 LLSD (const LLSD &)
void assign (const LLSD &other)
LLSDoperator= (const LLSD &other)

Scalar Constructors

 LLSD (Boolean)
 LLSD (Integer)
 LLSD (Real)
 LLSD (const String &)
 LLSD (const UUID &)
 LLSD (const Date &)
 LLSD (const URI &)
 LLSD (const Binary &)

Convenience Constructors

 LLSD (F32)

Scalar Assignment

void assign (Boolean)
void assign (Integer)
void assign (Real)
void assign (const String &)
void assign (const UUID &)
void assign (const Date &)
void assign (const URI &)
void assign (const Binary &)
LLSDoperator= (Boolean v)
LLSDoperator= (Integer v)
LLSDoperator= (Real v)
LLSDoperator= (const String &v)
LLSDoperator= (const UUID &v)
LLSDoperator= (const Date &v)
LLSDoperator= (const URI &v)
LLSDoperator= (const Binary &v)

Scalar Accessors

Fetch a scalar value, converting if needed and possible

Conversion among the basic types, Boolean, Integer, Real and String, is fully defined. Each type can be converted to another with a reasonable interpretation. These conversions can be used as a convenience even when you know the data is in one format, but you want it in another. Of course, many of these conversions lose information.

Note: These conversions are not the same as Perl's. In particular, when converting a String to a Boolean, only the empty string converts to false. Converting the String "0" to Boolean results in true.

Conversion to and from UUID, Date, and URI is only defined to and from String. Conversion is defined to be information preserving for valid values of those types. These conversions can be used when one needs to convert data to or from another system that cannot handle these types natively, but can handle strings.

Conversion to and from Binary isn't defined.

Conversion of the Undefined value to any scalar type results in a reasonable null or zero value for the type.

Boolean asBoolean () const
Integer asInteger () const
Real asReal () const
String asString () const
UUID asUUID () const
Date asDate () const
URI asURI () const
Binary asBinary () const
 operator Boolean () const
 operator Integer () const
 operator Real () const
 operator String () const
 operator UUID () const
 operator Date () const
 operator URI () const
 operator Binary () const
bool operator! () const

Character Pointer Helpers

These are helper routines to make working with char* the same as easy as working with strings.

 LLSD (const char *)
void assign (const char *)
LLSDoperator= (const char *v)

Map Values

bool has (const String &) const
LLSD get (const String &) const
void insert (const String &, const LLSD &)
void erase (const String &)
LLSDoperator[] (const String &)
LLSDoperator[] (const char *c)
const LLSDoperator[] (const String &) const
const LLSDoperator[] (const char *c) const
static LLSD emptyMap ()

Array Values

LLSD get (Integer) const
void set (Integer, const LLSD &)
void insert (Integer, const LLSD &)
void append (const LLSD &)
void erase (Integer)
const LLSDoperator[] (Integer) const
LLSDoperator[] (Integer)
static LLSD emptyArray ()

Automatic Cast Protection

These are not implemented on purpose. Without them, C++ can perform some conversions that are clearly not what the programmer intended.

If you get a linker error about these being missing, you have made mistake in your code. DO NOT IMPLEMENT THESE FUNCTIONS as a fix.

All of thse problems stem from trying to support char* in LLSD or in std::string. There are too many automatic casts that will lead to using an arbitrary pointer or scalar type to std::string.

 LLSD (const void *)
 construct from aribrary pointers
void assign (const void *)
 assign from arbitrary pointers
LLSDoperator= (const void *)
 assign from arbitrary pointers
bool has (Integer) const
 has only works for Maps

Unit Testing Interface

static U32 allocationCount ()
 how many Impls have been made
static U32 outstandingCount ()
 how many Impls are still alive

Implementation

Implimpl

Public Member Functions

 LLSD ()
 initially Undefined
 ~LLSD ()
 this class may NOT be subclassed
void clear ()
 resets to Undefined

Classes

class  Impl

Detailed Description

LLSD provides a flexible data system similar to the data facilities of dynamic languages like Perl and Python. It is created to support exchange of structured data between loosly coupled systems. (Here, "loosly coupled" means not compiled together into the same module.)

Data in such exchanges must be highly tollerant of changes on either side such as:

To this aim, the C++ API of LLSD strives to be very easy to use, and to default to "the right thing" whereever possible. It is extremely tollerant of errors and unexpected situations.

The fundimental class is LLSD. LLSD is a value holding object. It holds one value that is either undefined, one of the scalar types, or a map or an array. LLSD objects have value semantics (copying them copies the value, though it can be considered efficient, due to shareing.), and mutable.

Undefined is the singular value given to LLSD objects that are not initialized with any data. It is also used as the return value for operations that return an LLSD,

The sclar data types are:

A map is a dictionary mapping String keys to LLSD values. The keys are unique within a map, and have only one value (though that value could be an LLSD array).

An array is a sequence of zero or more LLSD values.

Definition at line 91 of file llsd.h.


Member Typedef Documentation

typedef std::vector<LLSD>::const_iterator LLSD::array_const_iterator

Definition at line 261 of file llsd.h.

typedef std::vector<LLSD>::iterator LLSD::array_iterator

Definition at line 260 of file llsd.h.

typedef std::vector<U8> LLSD::Binary

Definition at line 119 of file llsd.h.

typedef bool LLSD::Boolean

Definition at line 112 of file llsd.h.

typedef LLDate LLSD::Date

Definition at line 117 of file llsd.h.

typedef S32 LLSD::Integer

Definition at line 113 of file llsd.h.

typedef std::map<String, LLSD>::const_iterator LLSD::map_const_iterator

Definition at line 253 of file llsd.h.

typedef std::map<String, LLSD>::iterator LLSD::map_iterator

Definition at line 252 of file llsd.h.

typedef F64 LLSD::Real

Definition at line 114 of file llsd.h.

typedef std::string LLSD::String

Definition at line 115 of file llsd.h.

typedef LLURI LLSD::URI

Definition at line 118 of file llsd.h.

typedef LLUUID LLSD::UUID

Definition at line 116 of file llsd.h.


Member Enumeration Documentation

enum LLSD::Type

Enumerator:
TypeUndefined 
TypeBoolean 
TypeInteger 
TypeReal 
TypeString 
TypeUUID 
TypeDate 
TypeURI 
TypeBinary 
TypeMap 
TypeArray 

Definition at line 271 of file llsd.h.


Constructor & Destructor Documentation

LLSD::LLSD (  ) 

initially Undefined

Definition at line 650 of file llsd.cpp.

Referenced by LLSD::Impl::get().

LLSD::~LLSD (  ) 

this class may NOT be subclassed

Definition at line 651 of file llsd.cpp.

References impl, and LLSD::Impl::reset().

LLSD::LLSD ( const LLSD  ) 

Definition at line 653 of file llsd.cpp.

References assign().

LLSD::LLSD ( Boolean   ) 

Definition at line 662 of file llsd.cpp.

References assign().

LLSD::LLSD ( Integer   ) 

Definition at line 663 of file llsd.cpp.

References assign().

LLSD::LLSD ( Real   ) 

Definition at line 664 of file llsd.cpp.

References assign().

LLSD::LLSD ( const String  ) 

Definition at line 666 of file llsd.cpp.

References assign().

LLSD::LLSD ( const UUID  ) 

Definition at line 665 of file llsd.cpp.

References assign(), and v.

LLSD::LLSD ( const Date  ) 

Definition at line 667 of file llsd.cpp.

References assign(), and v.

LLSD::LLSD ( const URI  ) 

Definition at line 668 of file llsd.cpp.

References assign(), and v.

LLSD::LLSD ( const Binary  ) 

Definition at line 669 of file llsd.cpp.

References assign().

LLSD::LLSD ( F32   ) 

Definition at line 672 of file llsd.cpp.

References assign().

LLSD::LLSD ( const char *   ) 

Definition at line 695 of file llsd.cpp.

References assign().

LLSD::LLSD ( const void  ) 

construct from aribrary pointers


Member Function Documentation

U32 LLSD::allocationCount (  )  [static]

how many Impls have been made

Definition at line 745 of file llsd.cpp.

References LLSD::Impl::sAllocationCount.

Referenced by tut::SDAllocationCheck::~SDAllocationCheck().

void LLSD::append ( const LLSD  ) 

Definition at line 737 of file llsd.cpp.

References impl, makeArray(), and v.

Referenced by append_node_paths(), LLHTTPNode::Description::delAPI(), LLHTTPConfigService::get(), LLHTTPNode::Description::getAPI(), LLAssetStorage::getPendingDetails(), LLFloaterTopObjects::handleReply(), ll_sd_from_color4(), ll_sd_from_quaternion(), ll_sd_from_vector2(), ll_sd_from_vector3(), ll_sd_from_vector3d(), ll_sd_from_vector4(), LLApp::LLApp(), LLSDBinaryParser::parseArray(), LLSDNotationParser::parseArray(), LLHTTPNode::Description::postAPI(), LLMetricsImpl::printTotals(), LLHTTPNode::Description::putAPI(), LLFloaterIMPanel::sendMsg(), LLViewerRegion::setSeedCapability(), and LLHTTPNode::traverse().

LLSD::Binary LLSD::asBinary (  )  const

Definition at line 692 of file llsd.cpp.

References LLSD::Impl::asBinary(), impl, and safe().

Referenced by tut::ensure_equals(), LLSDBinaryFormatter::format(), LLSDNotationFormatter::format(), LLSDXMLFormatter::format_impl(), operator Binary(), and LLViewerChatterBoxInvitation::post().

LLSD::Boolean LLSD::asBoolean (  )  const

Definition at line 685 of file llsd.cpp.

References LLSD::Impl::asBoolean(), impl, and safe().

Referenced by LLScrollListCtrl::addElement(), LLPrefsIMImpl::apply(), LLFloaterTexturePicker::commitIfImmediateSet(), tut::ensure_equals(), LLSDBinaryFormatter::format(), LLSDNotationFormatter::format(), LLSDXMLFormatter::format_impl(), LLCheckBoxCtrl::fromXML(), LLCheckBoxCtrl::get(), LLControlGroup::getBOOL(), LLFloaterTexturePicker::getFilterPermMask(), LLPanelEstateInfo::getFixedSun(), LLPanelEstateInfo::getGlobalTime(), LLMakeOutfitDialog::getIncludedItems(), LLPanelRegionTools::getRegionFlags(), LLPanelRegionTools::getRegionFlagsMask(), LLMakeOutfitDialog::getRenameClothing(), LLFloaterChatterBox::instanceVisible(), LLPanelDirFindAll::navigateToDefaultPage(), LLFloaterAnimPreview::onBtnStop(), LLPanelRegionTerrainInfo::onChangeUseEstateTime(), LLScriptEdCore::onCheckLock(), LLFloaterAnimPreview::onCommitLoop(), operator Boolean(), operator!(), LLPanelDirClassified::performQuery(), LLViewerChatterBoxSessionEventReply::post(), LLViewerChatterBoxSessionStartReply::post(), LLAgentGroupDataUpdateViewerNode::post(), LLPanelDirPopular::requestPopular(), LLFloaterBuyLandUI::runWebSitePrep(), LLPanelDirFindAll::search(), LLFloaterPostcard::sendPostcard(), LLSavedSettingsGlue::setBOOL(), LLMessageSystem::setMessageBans(), LLRadioCtrl::setValue(), LLMenuItemCheckGL::setValue(), LLCheckBoxCtrl::setValue(), LLButton::setValue(), LLFloaterChatterBox::showInstance(), and LLFloaterSnapshot::Impl::updateLayout().

LLSD::Date LLSD::asDate (  )  const

Definition at line 690 of file llsd.cpp.

References LLSD::Impl::asDate(), impl, and safe().

Referenced by LLSDXMLParser::Impl::endElementHandler(), tut::ensure_equals(), LLSDNotationFormatter::format(), LLSDXMLFormatter::format_impl(), and operator Date().

LLSD::Integer LLSD::asInteger (  )  const

Definition at line 686 of file llsd.cpp.

References LLSD::Impl::asInteger(), impl, and safe().

Referenced by LLPanelDisplay2::apply(), LLMimeIndex::contentLength(), LLSDXMLParser::Impl::endElementHandler(), tut::ensure_equals(), LLSDBinaryFormatter::format(), LLSDNotationFormatter::format(), LLSDXMLFormatter::format_impl(), LLPanelRegionTools::getEstateID(), LLPanelRegionTools::getGridPosX(), LLPanelRegionTools::getGridPosY(), LLSDMessageReader::getIPPort(), LLPanelRegionTools::getParentEstateID(), LLPanelRegionTools::getRedirectGridX(), LLPanelRegionTools::getRedirectGridY(), LLSDMessageReader::getS16(), LLControlGroup::getS32(), LLSDMessageReader::getS8(), LLPanelLogin::getServer(), LLSDMessageReader::getU16(), LLControlGroup::getU32(), LLSDMessageReader::getU8(), LLObjectAttachToAvatar::handleEvent(), LLFloaterNameDesc::onBtnOK(), LLFloaterSettingsDebug::onCommitSettings(), LLFloaterVoiceWizard::onCommitVoiceEnable(), LLPrefsVoiceLogic::onEarLocationCommit(), operator Integer(), LLPanelDirClassified::performQuery(), LLPanelDirEvents::performQueryOrDelete(), CoarseLocationUpdate::post(), LLMetricsImpl::recordEvent(), LLClassifiedStatsResponder::result(), LLSavedSettingsGlue::setS32(), LLSavedSettingsGlue::setU32(), LLTabContainerCommon::setValue(), LLScrollbar::setValue(), LLRadioGroup::setValue(), LLDebugVarMessageBox::slider_changed(), and LLFloaterReporter::validateReport().

LLSD::Real LLSD::asReal (  )  const

Definition at line 687 of file llsd.cpp.

References LLSD::Impl::asReal(), impl, and safe().

Referenced by LLPanelDisplay::applyResolution(), commit_slider_zoom(), LLFloaterWorldMap::draw(), LLSDXMLParser::Impl::endElementHandler(), tut::ensure_equals(), LLSDBinaryFormatter::format(), LLSDNotationFormatter::format(), LLSDXMLFormatter::format_impl(), LLSpinCtrl::get(), LLPanelRegionTools::getBillableFactor(), LLSDMessageReader::getF32(), LLControlGroup::getF32(), LLPanelEstateInfo::getSunHour(), LLFloaterWorldMap::handleScrollWheel(), LLFloaterAnimPreview::onBtnStop(), LLFloaterAnimPreview::onCommitEaseIn(), LLFloaterAnimPreview::onCommitEaseOut(), LLFloaterAnimPreview::onCommitLoop(), LLFloaterAnimPreview::onCommitLoopIn(), LLFloaterAnimPreview::onCommitLoopOut(), LLFloaterAnimPreview::onCommitPriority(), LLFloaterSnapshot::Impl::onCommitQuality(), LLFloaterSettingsDebug::onCommitSettings(), LLFloaterAnimPreview::onSliderMove(), LLScrollingPanelParam::onSliderMoved(), LLFloaterColorPicker::onTextEntryChanged(), LLFloaterIMPanel::onVolumeChange(), LLPanelActiveSpeakers::onVolumeChange(), operator Real(), LLPanelDeviceSettings::refresh(), LLPanelRegionGeneralInfo::sendUpdate(), LLSavedSettingsGlue::setF32(), LLSpinCtrl::setMaxValue(), LLSliderCtrl::setMaxValue(), LLSlider::setMaxValue(), LLSpinCtrl::setMinValue(), LLSliderCtrl::setMinValue(), LLSlider::setMinValue(), LLSpinCtrl::setValue(), LLSliderCtrl::setValue(), LLSlider::setValue(), LLDebugVarMessageBox::slider_changed(), LLFloaterAnimPreview::validateEaseIn(), LLFloaterAnimPreview::validateEaseOut(), LLFloaterAnimPreview::validateLoopIn(), and LLFloaterAnimPreview::validateLoopOut().

void LLSD::assign ( const void  ) 

assign from arbitrary pointers

void LLSD::assign ( const char *   ) 

Definition at line 696 of file llsd.cpp.

References assign().

void LLSD::assign ( const Binary  ) 

Definition at line 682 of file llsd.cpp.

References LLSD::Impl::assign(), impl, and safe().

void LLSD::assign ( const URI  ) 

Definition at line 681 of file llsd.cpp.

References LLSD::Impl::assign(), impl, safe(), and v.

void LLSD::assign ( const Date  ) 

Definition at line 680 of file llsd.cpp.

References LLSD::Impl::assign(), impl, safe(), and v.

void LLSD::assign ( const UUID  ) 

Definition at line 679 of file llsd.cpp.

References LLSD::Impl::assign(), impl, safe(), and v.

void LLSD::assign ( const String  ) 

Definition at line 678 of file llsd.cpp.

References LLSD::Impl::assign(), impl, and safe().

void LLSD::assign ( Real   ) 

Definition at line 677 of file llsd.cpp.

References LLSD::Impl::assign(), impl, and safe().

void LLSD::assign ( Integer   ) 

Definition at line 676 of file llsd.cpp.

References LLSD::Impl::assign(), impl, and safe().

void LLSD::assign ( Boolean   ) 

Definition at line 675 of file llsd.cpp.

References LLSD::Impl::assign(), impl, and safe().

void LLSD::assign ( const LLSD other  ) 

Definition at line 654 of file llsd.cpp.

References LLSD::Impl::assign(), and impl.

Referenced by assign(), LLSD(), operator=(), and LLApp::parseCommandOptions().

LLSD::String LLSD::asString (  )  const

Definition at line 688 of file llsd.cpp.

References LLSD::Impl::asString(), impl, and safe().

Referenced by LLScrollListCtrl::addColumn(), LLScrollListCtrl::addElement(), LLNameListCtrl::addElement(), LLServiceBuilder::buildServiceURI(), LLTextureFetchWorker::callbackURLReceived(), tut::checkRoundTrip(), LLPanel::childGetText(), LLMimeIndex::contentType(), LLServiceBuilder::createServiceDefinition(), LLFloaterTrustNetRate::draw(), tut::ensure_equals(), LLFloaterAvatarPicker::find(), LLControlGroup::findString(), LLSimpleDispatcher::fireEvent(), LLSDBinaryFormatter::format(), LLSDNotationFormatter::format(), LLSDXMLFormatter::format_impl(), LLFloaterReporter::gatherReport(), getElementSize(), LLPanelEstateInfo::getEstateName(), LLFloaterSnapshot::Impl::getLayerType(), LLPanelLogin::getLocation(), LLPanelEstateInfo::getOwnerName(), LLPanelDirBrowser::getSelectedInfo(), LLPanelLogin::getServer(), LLControlGroup::getString(), LLFloaterSnapshot::Impl::getTypeIndex(), LLComboBox::getXML(), LLFileSetWindowSize::handleEvent(), LLToolsSelectTool::handleEvent(), LLEditTakeOff::handleEvent(), LLEditEnableTakeOff::handleEvent(), LLViewCheckRenderType::handleEvent(), LLViewToggleRenderType::handleEvent(), LLViewCheckBeaconEnabled::handleEvent(), LLViewToggleBeacon::handleEvent(), LLToggleControl::handleEvent(), LLToolsSelectedScriptAction::handleEvent(), LLShowAgentProfile::handleEvent(), LLPromptShowFile::handleEvent(), LLPromptShowURL::handleEvent(), LLFloaterVisible::handleEvent(), LLShowFloater::handleEvent(), LLWorldForceSun::handleEvent(), LLToolsLookAtSelection::handleEvent(), LLToolsEnableBuyOrTake::handleEvent(), LLView::handleEvent(), LLMenuItemCheckGL::handleEvent(), LLMenuItemCallGL::handleEvent(), LLAttachObject::handleEvent(), LLSetSortBy::handleEvent(), LLDoCreateFloater::handleEvent(), LLDoCreate::handleEvent(), LLDoToSelected::handleEvent(), LLDoToSelectedFloater::handleEvent(), LLDoToSelectedPanel::handleEvent(), LLError::initForServer(), LLMimeIndex::isMultipart(), LLScrollListCtrl::isSelected(), LLRadioGroup::isSelected(), LLMessageConfigFile::loadServerDefaults(), LLFloaterNameDesc::onBtnOK(), LLFloaterAnimPreview::onBtnOK(), LLPanelObjectTools::onClickDeleteAllOwnedBy(), LLPanelObjectTools::onClickDeleteAllScriptedOwnedBy(), LLPanelObjectTools::onClickDeletePublicOwnedBy(), LLPanelRegionDebugInfo::onClickReturnScriptedAll(), LLPanelRegionDebugInfo::onClickReturnScriptedOtherLand(), LLFloaterTestImpl::onCommitCombo(), LLFloaterAnimPreview::onCommitEmote(), LLChatBar::onCommitGesture(), LLFloaterAnimPreview::onCommitHandPose(), LLFloaterAnimPreview::onCommitName(), LLFloaterWorldMap::onCommitSearchResult(), LLFloaterSettingsDebug::onCommitSettings(), LLScriptEdCore::onHelpComboCommit(), LLFloaterAnimPreview::onSliderMove(), operator String(), LLPanelDirPlaces::performQuery(), LLPanelDirLand::performQuery(), LLPanelDirEvents::performQueryOrDelete(), LLMessageHandlerBridge::post(), LLViewerChatterBoxInvitation::post(), LLViewerForceCloseChatterBoxSession::post(), LLViewerChatterBoxSessionEventReply::post(), LLViewerChatterBoxSessionStartReply::post(), LLFloaterNewIM::postBuild(), LLSDRPCServer::process_impl(), LLHTTPResponseHeader::process_impl(), LLPanelGeneral::refresh(), LLChatBar::refreshGestures(), LLFloaterSellLandUI::refreshUI(), LLFloaterAnimPreview::resetMotion(), LLHTTPUpdateResponder::result(), LLHTTPFetchContent::result(), LLPanelDirFindAll::search(), LLPanelAvatar::sendAvatarNotesUpdate(), LLPanelAvatar::sendAvatarPropertiesUpdate(), LLFloaterPostcard::sendPostcard(), LLPanelRequestTools::sendRequest(), set_language(), LLPanelGeneral::set_start_location(), LLScrollListCtrl::setSelectedByValue(), LLRadioGroup::setSelectedByValue(), LLSavedSettingsGlue::setString(), LLTextEditor::setValue(), LLTextBox::setValue(), LLRadioGroup::setValue(), LLMenuItemGL::setValue(), LLLineEditor::setValue(), LLDragHandle::setValue(), LLFloaterHtml::show(), LLFloaterPostcard::updateUserInfo(), LLUpdateAgentInventoryResponder::uploadComplete(), and LLAssetUploadResponder::uploadFailure().

LLSD::URI LLSD::asURI (  )  const

Definition at line 691 of file llsd.cpp.

References LLSD::Impl::asURI(), impl, and safe().

Referenced by LLSDXMLParser::Impl::endElementHandler(), tut::ensure_equals(), and operator URI().

LLSD::UUID LLSD::asUUID (  )  const

Definition at line 689 of file llsd.cpp.

References LLSD::Impl::asUUID(), impl, and safe().

Referenced by LLScrollListCtrl::addElement(), LLSDXMLParser::Impl::endElementHandler(), tut::ensure_equals(), LLFloaterGroupPicker::findInstance(), LLSDBinaryFormatter::format(), LLSDNotationFormatter::format(), LLSDXMLFormatter::format_impl(), LLPanelDirBrowser::getSelectedInfo(), LLScrollListItem::getUUID(), LLShowAgentProfile::handleEvent(), LLFloaterGroupPicker::LLFloaterGroupPicker(), LLPanelActiveSpeakers::onClickMuteTextCommit(), LLPanelActiveSpeakers::onClickMuteVoiceCommit(), LLPanelActiveSpeakers::onClickProfile(), LLPanelActiveSpeakers::onVolumeChange(), operator UUID(), LLViewerChatterBoxInvitation::post(), LLViewerForceCloseChatterBoxSession::post(), LLViewerChatterBoxSessionEventReply::post(), LLViewerChatterBoxSessionStartReply::post(), LLAgentGroupDataUpdateViewerNode::post(), LLPanelActiveSpeakers::refreshSpeakers(), LLAssetUploadResponder::result(), LLTextureCtrl::setValue(), LLNameEditor::setValue(), LLIconCtrl::setValue(), LLUpdateTaskInventoryResponder::uploadComplete(), LLUpdateAgentInventoryResponder::uploadComplete(), and LLNewAgentInventoryResponder::uploadComplete().

LLSD::array_const_iterator LLSD::beginArray (  )  const

Definition at line 755 of file llsd.cpp.

References LLSD::Impl::beginArray(), impl, and safe().

LLSD::array_iterator LLSD::beginArray (  ) 

Definition at line 753 of file llsd.cpp.

References impl, and makeArray().

Referenced by LLScrollListCtrl::addElement(), append_node_paths(), LLLiveLSLEditor::callbackLSLCompileFailed(), LLPreviewLSL::callbackLSLCompileFailed(), LLError::configure(), LLViewerImageList::doPrefetchImages(), tut::HTTPNodeTestData::ensureInArray(), LLAPIService::followRemainder(), LLSDBinaryFormatter::format(), LLSDNotationFormatter::format(), LLSDXMLFormatter::format_impl(), LLApp::getOption(), tut::AlphaNode::handles(), LLServiceBuilder::loadServiceDefinitionsFromFile(), CoarseLocationUpdate::post(), LLAgentGroupDataUpdateViewerNode::post(), LLFilterSD2XMLRPCRequest::process_impl(), tut::HTTPNodeTestData::remainderPath(), LLHTTPFetchContent::result(), LLHTTPFetchTree::result(), LLFloaterIMPanel::sessionInitReplyReceived(), LLScrollListCtrl::setColumnHeadings(), and LLScrollListCtrl::setValue().

LLSD::map_const_iterator LLSD::beginMap (  )  const

Definition at line 750 of file llsd.cpp.

References LLSD::Impl::beginMap(), impl, and safe().

LLSD::map_iterator LLSD::beginMap (  ) 

Definition at line 748 of file llsd.cpp.

References impl, and makeMap().

Referenced by LLIMMgr::addPendingAgentListUpdates(), LLServiceBuilder::buildServiceURI(), check_for_unrecognized_messages(), LLServiceBuilder::createServiceDefinition(), tut::ensure_equals(), LLSDBinaryFormatter::format(), LLSDNotationFormatter::format(), LLSDXMLFormatter::format_impl(), LLHTTPLiveConfigService::get(), LLURI::mapToQueryString(), LLHTTPConfigRuntimeService::post(), LLMetricsImpl::printTotals(), LLIMSpeakerMgr::processSpeakerMap(), request(), LLVoiceClientCapResponder::result(), BaseCapabilitiesComplete::result(), and LLVoiceCallCapResponder::result().

void LLSD::clear (  ) 

resets to Undefined

Definition at line 657 of file llsd.cpp.

References LLSD::Impl::assignUndefined(), and impl.

Referenced by LLFloaterTopObjects::clearList(), LLSDXMLParser::Impl::endElementHandler(), tut::HTTPNodeTestData::ensureRootTraversal(), LLSDRPCResponse::extractResponse(), tut::HTTPNodeTestData::get(), tut::HTTPClientTestData::newResult(), LLSDBinaryParser::parse(), LLSDNotationParser::parse(), LLSDNotationParser::parseArray(), LLSDNotationParser::parseBinary(), LLSDNotationParser::parseMap(), LLSDNotationParser::parseString(), tut::HTTPNodeTestData::post(), LLSDRPCServer::process_impl(), LLSDXMLParser::Impl::reset(), and LLIMInfo::unpackMessageBlock().

LLSD LLSD::emptyArray (  )  [static]

Definition at line 723 of file llsd.cpp.

References makeArray(), and v.

Referenced by tut::TestLLSDSerializeData::doRoundTripTests(), LLHTTPClient::get(), LLFloaterIMPanel::inviteToSession(), LLApp::LLApp(), LLSDBinaryParser::parseArray(), LLSDNotationParser::parseArray(), LLMetricsImpl::printTotals(), LLURI::queryMap(), LLViewerRegion::setSeedCapability(), and LLSDXMLParser::Impl::startElementHandler().

LLSD LLSD::emptyMap (  )  [static]

Definition at line 703 of file llsd.cpp.

References makeMap(), and v.

Referenced by LLHTTPClient::blockingGet(), LLSDMessageBuilder::clearMessage(), tut::TestLLSDSerializeData::doRoundTripTests(), tut::fillmap(), LLFloaterReporter::gatherReport(), LLIMMgr::LLIMMgr(), LLSDMessageBuilder::newMessage(), LLSDMessageBuilder::nextBlock(), LLSDBinaryParser::parseMap(), LLSDNotationParser::parseMap(), LLMetricsImpl::printTotals(), LLMetricsImpl::recordEventDetails(), LLFloaterPostcard::sendPostcard(), LLSDXMLParser::Impl::startElementHandler(), tut::testType(), and update_dialog_callback().

LLSD::array_const_iterator LLSD::endArray (  )  const

Definition at line 756 of file llsd.cpp.

References LLSD::Impl::endArray(), impl, and safe().

LLSD::array_iterator LLSD::endArray (  ) 

Definition at line 754 of file llsd.cpp.

References impl, and makeArray().

Referenced by LLScrollListCtrl::addElement(), append_node_paths(), LLLiveLSLEditor::callbackLSLCompileFailed(), LLPreviewLSL::callbackLSLCompileFailed(), LLError::configure(), LLViewerImageList::doPrefetchImages(), tut::HTTPNodeTestData::ensureInArray(), LLAPIService::followRemainder(), LLSDBinaryFormatter::format(), LLSDNotationFormatter::format(), LLSDXMLFormatter::format_impl(), LLApp::getOption(), tut::AlphaNode::handles(), LLServiceBuilder::loadServiceDefinitionsFromFile(), CoarseLocationUpdate::post(), LLAgentGroupDataUpdateViewerNode::post(), LLFilterSD2XMLRPCRequest::process_impl(), tut::HTTPNodeTestData::remainderPath(), LLHTTPFetchContent::result(), LLHTTPFetchTree::result(), LLFloaterIMPanel::sessionInitReplyReceived(), LLScrollListCtrl::setColumnHeadings(), and LLScrollListCtrl::setValue().

LLSD::map_const_iterator LLSD::endMap (  )  const

Definition at line 751 of file llsd.cpp.

References LLSD::Impl::endMap(), impl, and safe().

LLSD::map_iterator LLSD::endMap (  ) 

Definition at line 749 of file llsd.cpp.

References impl, and makeMap().

Referenced by LLIMMgr::addPendingAgentListUpdates(), LLServiceBuilder::buildServiceURI(), check_for_unrecognized_messages(), LLServiceBuilder::createServiceDefinition(), tut::ensure_equals(), LLSDBinaryFormatter::format(), LLSDNotationFormatter::format(), LLSDXMLFormatter::format_impl(), LLURI::mapToQueryString(), LLHTTPConfigRuntimeService::post(), LLMetricsImpl::printTotals(), LLIMSpeakerMgr::processSpeakerMap(), request(), LLVoiceClientCapResponder::result(), BaseCapabilitiesComplete::result(), and LLVoiceCallCapResponder::result().

void LLSD::erase ( Integer   ) 

Definition at line 738 of file llsd.cpp.

References impl, and makeArray().

void LLSD::erase ( const String  ) 

Definition at line 715 of file llsd.cpp.

References impl, and makeMap().

Referenced by LLIMMgr::clearPendingAgentListUpdates(), LLIMMgr::clearPendingVoiceInviation(), and LLHTTPConfigRuntimeSingleService::del().

LLSD LLSD::get ( Integer   )  const

Definition at line 732 of file llsd.cpp.

References LLSD::Impl::get(), impl, and safe().

LLSD LLSD::get ( const String  )  const

Definition at line 711 of file llsd.cpp.

References LLSD::Impl::get(), impl, and safe().

Referenced by LLSDNotationParser::parseBinary(), and LLMessageSystem::setMessageBans().

bool LLSD::has ( Integer   )  const

has only works for Maps

bool LLSD::has ( const String  )  const

Definition at line 710 of file llsd.cpp.

References LLSD::Impl::has(), impl, and safe().

Referenced by LLScrollListCtrl::addElement(), LLIMMgr::clearPendingAgentListUpdates(), LLIMMgr::clearPendingVoiceInviation(), LLInventoryFilter::fromLLSD(), LLIMMgr::getPendingAgentListUpdates(), LLMessageConfig::getSenderTrustedness(), LLIMMgr::inviteToSession(), LLMessageConfig::isValidMessage(), ll_create_item_from_sd(), LLIMInfo::packMessageBlock(), LLViewerRequiredVoiceVersion::post(), LLViewerParcelVoiceInfo::post(), CoarseLocationUpdate::post(), LLAgentGroupDataUpdateViewerNode::post(), LLContextURLExtractor::process_impl(), LLSDRPCServer::process_impl(), LLVoiceClientCapResponder::result(), LLMimeParser::Impl::scanPastContent(), LLMessageSystem::setMessageBans(), and LLHTTPConfigRuntimeSingleService::validate().

void LLSD::insert ( Integer  ,
const LLSD  
)

Definition at line 735 of file llsd.cpp.

References impl, makeArray(), and v.

void LLSD::insert ( const String ,
const LLSD  
)

Definition at line 713 of file llsd.cpp.

References impl, makeMap(), and v.

Referenced by LLSDBinaryParser::parseMap(), and LLSDNotationParser::parseMap().

bool LLSD::isArray (  )  const [inline]

Definition at line 298 of file llsd.h.

References type(), and TypeArray.

Referenced by LLSDMessageBuilder::nextBlock(), LLHTTPFetchContent::result(), and LLHTTPFetchTree::result().

bool LLSD::isBinary (  )  const [inline]

Definition at line 296 of file llsd.h.

References type(), and TypeBinary.

bool LLSD::isBoolean (  )  const [inline]

Definition at line 289 of file llsd.h.

References type(), and TypeBoolean.

bool LLSD::isDate (  )  const [inline]

Definition at line 294 of file llsd.h.

References type(), and TypeDate.

bool LLSD::isDefined (  )  const [inline]

Definition at line 288 of file llsd.h.

References type(), and TypeUndefined.

Referenced by LLMimeIndex::contentLength(), LLMimeIndex::contentType(), LLApp::getOption(), LLMimeIndex::isMultipart(), and LLHTTPLiveConfigSingleService::validate().

bool LLSD::isInteger (  )  const [inline]

Definition at line 290 of file llsd.h.

References type(), and TypeInteger.

Referenced by LLRadioGroup::setValue().

bool LLSD::isMap (  )  const [inline]

Definition at line 297 of file llsd.h.

References type(), and TypeMap.

Referenced by LLServiceBuilder::buildServiceURI(), LLServiceBuilder::createServiceDefinition(), LLMessageConfigFile::loadCapBans(), LLMessageConfigFile::loadMessageBans(), LLURI::mapToQueryString(), and request().

bool LLSD::isReal (  )  const [inline]

Definition at line 291 of file llsd.h.

References type(), and TypeReal.

bool LLSD::isString (  )  const [inline]

Definition at line 292 of file llsd.h.

References type(), and TypeString.

Referenced by LLServiceBuilder::createServiceDefinition().

bool LLSD::isUndefined (  )  const [inline]

Definition at line 287 of file llsd.h.

References type(), and TypeUndefined.

Referenced by getLLSD(), LLMessageConfigFile::loadFile(), LLSDMessageBuilder::nextBlock(), LLSDNotationParser::parse(), LLMimeParser::Impl::parseHeaders(), LLContextURLExtractor::process_impl(), and tut::rpc_server_data::pump_loop().

bool LLSD::isURI (  )  const [inline]

Definition at line 295 of file llsd.h.

References type(), and TypeURI.

bool LLSD::isUUID (  )  const [inline]

Definition at line 293 of file llsd.h.

References type(), and TypeUUID.

LLSD::operator Binary (  )  const [inline]

Definition at line 202 of file llsd.h.

References asBinary().

LLSD::operator Boolean (  )  const [inline]

Definition at line 195 of file llsd.h.

References asBoolean().

LLSD::operator Date (  )  const [inline]

Definition at line 200 of file llsd.h.

References asDate().

LLSD::operator Integer (  )  const [inline]

Definition at line 196 of file llsd.h.

References asInteger().

LLSD::operator Real (  )  const [inline]

Definition at line 197 of file llsd.h.

References asReal().

LLSD::operator String (  )  const [inline]

Definition at line 198 of file llsd.h.

References asString().

LLSD::operator URI (  )  const [inline]

Definition at line 201 of file llsd.h.

References asURI().

LLSD::operator UUID (  )  const [inline]

Definition at line 199 of file llsd.h.

References asUUID().

bool LLSD::operator! (  )  const [inline]

Definition at line 206 of file llsd.h.

References asBoolean().

LLSD& LLSD::operator= ( const void  ) 

assign from arbitrary pointers

LLSD& LLSD::operator= ( const char *  v  )  [inline]

Definition at line 216 of file llsd.h.

References assign().

LLSD& LLSD::operator= ( const Binary v  )  [inline]

Definition at line 157 of file llsd.h.

References assign().

LLSD& LLSD::operator= ( const URI v  )  [inline]

Definition at line 156 of file llsd.h.

References assign(), and v.

LLSD& LLSD::operator= ( const Date v  )  [inline]

Definition at line 155 of file llsd.h.

References assign(), and v.

LLSD& LLSD::operator= ( const UUID v  )  [inline]

Definition at line 154 of file llsd.h.

References assign(), and v.

LLSD& LLSD::operator= ( const String v  )  [inline]

Definition at line 153 of file llsd.h.

References assign().

LLSD& LLSD::operator= ( Real  v  )  [inline]

Definition at line 152 of file llsd.h.

References assign().

LLSD& LLSD::operator= ( Integer  v  )  [inline]

Definition at line 151 of file llsd.h.

References assign().

LLSD& LLSD::operator= ( Boolean  v  )  [inline]

Definition at line 150 of file llsd.h.

References assign().

LLSD& LLSD::operator= ( const LLSD other  )  [inline]

Definition at line 101 of file llsd.h.

References assign().

LLSD & LLSD::operator[] ( Integer   ) 

Definition at line 740 of file llsd.cpp.

References impl, and makeArray().

const LLSD & LLSD::operator[] ( Integer   )  const

Definition at line 742 of file llsd.cpp.

References impl, LLSD::Impl::ref(), and safe().

const LLSD& LLSD::operator[] ( const char *  c  )  const [inline]

Definition at line 231 of file llsd.h.

const LLSD & LLSD::operator[] ( const String  )  const

Definition at line 719 of file llsd.cpp.

References impl, LLSD::Impl::ref(), and safe().

LLSD& LLSD::operator[] ( const char *  c  )  [inline]

Definition at line 229 of file llsd.h.

LLSD & LLSD::operator[] ( const String  ) 

Definition at line 717 of file llsd.cpp.

References impl, and makeMap().

U32 LLSD::outstandingCount (  )  [static]

how many Impls are still alive

Definition at line 746 of file llsd.cpp.

References LLSD::Impl::sOutstandingCount.

Referenced by tut::SDCleanupCheck::~SDCleanupCheck().

void LLSD::set ( Integer  ,
const LLSD  
)

Definition at line 733 of file llsd.cpp.

References impl, makeArray(), and v.

int LLSD::size (  )  const

Definition at line 730 of file llsd.cpp.

References impl, safe(), and LLSD::Impl::size().

Referenced by tut::ensure_equals(), LLSDBinaryFormatter::format(), LLSDXMLFormatter::format_impl(), LLAPIService::get(), getElementSize(), LLSDMessageBuilder::getMessageSize(), LLSDMessageReader::getNumberOfBlocks(), LLHTTPNode::handles(), LLMessageConfigFile::loadCapBans(), LLMessageConfigFile::loadMessages(), LLSDMessageBuilder::nextBlock(), LLPanelGroupVoting::impl::processGroupActiveProposalItemReply(), and LLPanelGroupVoting::impl::processGroupVoteHistoryItemReply().

LLSD::Type LLSD::type (  )  const

Definition at line 659 of file llsd.cpp.

References impl, safe(), and LLSD::Impl::type().

Referenced by LLSDTraits< std::string >::checkType(), tut::ensure_equals(), LLSDBinaryFormatter::format(), LLSDNotationFormatter::format(), LLSDXMLFormatter::format_impl(), getElementSize(), LLPanelLogin::getServer(), isArray(), isBinary(), isBoolean(), isDate(), isDefined(), isInteger(), isMap(), isReal(), isString(), isUndefined(), isURI(), isUUID(), LLFilterSD2XMLRPCRequest::process_impl(), and LLApp::setOptionData().


Member Data Documentation

Impl* LLSD::impl [private]

Definition at line 323 of file llsd.h.

Referenced by append(), asBinary(), asBoolean(), asDate(), asInteger(), asReal(), assign(), asString(), asURI(), asUUID(), beginArray(), beginMap(), clear(), endArray(), endMap(), erase(), get(), has(), insert(), operator[](), LLSD::Impl::reset(), safe(), LLSD::Impl::safe(), set(), size(), type(), and ~LLSD().


The documentation for this class was generated from the following files:
Generated on Thu Jul 1 06:11:45 2010 for Second Life Viewer by  doxygen 1.4.7