summaryrefslogtreecommitdiff
path: root/src/client/Client.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/Client.cpp')
-rw-r--r--src/client/Client.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/client/Client.cpp b/src/client/Client.cpp
index 3a46e23..d851e55 100644
--- a/src/client/Client.cpp
+++ b/src/client/Client.cpp
@@ -211,11 +211,31 @@ void Client::notifyUpdateAvailable()
}
}
+void Client::notifyAuthUserChanged()
+{
+ for (std::vector<ClientListener*>::iterator iterator = listeners.begin(), end = listeners.end(); iterator != end; ++iterator)
+ {
+ (*iterator)->NotifyAuthUserChanged(this);
+ }
+}
+
void Client::AddListener(ClientListener * listener)
{
listeners.push_back(listener);
}
+void Client::RemoveListener(ClientListener * listener)
+{
+ for (std::vector<ClientListener*>::iterator iterator = listeners.begin(), end = listeners.end(); iterator != end; ++iterator)
+ {
+ if((*iterator) == listener)
+ {
+ listeners.erase(iterator);
+ return;
+ }
+ }
+}
+
void Client::Shutdown()
{
ClearThumbnailRequests();
@@ -256,6 +276,7 @@ Client::~Client()
void Client::SetAuthUser(User user)
{
authUser = user;
+ notifyAuthUserChanged();
}
User Client::GetAuthUser()