1 // Copyright (c) 2012 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.
5 #ifndef CHROME_BROWSER_CHROMEOS_LOGIN_HELP_APP_LAUNCHER_H_
6 #define CHROME_BROWSER_CHROMEOS_LOGIN_HELP_APP_LAUNCHER_H_
8 #include "base/compiler_specific.h"
9 #include "base/memory/ref_counted.h"
10 #include "base/memory/scoped_ptr.h"
11 #include "chrome/browser/chromeos/login/ui/login_web_dialog.h"
12 #include "ui/gfx/native_widget_types.h"
18 // Provides help content during OOBE / login.
19 // Based on connectivity state (offline/online) shows help topic dialog
20 // or launches HelpApp in BWSI mode.
21 class HelpAppLauncher
: public base::RefCountedThreadSafe
<HelpAppLauncher
> {
23 // IDs of help topics available from HelpApp.
25 // Showed on basic connectivity issues.
26 HELP_CONNECTIVITY
= 188752,
27 // Showed at EULA screen as "Learn more" about stats/crash reports.
28 HELP_STATS_USAGE
= 183078,
29 // Showed whenever there're troubles signing in.
30 HELP_CANT_ACCESS_ACCOUNT
= 188036,
31 // Showed in case when account was disabled.
32 HELP_ACCOUNT_DISABLED
= 188756,
33 // Showed in case when hosted account is used.
34 HELP_HOSTED_ACCOUNT
= 1054228,
35 // Showed as "Learn more" about enterprise enrolled devices.
36 HELP_ENTERPRISE
= 2535613,
37 // Shown at reset screen as "Learn more" about powerwash/rollback options.
38 HELP_POWERWASH
= 183084,
39 // Shown as "Learn more" about the device attributes.
40 HELP_DEVICE_ATTRIBUTES
= 6218780,
43 // Parent window is used to show dialog.
44 explicit HelpAppLauncher(gfx::NativeWindow parent_window
);
46 // Shows specified help topic.
47 void ShowHelpTopic(HelpTopic help_topic_id
);
50 virtual ~HelpAppLauncher();
53 friend class base::RefCountedThreadSafe
<HelpAppLauncher
>;
55 // Shows help topic dialog for specified GURL.
56 void ShowHelpTopicDialog(Profile
* profile
, const GURL
& topic_url
);
58 // Parent window which is passed to help dialog.
59 gfx::NativeWindow parent_window_
;
61 DISALLOW_COPY_AND_ASSIGN(HelpAppLauncher
);
64 } // namespace chromeos
66 #endif // CHROME_BROWSER_CHROMEOS_LOGIN_HELP_APP_LAUNCHER_H_