Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1)

Side by Side Diff: common/app_registry_utils.h

Issue 624713003: Keep only base/extractor.[cc|h]. (Closed) Base URL: https://chromium.googlesource.com/external/omaha.git@master
Patch Set: Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « client/ua_internal.h ('k') | common/app_registry_utils.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright 2007-2010 Google Inc.
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 // http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14 // ========================================================================
15
16 #ifndef OMAHA_COMMON_APP_REGISTRY_UTILS_H_
17 #define OMAHA_COMMON_APP_REGISTRY_UTILS_H_
18
19 #include <windows.h>
20 #include <atlstr.h>
21 #include <vector>
22 #include "omaha/base/constants.h"
23
24 // Functions that modify the application state in the registry. This file should
25 // only be included by AppManager, which manages the persisting of all
26 // application information, ApplicationUsageData for similar reasons, and
27 // self-install code, which must modify these values directly in some cases.
28
29 namespace omaha {
30
31 namespace app_registry_utils {
32
33 // Returns the application registration path for the specified app.
34 CString GetAppClientsKey(bool is_machine, const CString& app_guid);
35
36 // Returns the application state path for the specified app.
37 CString GetAppClientStateKey(bool is_machine, const CString& app_guid);
38
39 // Returns the medium integrity application state path for the specified app.
40 CString GetAppClientStateMediumKey(bool is_machine, const CString& app_guid);
41
42 // Returns whether the EULA is accepted for the app.
43 bool IsAppEulaAccepted(bool is_machine,
44 const CString& app_guid,
45 bool require_explicit_acceptance);
46
47 // Sets eulaaccepted=0 in the app's ClientState.
48 HRESULT SetAppEulaNotAccepted(bool is_machine, const CString& app_guid);
49
50 // Clears any eulaaccepted=0 values for the app.
51 HRESULT ClearAppEulaNotAccepted(bool is_machine, const CString& app_guid);
52
53 // Determines whether usage stats are enabled for a specific app.
54 bool AreAppUsageStatsEnabled(bool is_machine, const CString& app_guid);
55
56 // Configures Omaha's collection of usage stats and crash reports.
57 HRESULT SetUsageStatsEnable(bool is_machine,
58 const CString& app_guid,
59 Tristate usage_stats_enable);
60
61 // Writes branding information for Google Update in the registry if it does not
62 // already exist. Otherwise, the information remains unchanged.
63 // Writes a default Omaha-specific brand code if one is not specified in args.
64 HRESULT SetGoogleUpdateBranding(const CString& client_state_key_path,
65 const CString& brand_code,
66 const CString& client_id);
67
68 // Writes branding information for apps in the registry if it does not
69 // already exist. Otherwise, the information remains unchanged.
70 // Writes a default Omaha-specific brand code if one is not specified in args.
71 HRESULT SetAppBranding(const CString& client_state_key_path,
72 const CString& brand_code,
73 const CString& client_id,
74 const CString& referral_id);
75
76 // Updates the application state after a successful install or update.
77 void PersistSuccessfulInstall(const CString& client_state_key_path,
78 bool is_update,
79 bool is_offline);
80
81 // Updates the application state after a successful update check event, which
82 // is either a "noupdate" response or a successful online update.
83 void PersistSuccessfulUpdateCheck(const CString& client_state_key_path);
84
85 // Clears the stored information about update available events for the app.
86 // Call when an update has succeeded.
87 void ClearUpdateAvailableStats(const CString& client_state_key_path);
88
89 // Returns the number of clients registered under the "Clients" sub key.
90 // Does not guarantee a consistent state. Caller should use appropriate locks if
91 // necessary.
92 HRESULT GetNumClients(bool is_machine, size_t* num_clients);
93
94 // Reads app version from Clients key.
95 void GetAppVersion(bool is_machine, const CString& app_id, CString* pv);
96
97 // Reads persistent data for an application. The parameters can be NULL to
98 // indicate that value is not required.
99 void GetClientStateData(bool is_machine,
100 const CString& app_id,
101 CString* pv,
102 CString* ap,
103 CString* lang,
104 CString* brand_code,
105 CString* client_id,
106 CString* iid,
107 CString* experiment_labels);
108
109 // Reads all uninstalled apps from the registry.
110 HRESULT GetUninstalledApps(bool is_machine, std::vector<CString>* app_ids);
111
112 // Removes the client state for the given app.
113 HRESULT RemoveClientState(bool is_machine, const CString& app_guid);
114
115 // Removes the client state for the apps.
116 void RemoveClientStateForApps(bool is_machine,
117 const std::vector<CString>& apps);
118
119 // Retrieves experiment labels for an app from the Registry.
120 HRESULT GetExperimentLabels(bool is_machine, const CString& app_id,
121 CString* labels_out);
122
123 // Overwrites the experiment labels for an app in the Registry.
124 HRESULT SetExperimentLabels(bool is_machine, const CString& app_id,
125 const CString& new_labels);
126
127 } // namespace app_registry_utils
128
129 } // namespace omaha
130
131 #endif // OMAHA_COMMON_APP_REGISTRY_UTILS_H_
OLDNEW
« no previous file with comments | « client/ua_internal.h ('k') | common/app_registry_utils.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698