IStorageBindingParamsInternal.h (1586B)
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 class IStorageBindingParamsInternal : public nsISupports { 27 public: 28 NS_INLINE_DECL_STATIC_IID(ISTORAGEBINDINGPARAMSINTERNAL_IID) 29 30 /** 31 * Binds our stored data to the statement. 32 * 33 * @param aStatement 34 * The statement to bind our data to. 35 * @return nullptr on success, or a mozIStorageError object if an error 36 * occurred. 37 */ 38 virtual already_AddRefed<mozIStorageError> bind(sqlite3_stmt* aStatement) = 0; 39 }; 40 41 #define NS_DECL_ISTORAGEBINDINGPARAMSINTERNAL \ 42 already_AddRefed<mozIStorageError> bind(sqlite3_stmt* aStatement) override; 43 44 } // namespace storage 45 } // namespace mozilla 46 47 #endif // mozilla_storage_IStorageBindingParamsInternal_h_