summaryrefslogtreecommitdiff
path: root/indra/newview/llmarketplacefunctions.h
AgeCommit message (Collapse)Author
2016-09-15MAINT-5232: Normalize LLSingleton subclasses.Nat Goodspeed
A shocking number of LLSingleton subclasses had public constructors -- and in several instances, were being explicitly instantiated independently of the LLSingleton machinery. This breaks the new LLSingleton dependency-tracking machinery. It seems only fair that if you say you want an LLSingleton, there should only be ONE INSTANCE! Introduce LLSINGLETON() and LLSINGLETON_EMPTY_CTOR() macros. These handle the friend class LLSingleton<whatevah>; and explicitly declare a private nullary constructor. To try to enforce the LLSINGLETON() convention, introduce a new pure virtual LLSingleton method you_must_use_LLSINGLETON_macro() which is, as you might suspect, defined by the macro. If you declare an LLSingleton subclass without using LLSINGLETON() or LLSINGLETON_EMPTY_CTOR() in the class body, you can't instantiate the subclass for lack of a you_must_use_LLSINGLETON_macro() implementation -- which will hopefully remind the coder. Trawl through ALL LLSingleton subclass definitions, sprinkling in LLSINGLETON() or LLSINGLETON_EMPTY_CTOR() as appropriate. Remove all explicit constructor declarations, public or private, along with relevant 'friend class LLSingleton<myself>' declarations. Where destructors are declared, move them into private section as well. Where the constructor was inline but nontrivial, move out of class body. Fix several LLSingleton abuses revealed by making ctors/dtors private: LLGlobalEconomy was both an LLSingleton and the base class for LLRegionEconomy, a non-LLSingleton. (Therefore every LLRegionEconomy instance contained another instance of the LLGlobalEconomy "singleton.") Extract LLBaseEconomy; LLGlobalEconomy is now a trivial subclass of that. LLRegionEconomy, as you might suspect, now derives from LLBaseEconomy. LLToolGrab, an LLSingleton, was also explicitly instantiated by LLToolCompGun's constructor. Extract LLToolGrabBase, explicitly instantiated, with trivial subclass LLToolGrab, the LLSingleton instance. (WARNING: LLToolGrabBase methods have an unnerving tendency to go after LLToolGrab::getInstance(). I DO NOT KNOW what should be the relationship between the instance in LLToolCompGun and the LLToolGrab singleton instance.) LLGridManager declared a variant constructor accepting (const std::string&), with the comment: // initialize with an explicity grid file for testing. As there is no evidence of this being called from anywhere, delete it. LLChicletBar's constructor accepted an optional (const LLSD&). As the LLSD parameter wasn't used, and as there is no evidence of it being passed from anywhere, delete the parameter. LLViewerWindow::shutdownViews() was checking LLNavigationBar:: instanceExists(), then deleting its getInstance() pointer -- leaving a dangling LLSingleton instance pointer, a land mine if any subsequent code should attempt to reference it. Use deleteSingleton() instead. ~LLAppViewer() was calling LLViewerEventRecorder::instance() and then explicitly calling ~LLViewerEventRecorder() on that instance -- leaving the LLSingleton instance pointer pointing to an allocated-but-destroyed instance. Use deleteSingleton() instead.
2016-04-04merge with 4.0.3-releaseOz Linden
2015-11-10remove execute permission from many files that should not have itOz Linden
2015-09-11Bit of cleanup around Translation and remove httpassetstorageRider Linden
2015-09-10MAINT-5575: Finished converting experience cache to singletonRider Linden
MAINT-4952: Coverted VMM to coroutines
2015-06-10DD-416 : Added DAMA when version folder is empty and unlisted, accelerated ↵Merov Linden
some functions avoiding depth computation when we could, fixed cut case
2015-06-08DD-336, DD-359 : WIP : Introduced a reverse lookup table for version folder ↵Merov Linden
to listing folder to improve performance
2015-04-08DD-382 : Refactored the auto activate code in create and associate listing. ↵Merov Linden
Update count on hand in reassociate correctly.
2015-03-05DD-339 : Adding loading indicator to marketplace floater when the listings ↵Merov Linden
data and inventory data are being fetched
2015-02-21DD-335 : Improve the performance of Get listings by 400%, fix a bug when ↵Merov Linden
error occured on SLM
2015-02-03DD-296 : Implement listing validation after we get all copied items ↵Merov Linden
confirmation from the server
2015-01-19DD-300 : Drop zone added to marketplace folderMerov Linden
2014-12-14DD-299 : Suppress cap hardcoded fallback. Recheck cap after each teleport.Merov Linden
2014-11-07DD-272 : Be more consistent when updating the count on hand in SLM, also ↵Merov Linden
prevent multiple folder update when receiving data from SLM
2014-11-03DD-263 : Update the count on hand on SLM in various situation where stock ↵Merov Linden
count changes (activate, drag/drop, associate, etc...)
2014-10-21DD-224 : WIP : Add a deleteListing method, call SLM_UPDATE_FOLDER ↵Merov Linden
notification if state is deleted
2014-10-14DD-170 : Check the Merchant Outbox API and hide the menu item if getting ↵Merov Linden
503. Show SLM always.
2014-10-06DD-170 : Rename enum for consistencyMerov Linden
2014-10-05DD-170 : Handle 503 answer from SLM and added a MARKET_MERCHANT_NOT_MIGRATED ↵Merov Linden
state to the UI, showing only the relevant UI to the user (i.e. Merchant Outbox or Marketplace Listings).
2014-09-16DD-23 : WIP : Catch the SLM_UPDATE_FOLDER notification and trigger the GET ↵Merov Linden
/listing route so to get the updated SLM status for the listing
2014-09-02DD-106 : WIP : Use a single atomic SLM call for association and unlisting. ↵Merov Linden
Updating status on source and destination working.
2014-08-25DD-105 : WIP : Use one single mechanism for marking folders being updated by SLMMerov Linden
2014-08-25DD-105 : WIP : Adding (updating...) suffix when SLM transaction in progressMerov Linden
2014-08-23DD-122 : Fixed. Unlist if listing doesn't validate after moveMerov Linden
2014-08-19DD-129 : Prevent DAMA when dropping under the root of a listing, even ↵Merov Linden
active. Finer granularity of DAMA for all drop and cut and paste cases.
2014-05-29DD-84 : WIP : Get DAMA to display for drag and drop. Note that, because of ↵Merov Linden
current SLM issues, it works on version folders, active or not.
2014-05-12DD-22 : WIP : Implement the GET /listing/:listing route to complete the SLM ↵Merov Linden
API coverage. Will be used only in test.
2014-05-09DD-22 : WIP : Implement deleteSLMListing() to cover the Delete ↵Merov Linden
/listing/:listing_id route. Avoid recursive calls in deleteListing()
2014-05-08DD-22 : WIP : More clean up of marketplace classes, rationalize methods namingMerov Linden
2014-05-08DD-22 : WIP : Cleanep up the class definition, seting methods private and ↵Merov Linden
better isolate calls leading to HTTP requests
2014-05-07DD-22 : WIP : Completed the associate_listing route, take edit_url into ↵Merov Linden
account and rewrite getListingURL()
2014-05-07DD-22 : WIP : Partial implementation of PUT associate_listingMerov Linden
2014-05-06DD-22 : WIP : Implement the modify listing route. Made the code more ↵Merov Linden
readable and cleared old debug code
2014-05-05DD-22 : WIP : Completed GET and POST listings routes. Refactored the ↵Merov Linden
marketplace data code a bit as a result
2014-05-02DD-22 : WIP : Post listing using json, get listings using json (parsing ↵Merov Linden
commented out though as too risky and ugly)
2014-05-01DD-81 : Fixed the stock folder count update using an inventory observer. ↵Merov Linden
This observe other changes as well of interest to marketplace and should improve consistency in general
2014-04-28DD-22 : WIP : Cleaned up error handling in GET merchantMerov Linden
2014-04-28DD-22 : WIP : Implements getSLMListings(). Does no parsing for the momentMerov Linden
2014-04-28DD-22 : WIP : Fix initialization glitch and got rid of old Merchant Outbox ↵Merov Linden
remnants in Marketplace
2014-04-25DD-22 : WIP : Implemented SLM API GET merchant, use it in initialization but ↵Merov Linden
glitch in UI (needs to reopen the floater to see content)
2014-04-22DD-58 : Forced listing ID to be an integer throughout. Verify we get an ↵Merov Linden
integer when using the associate UI.
2014-04-18DD-58 : Implement associate listing UI and primitiveMerov Linden
2014-04-18DD-11 : Suppress getListingName() method since we actually do not need that ↵Merov Linden
to get a listing URL
2014-04-17DD-70 : Use List/Delist for listing folders and Activate/Deactivate for ↵Merov Linden
version folders. Also create test SLM ID when creating listing.
2014-04-16DD-11 : Implement getListingURL() and parametrize it correctly. Change Show ↵Merov Linden
Listing to Edit Listing.
2014-04-09DD-13 : Clean up Associate/Disassociate listing. Also clarify the update ↵Merov Linden
folder code in marketplace
2014-04-06DD-15 : Allow version folder to be made active/inactive, add new methods to ↵Merov Linden
marketplace to make all that a bit more clear and clean
2014-03-14DD-2 : Clean up LLMarketplaceData definitionMerov Linden
2014-03-10DD-3 : WIP : Add test data to LLMarketplaceData when opening the floater for ↵Merov Linden
the first time
2014-03-07DD-2 : Implement LLMarketplaceTuple and LLMarketplaceDataMerov Linden