// Copyright 2014 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef CHROME_BROWSER_CHROMEOS_APP_MODE_KIOSK_DIAGNOSIS_RUNNER_H_ #define CHROME_BROWSER_CHROMEOS_APP_MODE_KIOSK_DIAGNOSIS_RUNNER_H_ #include #include "base/basictypes.h" #include "base/memory/weak_ptr.h" #include "chrome/browser/extensions/api/feedback_private/feedback_service.h" #include "components/keyed_service/core/keyed_service.h" class Profile; namespace chromeos { // A class to run diagnose for kiosk app. Currently, it only schedules a // feedback to collected. class KioskDiagnosisRunner : public KeyedService { public: // Run diagnostic jobs for |app_id|. static void Run(Profile* profile, const std::string& app_id); private: // A BrowserContextKeyedServiceFactory for this service. class Factory; explicit KioskDiagnosisRunner(Profile* profile); virtual ~KioskDiagnosisRunner(); void Start(const std::string& app_id); void StartSystemLogCollection(); void SendSysLogFeedback(const extensions::SystemInformationList& sys_info); void OnFeedbackSent(bool sent); Profile* profile_; std::string app_id_; base::WeakPtrFactory weak_factory_; DISALLOW_COPY_AND_ASSIGN(KioskDiagnosisRunner); }; } // namespace chromeos #endif // CHROME_BROWSER_CHROMEOS_APP_MODE_KIOSK_DIAGNOSIS_RUNNER_H_