Line data Source code
1 : /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
2 : * vim: sw=2 ts=2 sts=2 expandtab
3 : * This Source Code Form is subject to the terms of the Mozilla Public
4 : * License, v. 2.0. If a copy of the MPL was not distributed with this
5 : * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6 :
7 : #ifndef mozilla_storage_IStorageBindingParamsInternal_h_
8 : #define mozilla_storage_IStorageBindingParamsInternal_h_
9 :
10 : #include "nsISupports.h"
11 :
12 : struct sqlite3_stmt;
13 : class mozIStorageError;
14 :
15 : namespace mozilla {
16 : namespace storage {
17 :
18 : #define ISTORAGEBINDINGPARAMSINTERNAL_IID \
19 : {0x4c43d33a, 0xc620, 0x41b8, {0xba, 0x1d, 0x50, 0xc5, 0xb1, 0xe9, 0x1a, 0x04}}
20 :
21 : /**
22 : * Implementation-only interface for mozIStorageBindingParams. This defines the
23 : * set of methods required by the asynchronous execution code in order to
24 : * consume the contents stored in mozIStorageBindingParams instances.
25 : */
26 19 : class IStorageBindingParamsInternal : public nsISupports
27 : {
28 : public:
29 : NS_DECLARE_STATIC_IID_ACCESSOR(ISTORAGEBINDINGPARAMSINTERNAL_IID)
30 :
31 : /**
32 : * Binds our stored data to the statement.
33 : *
34 : * @param aStatement
35 : * The statement to bind our data to.
36 : * @return nullptr on success, or a mozIStorageError object if an error
37 : * occurred.
38 : */
39 : virtual already_AddRefed<mozIStorageError> bind(sqlite3_stmt *aStatement) = 0;
40 : };
41 :
42 : NS_DEFINE_STATIC_IID_ACCESSOR(IStorageBindingParamsInternal,
43 : ISTORAGEBINDINGPARAMSINTERNAL_IID)
44 :
45 : #define NS_DECL_ISTORAGEBINDINGPARAMSINTERNAL \
46 : already_AddRefed<mozIStorageError> bind(sqlite3_stmt *aStatement) override;
47 :
48 : } // namespace storage
49 : } // namespace mozilla
50 :
51 : #endif // mozilla_storage_IStorageBindingParamsInternal_h_
|