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

Side by Side Diff: rlz/mac/lib/rlz_value_store_mac.h

Issue 10642009: Add a regenerate button to regenerate the password in Windows. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Sync and Merge. Created 8 years, 5 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 | « rlz/mac/lib/machine_id_mac.cc ('k') | rlz/mac/lib/rlz_value_store_mac.mm » ('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 (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.
4
5 #ifndef RLZ_MAC_LIB_RLZ_VALUE_STORE_MAC_H_
6 #define RLZ_MAC_LIB_RLZ_VALUE_STORE_MAC_H_
7
8 #include "rlz/lib/rlz_value_store.h"
9 #include "base/compiler_specific.h"
10 #include "base/memory/scoped_nsobject.h"
11
12 @class NSDictionary;
13 @class NSMutableDictionary;
14
15 namespace rlz_lib {
16
17 // An implementation of RlzValueStore for mac. It stores information in a
18 // plist file in the user's Application Support folder.
19 class RlzValueStoreMac : public RlzValueStore {
20 public:
21 virtual bool HasAccess(AccessType type) OVERRIDE;
22
23 virtual bool WritePingTime(Product product, int64 time) OVERRIDE;
24 virtual bool ReadPingTime(Product product, int64* time) OVERRIDE;
25 virtual bool ClearPingTime(Product product) OVERRIDE;
26
27 virtual bool WriteAccessPointRlz(AccessPoint access_point,
28 const char* new_rlz) OVERRIDE;
29 virtual bool ReadAccessPointRlz(AccessPoint access_point,
30 char* rlz,
31 size_t rlz_size) OVERRIDE;
32 virtual bool ClearAccessPointRlz(AccessPoint access_point) OVERRIDE;
33
34 virtual bool AddProductEvent(Product product, const char* event_rlz) OVERRIDE;
35 virtual bool ReadProductEvents(Product product,
36 std::vector<std::string>* events) OVERRIDE;
37 virtual bool ClearProductEvent(Product product,
38 const char* event_rlz) OVERRIDE;
39 virtual bool ClearAllProductEvents(Product product) OVERRIDE;
40
41 virtual bool AddStatefulEvent(Product product,
42 const char* event_rlz) OVERRIDE;
43 virtual bool IsStatefulEvent(Product product,
44 const char* event_rlz) OVERRIDE;
45 virtual bool ClearAllStatefulEvents(Product product) OVERRIDE;
46
47 virtual void CollectGarbage() OVERRIDE;
48
49 private:
50 // |dict| is the dictionary that backs all data. plist_path is the name of the
51 // plist file, used solely for implementing HasAccess().
52 RlzValueStoreMac(NSMutableDictionary* dict, NSString* plist_path);
53 virtual ~RlzValueStoreMac();
54 friend class ScopedRlzValueStoreLock;
55
56 // Returns the backing dictionary that should be written to disk.
57 NSDictionary* dictionary();
58
59 // Returns the dictionary to which all data should be written. Usually, this
60 // is just |dictionary()|, but if supplementary branding is used, it's a
61 // subdirectory at key "brand_<supplementary branding code>".
62 // Note that windows stores data at
63 // rlz/name (e.g. "pingtime")/supplementalbranding/productcode
64 // Mac on the other hand does
65 // supplementalbranding/productcode/pingtime.
66 NSMutableDictionary* WorkingDict();
67
68 // Returns the subdirectory of |WorkingDict()| used to store data for
69 // product p.
70 NSMutableDictionary* ProductDict(Product p);
71
72 scoped_nsobject<NSMutableDictionary> dict_;
73 scoped_nsobject<NSString> plist_path_;
74
75 DISALLOW_COPY_AND_ASSIGN(RlzValueStoreMac);
76 };
77
78 } // namespace rlz_lib
79
80 #endif // RLZ_MAC_LIB_RLZ_VALUE_STORE_MAC_H_
OLDNEW
« no previous file with comments | « rlz/mac/lib/machine_id_mac.cc ('k') | rlz/mac/lib/rlz_value_store_mac.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698