1 // Copyright 2014 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include "chromeos/login_event_recorder.h" 6 7 #include <vector> 8 9 #include "base/lazy_instance.h" 10 11 namespace chromeos { 12 13 static base::LazyInstance<LoginEventRecorder> g_login_event_recorder = 14 LAZY_INSTANCE_INITIALIZER; 15 LoginEventRecorder()16LoginEventRecorder::LoginEventRecorder() : delegate_(NULL) { 17 } 18 ~LoginEventRecorder()19LoginEventRecorder::~LoginEventRecorder() { 20 } 21 22 // static Get()23LoginEventRecorder* LoginEventRecorder::Get() { 24 return g_login_event_recorder.Pointer(); 25 } 26 SetDelegate(LoginEventRecorder::Delegate * delegate)27void LoginEventRecorder::SetDelegate(LoginEventRecorder::Delegate* delegate) { 28 delegate_ = delegate; 29 } 30 AddLoginTimeMarker(const std::string & marker_name,bool send_to_uma)31void LoginEventRecorder::AddLoginTimeMarker(const std::string& marker_name, 32 bool send_to_uma) { 33 if (delegate_) 34 delegate_->AddLoginTimeMarker(marker_name, send_to_uma); 35 } 36 RecordAuthenticationSuccess()37void LoginEventRecorder::RecordAuthenticationSuccess() { 38 if (delegate_) 39 delegate_->RecordAuthenticationSuccess(); 40 } 41 RecordAuthenticationFailure()42void LoginEventRecorder::RecordAuthenticationFailure() { 43 if (delegate_) 44 delegate_->RecordAuthenticationFailure(); 45 } 46 47 } // namespace chromeos 48