1// Copyright (c) 2011 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// Multiply-included message file, no include guard.
6
7#include "ipc/ipc_message_macros.h"
8#include "ipc/ipc_param_traits.h"
9#include "ipc/ipc_platform_file.h"
10
11#define IPC_MESSAGE_START DatabaseMsgStart
12
13// Database messages sent from the browser to the renderer.
14
15// Notifies the child process of the new database size
16IPC_MESSAGE_CONTROL3(DatabaseMsg_UpdateSize,
17                     std::string /* the origin */,
18                     base::string16 /* the database name */,
19                     int64 /* the new database size */)
20
21// Notifies the child process of the new space available
22IPC_MESSAGE_CONTROL2(DatabaseMsg_UpdateSpaceAvailable,
23                     std::string /* the origin */,
24                     int64 /* space available to origin */)
25
26// Notifies the child process to reset it's cached value for the origin.
27IPC_MESSAGE_CONTROL1(DatabaseMsg_ResetSpaceAvailable,
28                     std::string /* the origin */)
29
30// Asks the child process to close a database immediately
31IPC_MESSAGE_CONTROL2(DatabaseMsg_CloseImmediately,
32                     std::string /* the origin */,
33                     base::string16 /* the database name */)
34
35// Database messages sent from the renderer to the browser.
36
37// Asks the browser process to open a DB file with the given name.
38IPC_SYNC_MESSAGE_CONTROL2_1(DatabaseHostMsg_OpenFile,
39                            base::string16 /* vfs file name */,
40                            int /* desired flags */,
41                            IPC::PlatformFileForTransit /* file_handle */)
42
43// Asks the browser process to delete a DB file
44IPC_SYNC_MESSAGE_CONTROL2_1(DatabaseHostMsg_DeleteFile,
45                            base::string16 /* vfs file name */,
46                            bool /* whether or not to sync the directory */,
47                            int /* SQLite error code */)
48
49// Asks the browser process to return the attributes of a DB file
50IPC_SYNC_MESSAGE_CONTROL1_1(DatabaseHostMsg_GetFileAttributes,
51                            base::string16 /* vfs file name */,
52                            int32 /* the attributes for the given DB file */)
53
54// Asks the browser process to return the size of a DB file
55IPC_SYNC_MESSAGE_CONTROL1_1(DatabaseHostMsg_GetFileSize,
56                            base::string16 /* vfs file name */,
57                            int64 /* the size of the given DB file */)
58
59// Asks the browser process for the amount of space available to an origin
60IPC_SYNC_MESSAGE_CONTROL1_1(DatabaseHostMsg_GetSpaceAvailable,
61                            std::string /* origin identifier */,
62                            int64 /* remaining space available */)
63
64// Notifies the browser process that a new database has been opened
65IPC_MESSAGE_CONTROL4(DatabaseHostMsg_Opened,
66                     std::string /* origin identifier */,
67                     base::string16 /* database name */,
68                     base::string16 /* database description */,
69                     int64 /* estimated size */)
70
71// Notifies the browser process that a database might have been modified
72IPC_MESSAGE_CONTROL2(DatabaseHostMsg_Modified,
73                     std::string /* origin identifier */,
74                     base::string16 /* database name */)
75
76// Notifies the browser process that a database is about to close
77IPC_MESSAGE_CONTROL2(DatabaseHostMsg_Closed,
78                     std::string /* origin identifier */,
79                     base::string16 /* database name */)
80
81// Sent when a sqlite error indicates the database is corrupt.
82IPC_MESSAGE_CONTROL3(DatabaseHostMsg_HandleSqliteError,
83                     std::string /* origin identifier */,
84                     base::string16 /* database name */,
85                     int  /* error */)
86