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

Side by Side Diff: chrome/browser/sync/syncable/directory_backing_store.cc

Issue 193103: Build sync engine as part of the browser build (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 3 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/sync/syncable/directory_backing_store.h" 5 #include "chrome/browser/sync/syncable/directory_backing_store.h"
6 6
7 #include "build/build_config.h"
8
7 #ifdef OS_MACOSX 9 #ifdef OS_MACOSX
8 #include <CoreFoundation/CoreFoundation.h> 10 #include <CoreFoundation/CoreFoundation.h>
9 #elif defined(OS_LINUX) 11 #elif defined(OS_LINUX)
10 #include <glib.h> 12 #include <glib.h>
11 #endif 13 #endif
12 14
13 #include <string> 15 #include <string>
14 16
15 #include "base/hash_tables.h" 17 #include "base/hash_tables.h"
16 #include "base/logging.h" 18 #include "base/logging.h"
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
60 // Sqlite allows setting of the escape character in an ESCAPE clause and 62 // Sqlite allows setting of the escape character in an ESCAPE clause and
61 // this character is passed in as a third character to the like function. 63 // this character is passed in as a third character to the like function.
62 // See: http://www.sqlite.org/lang_expr.html 64 // See: http://www.sqlite.org/lang_expr.html
63 static void PathNameMatch16WithEscape(sqlite3_context* context, 65 static void PathNameMatch16WithEscape(sqlite3_context* context,
64 int argc, sqlite3_value** argv) { 66 int argc, sqlite3_value** argv) {
65 // Never seen this called, but just in case. 67 // Never seen this called, but just in case.
66 LOG(FATAL) << "PathNameMatch16WithEscape() not implemented"; 68 LOG(FATAL) << "PathNameMatch16WithEscape() not implemented";
67 } 69 }
68 70
69 static void RegisterPathNameCollate(sqlite3* dbhandle) { 71 static void RegisterPathNameCollate(sqlite3* dbhandle) {
70 #ifdef OS_WINDOWS 72 #ifdef OS_WIN
71 const int collate = SQLITE_UTF16; 73 const int collate = SQLITE_UTF16;
72 #else 74 #else
73 const int collate = SQLITE_UTF8; 75 const int collate = SQLITE_UTF8;
74 #endif 76 #endif
75 CHECK(SQLITE_OK == sqlite3_create_collation(dbhandle, "PATHNAME", collate, 77 CHECK(SQLITE_OK == sqlite3_create_collation(dbhandle, "PATHNAME", collate,
76 NULL, &ComparePathNames16)); 78 NULL, &ComparePathNames16));
77 } 79 }
78 80
79 // Replace the LIKE operator with our own implementation that does file spec 81 // Replace the LIKE operator with our own implementation that does file spec
80 // matching like "*.txt". 82 // matching like "*.txt".
81 static void RegisterPathNameMatch(sqlite3* dbhandle) { 83 static void RegisterPathNameMatch(sqlite3* dbhandle) {
82 // We only register this on Windows. We use the normal sqlite 84 // We only register this on Windows. We use the normal sqlite
83 // matching function on mac/linux. 85 // matching function on mac/linux.
84 // note that the function PathNameMatch() does a simple == 86 // note that the function PathNameMatch() does a simple ==
85 // comparison on mac, so that would have to be fixed if 87 // comparison on mac, so that would have to be fixed if
86 // we really wanted to use PathNameMatch on mac/linux w/ the 88 // we really wanted to use PathNameMatch on mac/linux w/ the
87 // same pattern strings as we do on windows. 89 // same pattern strings as we do on windows.
88 #ifdef OS_WINDOWS 90 #ifdef OS_WIN
89 CHECK(SQLITE_OK == sqlite3_create_function(dbhandle, "like", 91 CHECK(SQLITE_OK == sqlite3_create_function(dbhandle, "like",
90 2, SQLITE_ANY, NULL, &PathNameMatch16, NULL, NULL)); 92 2, SQLITE_ANY, NULL, &PathNameMatch16, NULL, NULL));
91 CHECK(SQLITE_OK == sqlite3_create_function(dbhandle, "like", 93 CHECK(SQLITE_OK == sqlite3_create_function(dbhandle, "like",
92 3, SQLITE_ANY, NULL, &PathNameMatch16WithEscape, NULL, NULL)); 94 3, SQLITE_ANY, NULL, &PathNameMatch16WithEscape, NULL, NULL));
93 #endif // OS_WINDOWS 95 #endif // OS_WIN
94 } 96 }
95 97
96 static inline bool IsSqliteErrorOurFault(int result) { 98 static inline bool IsSqliteErrorOurFault(int result) {
97 switch (result) { 99 switch (result) {
98 case SQLITE_MISMATCH: 100 case SQLITE_MISMATCH:
99 case SQLITE_CONSTRAINT: 101 case SQLITE_CONSTRAINT:
100 case SQLITE_MISUSE: 102 case SQLITE_MISUSE:
101 case SQLITE_RANGE: 103 case SQLITE_RANGE:
102 return true; 104 return true;
103 default: 105 default:
(...skipping 545 matching lines...) Expand 10 before | Expand all | Expand 10 after
649 651
650 sqlite3* DirectoryBackingStore::LazyGetSaveHandle() { 652 sqlite3* DirectoryBackingStore::LazyGetSaveHandle() {
651 if (!save_dbhandle_ && !OpenAndConfigureHandleHelper(&save_dbhandle_)) { 653 if (!save_dbhandle_ && !OpenAndConfigureHandleHelper(&save_dbhandle_)) {
652 DCHECK(FALSE) << "Unable to open handle for saving"; 654 DCHECK(FALSE) << "Unable to open handle for saving";
653 return NULL; 655 return NULL;
654 } 656 }
655 return save_dbhandle_; 657 return save_dbhandle_;
656 } 658 }
657 659
658 } // namespace syncable 660 } // namespace syncable
OLDNEW
« no previous file with comments | « chrome/browser/sync/notifier/gaia_auth/win32window.cc ('k') | chrome/browser/sync/syncable/syncable.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698