michael@0: /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- michael@0: * vim: sw=2 ts=2 sts=2 expandtab michael@0: * This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: michael@0: #ifndef mozilla_storage_IStorageBindingParamsInternal_h_ michael@0: #define mozilla_storage_IStorageBindingParamsInternal_h_ michael@0: michael@0: #include "nsISupports.h" michael@0: michael@0: struct sqlite3_stmt; michael@0: class mozIStorageError; michael@0: michael@0: namespace mozilla { michael@0: namespace storage { michael@0: michael@0: #define ISTORAGEBINDINGPARAMSINTERNAL_IID \ michael@0: {0x4c43d33a, 0xc620, 0x41b8, {0xba, 0x1d, 0x50, 0xc5, 0xb1, 0xe9, 0x1a, 0x04}} michael@0: michael@0: /** michael@0: * Implementation-only interface for mozIStorageBindingParams. This defines the michael@0: * set of methods required by the asynchronous execution code in order to michael@0: * consume the contents stored in mozIStorageBindingParams instances. michael@0: */ michael@0: class IStorageBindingParamsInternal : public nsISupports michael@0: { michael@0: public: michael@0: NS_DECLARE_STATIC_IID_ACCESSOR(ISTORAGEBINDINGPARAMSINTERNAL_IID) michael@0: michael@0: /** michael@0: * Binds our stored data to the statement. michael@0: * michael@0: * @param aStatement michael@0: * The statement to bind our data to. michael@0: * @return nullptr on success, or a mozIStorageError object if an error michael@0: * occurred. michael@0: */ michael@0: virtual already_AddRefed bind(sqlite3_stmt *aStatement) = 0; michael@0: }; michael@0: michael@0: NS_DEFINE_STATIC_IID_ACCESSOR(IStorageBindingParamsInternal, michael@0: ISTORAGEBINDINGPARAMSINTERNAL_IID) michael@0: michael@0: #define NS_DECL_ISTORAGEBINDINGPARAMSINTERNAL \ michael@0: already_AddRefed bind(sqlite3_stmt *aStatement); michael@0: michael@0: } // storage michael@0: } // mozilla michael@0: michael@0: #endif // mozilla_storage_IStorageBindingParamsInternal_h_