diff options
| author | Simon Robertshaw <simon@hardwired.org.uk> | 2012-12-09 01:25:05 (GMT) |
|---|---|---|
| committer | Simon Robertshaw <simon@hardwired.org.uk> | 2012-12-09 01:25:05 (GMT) |
| commit | 6478ed121ce17cf7d7beaab2deb1953da63d283d (patch) | |
| tree | 3cebb31afcf8d4e13afbdac1fc24919e635b7f2d /src | |
| parent | 05148e8a8db3a413edb711108fd860d3ee83154f (diff) | |
| download | powder-6478ed121ce17cf7d7beaab2deb1953da63d283d.zip powder-6478ed121ce17cf7d7beaab2deb1953da63d283d.tar.gz | |
Use NotifyAuthUserChanged for GameController login, this will help users become aware when their sessions expire.
Diffstat (limited to 'src')
| -rw-r--r-- | src/client/Client.cpp | 2 | ||||
| -rw-r--r-- | src/game/GameController.cpp | 20 | ||||
| -rw-r--r-- | src/game/GameController.h | 2 | ||||
| -rw-r--r-- | src/game/GameModel.cpp | 2 |
4 files changed, 10 insertions, 16 deletions
diff --git a/src/client/Client.cpp b/src/client/Client.cpp index cf830a8..e446f73 100644 --- a/src/client/Client.cpp +++ b/src/client/Client.cpp @@ -576,7 +576,7 @@ void Client::Tick() json::Boolean sessionStatus = objDocument["Session"]; if(!sessionStatus.Value()) { - authUser = User(0, ""); + SetAuthUser(User(0, "")); } //MOTD diff --git a/src/game/GameController.cpp b/src/game/GameController.cpp index c929f3a..154d99b 100644 --- a/src/game/GameController.cpp +++ b/src/game/GameController.cpp @@ -28,18 +28,6 @@ using namespace std; -class GameController::LoginCallback: public ControllerCallback -{ - GameController * cc; -public: - LoginCallback(GameController * cc_) { cc = cc_; } - virtual void ControllerExit() - { - cc->gameModel->SetUser(cc->loginWindow->GetUser()); - } -}; - - class GameController::SearchCallback: public ControllerCallback { GameController * cc; @@ -1015,7 +1003,7 @@ void GameController::OpenLocalBrowse() void GameController::OpenLogin() { - loginWindow = new LoginController(new LoginCallback(this)); + loginWindow = new LoginController(); ui::Engine::Ref().ShowWindow(loginWindow->GetView()); } @@ -1263,6 +1251,12 @@ std::string GameController::WallName(int type) return ""; } +void GameController::NotifyAuthUserChanged(Client * sender) +{ + User newUser = sender->GetAuthUser(); + gameModel->SetUser(newUser); +} + void GameController::NotifyUpdateAvailable(Client * sender) { class UpdateConfirmation: public ConfirmDialogueCallback { diff --git a/src/game/GameController.h b/src/game/GameController.h index a5c4416..984cfd6 100644 --- a/src/game/GameController.h +++ b/src/game/GameController.h @@ -46,7 +46,6 @@ private: CommandInterface * commandInterface; public: bool HasDone; - class LoginCallback; class SearchCallback; class RenderCallback; class SSaveCallback; @@ -142,6 +141,7 @@ public: void RemoveNotification(Notification * notification); virtual void NotifyUpdateAvailable(Client * sender); + virtual void NotifyAuthUserChanged(Client * sender); void RunUpdater(); }; diff --git a/src/game/GameModel.cpp b/src/game/GameModel.cpp index b0178af..813781f 100644 --- a/src/game/GameModel.cpp +++ b/src/game/GameModel.cpp @@ -777,7 +777,7 @@ ui::Colour GameModel::GetColourSelectorColour() void GameModel::SetUser(User user) { currentUser = user; - Client::Ref().SetAuthUser(user); + //Client::Ref().SetAuthUser(user); notifyUserChanged(); } |
