1 // Copyright 2020 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 #ifndef CHROME_BROWSER_CHROMEOS_CHILD_ACCOUNTS_TIME_LIMITS_APP_TIME_NOTIFICATION_DELEGATE_H_ 6 #define CHROME_BROWSER_CHROMEOS_CHILD_ACCOUNTS_TIME_LIMITS_APP_TIME_NOTIFICATION_DELEGATE_H_ 7 8 #include "base/optional.h" 9 10 namespace base { 11 class TimeDelta; 12 } // namespace base 13 14 namespace chromeos { 15 namespace app_time { 16 17 class AppId; 18 enum class AppNotification; 19 20 // Called when the application time limit is reaching. 21 class AppTimeNotificationDelegate { 22 public: 23 AppTimeNotificationDelegate() = default; 24 AppTimeNotificationDelegate(const AppTimeNotificationDelegate&) = delete; 25 AppTimeNotificationDelegate& operator=(const AppTimeNotificationDelegate&) = 26 delete; 27 28 virtual ~AppTimeNotificationDelegate() = default; 29 30 virtual void ShowAppTimeLimitNotification( 31 const AppId& app_id, 32 const base::Optional<base::TimeDelta>& time_limit, 33 AppNotification notification) = 0; 34 }; 35 36 } // namespace app_time 37 } // namespace chromeos 38 39 #endif // CHROME_BROWSER_CHROMEOS_CHILD_ACCOUNTS_TIME_LIMITS_APP_TIME_NOTIFICATION_DELEGATE_H_ 40