LLFloaterReporter Class Reference

#include <llfloaterreporter.h>

Inheritance diagram for LLFloaterReporter:

Inheritance graph
[legend]
Collaboration diagram for LLFloaterReporter:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 LLFloaterReporter (const std::string &name, const LLRect &rect, const std::string &title, EReportType=UNKNOWN_REPORT)
 ~LLFloaterReporter ()
virtual void draw ()
void setPickedObjectProperties (const LLString &object_name, const LLString &owner_name, const LLUUID owner_id)

Static Public Member Functions

static void showFromMenu (EReportType report_type)
static LLFloaterReportershowFromObject (const LLUUID &object_id, bool show=true)
static void onClickSend (void *userdata)
static void onClickCancel (void *userdata)
static void onClickObjPicker (void *userdata)
static void onClickSelectAbuser (void *userdata)
static void closePickTool (void *userdata)
static void uploadDoneCallback (const LLUUID &uuid, void *user_data, S32 result, LLExtStat ext_status)
static void addDescription (const LLString &description, LLMeanCollisionData *mcd=NULL)
static void setDescription (const LLString &description, LLMeanCollisionData *mcd=NULL)
static LLFloaterReportergetReporter (EReportType report_type)
static LLFloaterReportercreateNewAbuseReporter ()
static LLFloaterReportercreateNewBugReporter ()
static void processRegionInfo (LLMessageSystem *msg)

Private Member Functions

void takeScreenshot ()
void sendReportViaCaps (std::string url)
void uploadImage ()
bool validateReport ()
void setReporterID ()
LLSD gatherReport ()
void sendReportViaLegacy (const LLSD &report)
void sendReportViaCaps (std::string url, std::string sshot_url, const LLSD &report)
void setPosBox (const LLVector3d &pos)
void enableControls (BOOL own_avatar)
void getObjectInfo (const LLUUID &object_id)

Static Private Member Functions

static void callbackAvatarID (const std::vector< std::string > &names, const std::vector< LLUUID > &ids, void *data)

Private Attributes

EReportType mReportType
LLUUID mObjectID
LLUUID mScreenID
LLUUID mAbuserID
BOOL mDeselectOnClose
BOOL mPicking
LLVector3 mPosition
BOOL mCopyrightWarningSeen
std::list< LLMeanCollisionData * > mMCDList
LLString mDefaultSummary
LLResourceDatamResourceDatap

Detailed Description

Definition at line 78 of file llfloaterreporter.h.


Constructor & Destructor Documentation

LLFloaterReporter::LLFloaterReporter ( const std::string &  name,
const LLRect rect,
const std::string &  title,
EReportType  = UNKNOWN_REPORT 
)

Definition at line 108 of file llfloaterreporter.cpp.

References LLMessageSystem::addUUID(), BUG_REPORT, LLUICtrlFactory::buildFloater(), LLPanel::childGetText(), LLPanel::childSetAction(), LLPanel::childSetFocus(), LLPanel::childSetText(), enableControls(), FALSE, gAgent, gDialogVisible, LLUICtrlFactory::getButtonByName(), LLPanel::getCtrlByNameAndType(), LLAgent::getID(), LLViewerRegion::getName(), LLViewerRegion::getOriginGlobal(), LLAgent::getPositionGlobal(), LLAgent::getRegion(), LLAgent::getSessionID(), gMessageSystem, gReporterInstances, gUICtrlFactory, mDefaultSummary, LLMessageSystem::newMessage(), LLMessageSystem::nextBlock(), LLStringBase< char >::null, onClickCancel(), onClickObjPicker(), onClickSelectAbuser(), onClickSend(), LLAgent::sendReliableMessage(), LLLineEditor::setEnabled(), setPosBox(), LLFloater::setVisible(), takeScreenshot(), TRUE, and WIDGET_TYPE_LINE_EDITOR.

Referenced by createNewAbuseReporter(), and createNewBugReporter().

LLFloaterReporter::~LLFloaterReporter (  ) 

Definition at line 222 of file llfloaterreporter.cpp.

References closePickTool(), f, FALSE, gDialogVisible, gReporterInstances, mMCDList, mObjectID, mPicking, mPosition, mReportType, mResourceDatap, LLUUID::null, and LLVector3::setVec().


Member Function Documentation

void LLFloaterReporter::addDescription ( const LLString description,
LLMeanCollisionData mcd = NULL 
) [static]

Definition at line 1015 of file llfloaterreporter.cpp.

References COMPLAINT_REPORT, LLUICtrlFactory::getTextEditorByName(), gReporterInstances, and LLTextEditor::insertText().

void LLFloaterReporter::callbackAvatarID ( const std::vector< std::string > &  names,
const std::vector< LLUUID > &  ids,
void data 
) [static, private]

Definition at line 364 of file llfloaterreporter.cpp.

References BUG_REPORT.

Referenced by onClickSelectAbuser().

void LLFloaterReporter::closePickTool ( void userdata  )  [static]

Definition at line 472 of file llfloaterreporter.cpp.

References LLToolMgr::clearTransientTool(), FALSE, LLUICtrlFactory::getButtonByName(), LLToolObjPicker::getObjectID(), gToolMgr, gToolObjPicker, and LLButton::setToggleState().

Referenced by onClickCancel(), onClickObjPicker(), onClickSend(), and ~LLFloaterReporter().

LLFloaterReporter * LLFloaterReporter::createNewAbuseReporter (  )  [static]

Definition at line 574 of file llfloaterreporter.cpp.

References COMPLAINT_REPORT, and LLFloaterReporter().

Referenced by showFromMenu(), and showFromObject().

LLFloaterReporter * LLFloaterReporter::createNewBugReporter (  )  [static]

Definition at line 583 of file llfloaterreporter.cpp.

References BUG_REPORT, and LLFloaterReporter().

Referenced by showFromMenu().

void LLFloaterReporter::draw (  )  [virtual]

Reimplemented from LLFloater.

Definition at line 243 of file llfloaterreporter.cpp.

References BUG_REPORT, LLPanel::childSetEnabled(), LLPanel::childSetValue(), LLFloater::draw(), FALSE, gEmailToEstateOwner, mReportType, and TRUE.

void LLFloaterReporter::enableControls ( BOOL  own_avatar  )  [private]

Definition at line 261 of file llfloaterreporter.cpp.

References BUG_REPORT, LLPanel::childDisable(), LLPanel::childSetEnabled(), and mReportType.

Referenced by LLFloaterReporter().

LLSD LLFloaterReporter::gatherReport (  )  [private]

Definition at line 663 of file llfloaterreporter.cpp.

References LLSD::asString(), BUG_REPORT, LLPanel::childGetText(), LLPanel::childGetValue(), LLSD::emptyMap(), FALSE, gAgent, gEmailToEstateOwner, LLUICtrlFactory::getComboBoxByName(), LLCPUInfo::getFamily(), LLViewerRegion::getName(), LLAgent::getRegion(), LLComboBox::getSimpleSelectedItem(), LLVector3::getValue(), gGLManager, gInProductionGrid, gSysCPU, LL_VERSION_MAJOR, LL_VERSION_MINOR, LL_VERSION_PATCH, LL_VERSION_REVISION, LL_VIEWER_BUILD, mAbuserID, MAX_STRING, mCopyrightWarningSeen, LLGLManager::mDriverVersionVendorString, LLGLManager::mGLRenderer, mObjectID, mPosition, mReportType, and LLUUID::null.

void LLFloaterReporter::getObjectInfo ( const LLUUID object_id  )  [private]

Definition at line 278 of file llfloaterreporter.cpp.

References _PREHASH_AgentData, _PREHASH_AgentID, _PREHASH_ObjectData, _PREHASH_ObjectID, _PREHASH_RequestFlags, _PREHASH_RequestObjectPropertiesFamily, _PREHASH_SessionID, LLMessageSystem::addU32Fast(), LLMessageSystem::addUUIDFast(), BUG_REPORT, BUG_REPORT_REQUEST, LLPanel::childSetText(), COMPLAINT_REPORT_REQUEST, LLViewerObjectList::findObject(), gAgent, LLViewerRegion::getHost(), LLAgent::getID(), LLViewerRegion::getName(), LLViewerObject::getNVPair(), LLViewerObject::getPositionRegion(), LLViewerObject::getRegion(), LLXform::getRoot(), LLAgent::getSessionID(), LLNameValue::getString(), gMessageSystem, gObjectList, LLViewerObject::isAttachment(), LLPrimitive::isAvatar(), mAbuserID, mObjectID, mReportType, LLMessageSystem::newMessageFast(), LLMessageSystem::nextBlockFast(), NULL, LLUUID::null, LLMessageSystem::sendReliable(), and setPosBox().

LLFloaterReporter * LLFloaterReporter::getReporter ( EReportType  report_type  )  [static]

Definition at line 563 of file llfloaterreporter.cpp.

References gReporterInstances, and NULL.

Referenced by LLSelectMgr::processObjectPropertiesFamily(), and uploadDoneCallback().

void LLFloaterReporter::onClickCancel ( void userdata  )  [static]

Definition at line 442 of file llfloaterreporter.cpp.

References closePickTool(), and FALSE.

Referenced by LLFloaterReporter().

void LLFloaterReporter::onClickObjPicker ( void userdata  )  [static]

Definition at line 458 of file llfloaterreporter.cpp.

References closePickTool(), LLUICtrlFactory::getButtonByName(), gToolMgr, gToolObjPicker, LLStringBase< char >::null, LLToolObjPicker::setExitCallback(), LLButton::setToggleState(), LLToolMgr::setTransientTool(), and TRUE.

Referenced by LLFloaterReporter().

void LLFloaterReporter::onClickSelectAbuser ( void userdata  )  [static]

Definition at line 356 of file llfloaterreporter.cpp.

References LLFloater::addDependentFloater(), callbackAvatarID(), FALSE, LLFloaterView::getParentFloater(), gFloaterView, LLFloaterAvatarPicker::show(), and TRUE.

Referenced by LLFloaterReporter().

void LLFloaterReporter::onClickSend ( void userdata  )  [static]

Definition at line 382 of file llfloaterreporter.cpp.

References LLViewerWindow::alertXml(), BUG_REPORT, closePickTool(), gAgent, LLViewerRegion::getCapability(), LLAgent::getRegion(), gViewerWindow, LLUploadDialog::modalUploadDialog(), LLUploadDialog::modalUploadFinished(), LLStringBase< char >::toLower(), and TRUE.

Referenced by LLFloaterReporter().

void LLFloaterReporter::processRegionInfo ( LLMessageSystem msg  )  [static]

Definition at line 204 of file llfloaterreporter.cpp.

References LLViewerWindow::alertXml(), gDialogVisible, gEmailToEstateOwner, LLMessageSystem::getU32(), gViewerWindow, and REGION_FLAGS_ABUSE_EMAIL_TO_ESTATE_OWNER.

Referenced by LLViewerRegion::processRegionInfo().

void LLFloaterReporter::sendReportViaCaps ( std::string  url,
std::string  sshot_url,
const LLSD report 
) [private]

Definition at line 856 of file llfloaterreporter.cpp.

References LLPanel::childGetValue(), LLResourceData::mAssetInfo, mResourceDatap, LLAssetInfo::mType, LLAssetInfo::mUuid, and LLHTTPClient::post().

void LLFloaterReporter::sendReportViaCaps ( std::string  url  )  [private]

void LLFloaterReporter::sendReportViaLegacy ( const LLSD report  )  [private]

Definition at line 790 of file llfloaterreporter.cpp.

References _PREHASH_AgentData, _PREHASH_AgentID, _PREHASH_Category, _PREHASH_CheckFlags, _PREHASH_Details, _PREHASH_ObjectID, _PREHASH_Position, _PREHASH_ReportData, _PREHASH_ReportType, _PREHASH_ScreenshotID, _PREHASH_SessionID, _PREHASH_Summary, _PREHASH_UserReport, LLMessageSystem::addString(), LLMessageSystem::addStringFast(), LLMessageSystem::addU8(), LLMessageSystem::addU8Fast(), LLMessageSystem::addUUID(), LLMessageSystem::addUUIDFast(), LLMessageSystem::addVector3Fast(), gAgent, LLViewerRegion::getHost(), LLAgent::getID(), LLAgent::getRegion(), LLAgent::getSessionID(), gMessageSystem, LLMessageSystem::newMessageFast(), LLMessageSystem::nextBlockFast(), and LLMessageSystem::sendReliable().

void LLFloaterReporter::setDescription ( const LLString description,
LLMeanCollisionData mcd = NULL 
) [static]

Definition at line 999 of file llfloaterreporter.cpp.

References COMPLAINT_REPORT, and gReporterInstances.

void LLFloaterReporter::setPickedObjectProperties ( const LLString object_name,
const LLString owner_name,
const LLUUID  owner_id 
)

Definition at line 593 of file llfloaterreporter.cpp.

References LLPanel::childSetText(), and mAbuserID.

Referenced by LLSelectMgr::processObjectPropertiesFamily().

void LLFloaterReporter::setPosBox ( const LLVector3d pos  )  [private]

Definition at line 989 of file llfloaterreporter.cpp.

References LLPanel::childSetText(), llformat(), mPosition, LLVector3::mV, LLVector3::setVec(), VX, VY, and VZ.

Referenced by getObjectInfo(), and LLFloaterReporter().

void LLFloaterReporter::setReporterID (  )  [private]

void LLFloaterReporter::showFromMenu ( EReportType  report_type  )  [static]

Definition at line 487 of file llfloaterreporter.cpp.

References LLViewerWindow::alertXml(), BUG_REPORT, LLAgent::buildFullname(), COMPLAINT_REPORT, createNewAbuseReporter(), createNewBugReporter(), f, gAgent, gReporterInstances, gViewerWindow, llendl, and llwarns.

Referenced by LLShowFloater::handleEvent().

LLFloaterReporter * LLFloaterReporter::showFromObject ( const LLUUID object_id,
bool  show = true 
) [static]

Definition at line 532 of file llfloaterreporter.cpp.

References LLAgent::buildFullname(), createNewAbuseReporter(), f, FALSE, gAgent, gDialogVisible, and TRUE.

Referenced by LLObjectReportAbuse::handleEvent(), and LLFloaterAvatarList::processARQueue().

void LLFloaterReporter::takeScreenshot (  )  [private]

Definition at line 872 of file llfloaterreporter.cpp.

References LLViewerImageList::addImage(), LLAssetType::AT_TEXTURE, BUG_REPORT, COMPLAINT_REPORT, LLViewerImageList::convertToUploadFile(), FALSE, gAgent, gAgentID, LLUUID::generate(), LLAgent::getSecureSessionID(), LLUICtrlFactory::getTexturePickerByName(), gImageList, gVFS, gViewerWindow, LLInventoryType::IT_NONE, llendl, LLTexturePicker, llwarns, LLTransactionID::makeAssetID(), LLResourceData::mAssetInfo, LLAssetInfo::mCreatorID, LLResourceData::mInventoryType, LLResourceData::mPreferredLocation, mReportType, mResourceDatap, LLAssetInfo::mTransactionID, LLAssetInfo::mType, LLAssetInfo::mUuid, LLViewerWindow::rawSnapshot(), S32, LLAssetInfo::setDescription(), LLAssetInfo::setName(), texture, TRUE, and LLVFile::writeFile().

Referenced by LLFloaterReporter().

void LLFloaterReporter::uploadDoneCallback ( const LLUUID uuid,
void user_data,
S32  result,
LLExtStat  ext_status 
) [static]

Definition at line 946 of file llfloaterreporter.cpp.

References LLViewerWindow::alertXml(), BUG_REPORT, COMPLAINT_REPORT, LLAssetStorage::getErrorString(), getReporter(), gViewerWindow, llendl, llinfos, llwarns, LLUploadDialog::modalUploadFinished(), LLResourceData::mPreferredLocation, and UNKNOWN_REPORT.

Referenced by uploadImage().

void LLFloaterReporter::uploadImage (  )  [private]

Definition at line 930 of file llfloaterreporter.cpp.

References gAssetStorage, LLAssetInfo::getDescription(), LLAssetInfo::getName(), llendl, llinfos, LLAssetType::lookup(), LLResourceData::mAssetInfo, mResourceDatap, LLAssetInfo::mTransactionID, LLAssetInfo::mType, LLAssetInfo::mUuid, LLAssetStorage::storeAssetData(), TRUE, and uploadDoneCallback().

bool LLFloaterReporter::validateReport (  )  [private]

Definition at line 602 of file llfloaterreporter.cpp.

References LLViewerWindow::alertXml(), LLSD::asInteger(), BUG_REPORT, LLPanel::childGetText(), LLPanel::childGetValue(), gViewerWindow, mDefaultSummary, and mReportType.


Member Data Documentation

LLUUID LLFloaterReporter::mAbuserID [private]

Definition at line 132 of file llfloaterreporter.h.

Referenced by gatherReport(), getObjectInfo(), and setPickedObjectProperties().

BOOL LLFloaterReporter::mCopyrightWarningSeen [private]

Definition at line 136 of file llfloaterreporter.h.

Referenced by gatherReport().

LLString LLFloaterReporter::mDefaultSummary [private]

Definition at line 138 of file llfloaterreporter.h.

Referenced by LLFloaterReporter(), and validateReport().

BOOL LLFloaterReporter::mDeselectOnClose [private]

Definition at line 133 of file llfloaterreporter.h.

std::list<LLMeanCollisionData*> LLFloaterReporter::mMCDList [private]

Definition at line 137 of file llfloaterreporter.h.

Referenced by ~LLFloaterReporter().

LLUUID LLFloaterReporter::mObjectID [private]

Definition at line 130 of file llfloaterreporter.h.

Referenced by gatherReport(), getObjectInfo(), and ~LLFloaterReporter().

BOOL LLFloaterReporter::mPicking [private]

Definition at line 134 of file llfloaterreporter.h.

Referenced by ~LLFloaterReporter().

LLVector3 LLFloaterReporter::mPosition [private]

Definition at line 135 of file llfloaterreporter.h.

Referenced by gatherReport(), setPosBox(), and ~LLFloaterReporter().

EReportType LLFloaterReporter::mReportType [private]

Definition at line 129 of file llfloaterreporter.h.

Referenced by draw(), enableControls(), gatherReport(), getObjectInfo(), takeScreenshot(), validateReport(), and ~LLFloaterReporter().

LLResourceData* LLFloaterReporter::mResourceDatap [private]

Definition at line 139 of file llfloaterreporter.h.

Referenced by sendReportViaCaps(), takeScreenshot(), uploadImage(), and ~LLFloaterReporter().

LLUUID LLFloaterReporter::mScreenID [private]

Definition at line 131 of file llfloaterreporter.h.


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