2009-06-17 19:12:51 +00:00
|
|
|
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
|
|
|
* vim: sw=2 ts=2 sts=2 et
|
2012-05-21 11:12:37 +00:00
|
|
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
2009-06-17 19:12:51 +00:00
|
|
|
|
|
|
|
#include "nsISupports.idl"
|
|
|
|
|
|
|
|
interface nsIVariant;
|
|
|
|
|
2019-05-20 16:30:12 +00:00
|
|
|
[ptr] native octetPtr(uint8_t);
|
|
|
|
|
|
|
|
[scriptable, builtinclass, uuid(2d09f42f-966e-4663-b4b3-b0c8676bf2bf)]
|
2009-06-17 19:12:51 +00:00
|
|
|
interface mozIStorageBindingParams : nsISupports {
|
|
|
|
/**
|
|
|
|
* Binds aValue to the parameter with the name aName.
|
|
|
|
*
|
|
|
|
* @param aName
|
|
|
|
* The name of the parameter to bind aValue to.
|
|
|
|
* @param aValue
|
|
|
|
* The value to bind.
|
|
|
|
*/
|
|
|
|
void bindByName(in AUTF8String aName,
|
|
|
|
in nsIVariant aValue);
|
|
|
|
[noscript] void bindUTF8StringByName(in AUTF8String aName,
|
|
|
|
in AUTF8String aValue);
|
|
|
|
[noscript] void bindStringByName(in AUTF8String aName,
|
|
|
|
in AString aValue);
|
|
|
|
[noscript] void bindDoubleByName(in AUTF8String aName,
|
|
|
|
in double aValue);
|
|
|
|
[noscript] void bindInt32ByName(in AUTF8String aName,
|
|
|
|
in long aValue);
|
|
|
|
[noscript] void bindInt64ByName(in AUTF8String aName,
|
|
|
|
in long long aValue);
|
|
|
|
[noscript] void bindNullByName(in AUTF8String aName);
|
2019-05-20 16:30:12 +00:00
|
|
|
|
|
|
|
// The noscript version of bindBlobByName can be used with any (const
|
|
|
|
// uint8_t*, length) pair. The scriptable version is meant for use with
|
|
|
|
// nsTArray<uint8_t>, which is what xpconnect has to work with.
|
|
|
|
[noscript, binaryname(BindBlobByName)]
|
|
|
|
void bindBlobByNameNoscript(in AUTF8String aName,
|
|
|
|
[const] in octetPtr aValue,
|
|
|
|
in unsigned long aValueSize);
|
|
|
|
[binaryname(BindBlobArrayByName)]
|
|
|
|
void bindBlobByName(in AUTF8String aName, in Array<octet> aValue);
|
2015-04-29 16:03:15 +00:00
|
|
|
|
|
|
|
// Convenience routines for storing strings as blobs.
|
|
|
|
void bindStringAsBlobByName(in AUTF8String aName, in AString aValue);
|
|
|
|
void bindUTF8StringAsBlobByName(in AUTF8String aName, in AUTF8String aValue);
|
|
|
|
|
2014-03-06 21:03:52 +00:00
|
|
|
// The function adopts the storage for the provided blob. After calling
|
2015-04-01 05:29:55 +00:00
|
|
|
// this function, mozStorage will ensure that free is called on the
|
2014-03-06 21:03:52 +00:00
|
|
|
// underlying pointer.
|
|
|
|
[noscript]
|
|
|
|
void bindAdoptedBlobByName(in AUTF8String aName,
|
2019-05-20 16:30:12 +00:00
|
|
|
in octetPtr aValue,
|
2014-03-06 21:03:52 +00:00
|
|
|
in unsigned long aValueSize);
|
2009-06-17 19:12:51 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Binds aValue to the parameter with the index aIndex.
|
|
|
|
*
|
|
|
|
* @param aIndex
|
|
|
|
* The zero-based index of the parameter to bind aValue to.
|
|
|
|
* @param aValue
|
|
|
|
* The value to bind.
|
|
|
|
*/
|
|
|
|
void bindByIndex(in unsigned long aIndex,
|
|
|
|
in nsIVariant aValue);
|
|
|
|
[noscript] void bindUTF8StringByIndex(in unsigned long aIndex,
|
|
|
|
in AUTF8String aValue);
|
|
|
|
[noscript] void bindStringByIndex(in unsigned long aIndex,
|
|
|
|
in AString aValue);
|
|
|
|
[noscript] void bindDoubleByIndex(in unsigned long aIndex,
|
|
|
|
in double aValue);
|
|
|
|
[noscript] void bindInt32ByIndex(in unsigned long aIndex,
|
|
|
|
in long aValue);
|
|
|
|
[noscript] void bindInt64ByIndex(in unsigned long aIndex,
|
|
|
|
in long long aValue);
|
|
|
|
[noscript] void bindNullByIndex(in unsigned long aIndex);
|
2019-05-20 16:30:12 +00:00
|
|
|
|
|
|
|
// The noscript version of bindBlobByIndex can be used with any (const
|
|
|
|
// uint8_t*, length) pair. The scriptable version is meant for use with
|
|
|
|
// nsTArray<uint8_t>, which is what xpconnect has to work with.
|
|
|
|
[noscript, binaryname(BindBlobByIndex)]
|
|
|
|
void bindBlobByIndexNoscript(in unsigned long aIndex,
|
|
|
|
[const] in octetPtr aValue,
|
|
|
|
in unsigned long aValueSize);
|
|
|
|
[binaryname(BindBlobArrayByIndex)]
|
2009-06-17 19:12:51 +00:00
|
|
|
void bindBlobByIndex(in unsigned long aIndex,
|
2019-05-20 16:30:12 +00:00
|
|
|
in Array<octet> aValue);
|
2015-04-29 16:03:15 +00:00
|
|
|
|
|
|
|
// Convenience routines for storing strings as blobs.
|
|
|
|
void bindStringAsBlobByIndex(in unsigned long aIndex, in AString aValue);
|
|
|
|
void bindUTF8StringAsBlobByIndex(in unsigned long aIndex, in AUTF8String aValue);
|
|
|
|
|
2014-03-06 21:03:52 +00:00
|
|
|
// The function adopts the storage for the provided blob. After calling
|
2015-04-01 05:29:55 +00:00
|
|
|
// this function, mozStorage will ensure that free is called on the
|
2014-03-06 21:03:52 +00:00
|
|
|
// underlying pointer.
|
|
|
|
[noscript]
|
|
|
|
void bindAdoptedBlobByIndex(in unsigned long aIndex,
|
2019-05-20 16:30:12 +00:00
|
|
|
in octetPtr aValue,
|
2014-03-06 21:03:52 +00:00
|
|
|
in unsigned long aValueSize);
|
2009-06-17 19:12:51 +00:00
|
|
|
};
|