summaryrefslogtreecommitdiff
path: root/indra/newview/llfacebookconnect.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.
2015-07-10Backed out changeset bab1000e1b2d: restore 'selfless' changesNat Goodspeed
2015-07-07Backout selfles merge 738255dbbfd679d9e615baab3398e5e345bbb3c5Rider Linden
2015-07-01MAINT-5351: Remove 'self' parameter from coroutine functions.Nat Goodspeed
lleventcoro_test.cpp runs clean (as modified for new API), and all the rest builds clean, but the resulting viewer is as yet untested.
2015-04-16Facebook conversion.Rider Linden
2013-11-01added LLFlickrConnect for ACME-1116Cho
2013-10-09temporarily added test call for FlickrConnect and TwitterConnect for ACME-1014Cho
2013-08-13added read_from_master parameter for ACME-829Cho
2013-08-09ACME 824: Suggested Friends do not repopulate if you disconnect and ↵Gilbert Gonzales
reconnect to Facebook API in same viewer session
2013-08-06ACME-801: Adding a suggested friend as a friend does not remove them from ↵Gilbert Gonzales
the suggested friend list
2013-07-31ACME-778: Adjusted the facebook code so that isConnected() does not depend ↵Gilbert Gonzales
on state changes. Instead it returns true if the user successfully connected and false if the user successfully disconnected.
2013-07-25ACME-773 Remove the 'Use another account...' in the ACCOUNT panelGilbert Gonzales
2013-07-23ACME-677 Make the 'Connect...', 'Disconnect' and 'Use another account...' ↵Gilbert Gonzales
buttons disabled upon clicking
2013-07-22ACME-729 Implement the 'Use another account...' buttonGilbert Gonzales
2013-07-19ACME-732 Create the viewer side info route responderGilbert Gonzales
2013-07-12added state parameter to PUT /connection route for ACME-692Cho
2013-07-10ACME-671 : Disable social panel UX while transaction (Post or Connection) is ↵Merov Linden
ongoing
2013-07-04Replaced content change callback with an event in LLFacebookConnect for ↵Cho
ACME-648 (more or less)
2013-07-04Removed share callbacks from LLFacebookConnectCho
2013-07-04Added auto-connect upon 404 from a POST in LLFacebookConnect, and added ↵Cho
FB_POSTED state, for ACME-667
2013-07-02Pull merge from lindenlab/viewer-fbcMerov Linden
2013-07-02ACME-626 : Implement status and progress update textMerov Linden
2013-07-03added FB_POSTING and PB_POST_FAILED states to LLFacebookConnect for ACME-663Cho
2013-07-03Implemented events for LLFacebookConnect state changes for ACME-662Cho
2013-07-02added callback to LLFacebookConnect upon connect for ACME-659Cho
2013-06-28made it optional to autoconnect in ↵Cho
LLFacebookConnect::getConnectionToFacebook() for ACME-648
2013-06-14Merge with viewer-fbcMerov Linden
2013-06-14ACME-520 : Add more extended state in LLFacebookConnect and handle it ↵Merov Linden
consistently and transparently from the public interface
2013-06-14ACME-558 Update LLPanelPeople to use the friends list callback and remove ↵Gilbert Gonzales
the timer dependencies
2013-06-12cleaned up FBC snapshot feature and made it work with new direct upload ↵Cho
route on FBC API
2013-06-08added Facebook status update feature for ACME-502, ACME-503, and ACME-504Cho
2013-06-04ACME-471: Once connected to facebook, a user can use the 'Check in to ↵Gilbert Gonzales
Facebook' button under the 'Me' menu to make a check in post to Facebook
2013-06-01added LLFacebookConnect::sharePhoto() for ACME-467Cho
2013-05-29updated postCheckinMessage to use new parameters and new route pathCho
2013-05-20ACME-381 : Implement experimental checkin feature (used to test ↵Merov Linden
publish_actions permissions workflow)
2013-05-13ACME-344 : Menu hooked up. Readded the missing completedHeader() methods in ↵Merov Linden
responder that I mistakenly took out during the refactor.
2013-05-10ACME-348 : Completed : Facebook Connect refactored, LLPeoplePanel test list ↵Merov Linden
hooked correctly.
2013-05-09ACME-348 : WIP : LLFacebookConnect refactorin completed. Not functional yet ↵Merov Linden
though.
2013-05-08ACME-348 : WIP : LLFacebookConnect refactoringMerov Linden