Line data Source code
1 : /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
2 : * vim: sw=2 ts=2 et lcs=trail\:.,tab\:>~ :
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 MOZSTORAGESTATEMENTPARAMS_H
8 : #define MOZSTORAGESTATEMENTPARAMS_H
9 :
10 : #include "mozIStorageStatementParams.h"
11 : #include "nsIXPCScriptable.h"
12 : #include "mozilla/Attributes.h"
13 :
14 : class mozIStorageStatement;
15 :
16 : namespace mozilla {
17 : namespace storage {
18 :
19 : class StatementParams final : public mozIStorageStatementParams
20 : , public nsIXPCScriptable
21 : {
22 : public:
23 : explicit StatementParams(mozIStorageStatement *aStatement);
24 :
25 : // interfaces
26 : NS_DECL_ISUPPORTS
27 : NS_DECL_MOZISTORAGESTATEMENTPARAMS
28 : NS_DECL_NSIXPCSCRIPTABLE
29 :
30 : protected:
31 0 : ~StatementParams() {}
32 :
33 : mozIStorageStatement *mStatement;
34 : uint32_t mParamCount;
35 :
36 : friend class StatementParamsHolder;
37 : friend class StatementRowHolder;
38 : };
39 :
40 : } // namespace storage
41 : } // namespace mozilla
42 :
43 : #endif /* MOZSTORAGESTATEMENTPARAMS_H */
|