Tue, 06 Jan 2015 21:39:09 +0100
Conditionally force memory storage according to privacy.thirdparty.isolate;
This solves Tor bug #9701, complying with disk avoidance documented in
https://www.torproject.org/projects/torbrowser/design/#disk-avoidance.
1 /* This Source Code Form is subject to the terms of the Mozilla Public
2 * License, v. 2.0. If a copy of the MPL was not distributed with this
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
5 #ifndef SQLiteBridge_h
6 #define SQLiteBridge_h
8 #include "sqlite3.h"
10 void setup_sqlite_functions(void *sqlite_handle);
12 #define SQLITE_WRAPPER(name, return_type, args...) \
13 typedef return_type (*name ## _t)(args); \
14 extern name ## _t f_ ## name;
16 SQLITE_WRAPPER(sqlite3_open, int, const char*, sqlite3**)
17 SQLITE_WRAPPER(sqlite3_errmsg, const char*, sqlite3*)
18 SQLITE_WRAPPER(sqlite3_prepare_v2, int, sqlite3*, const char*, int, sqlite3_stmt**, const char**)
19 SQLITE_WRAPPER(sqlite3_bind_parameter_count, int, sqlite3_stmt*)
20 SQLITE_WRAPPER(sqlite3_bind_text, int, sqlite3_stmt*, int, const char*, int, void(*)(void*))
21 SQLITE_WRAPPER(sqlite3_step, int, sqlite3_stmt*)
22 SQLITE_WRAPPER(sqlite3_column_count, int, sqlite3_stmt*)
23 SQLITE_WRAPPER(sqlite3_finalize, int, sqlite3_stmt*)
24 SQLITE_WRAPPER(sqlite3_close, int, sqlite3*)
25 SQLITE_WRAPPER(sqlite3_column_name, const char*, sqlite3_stmt*, int)
26 SQLITE_WRAPPER(sqlite3_column_type, int, sqlite3_stmt*, int)
27 SQLITE_WRAPPER(sqlite3_column_blob, const void*, sqlite3_stmt*, int)
28 SQLITE_WRAPPER(sqlite3_column_bytes, int, sqlite3_stmt*, int)
29 SQLITE_WRAPPER(sqlite3_column_text, const unsigned char*, sqlite3_stmt*, int)
30 SQLITE_WRAPPER(sqlite3_changes, int, sqlite3*)
31 SQLITE_WRAPPER(sqlite3_last_insert_rowid, sqlite3_int64, sqlite3*)
33 #endif /* SQLiteBridge_h */