Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Firefox/storage/   (Browser von der Mozilla Stiftung Version 136.0.1©)  Datei vom 10.2.2025 mit Größe 5 kB image not shown  

Quelle  mozIStorageBindingParams.idl   Sprache: unbekannt

 
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
 * vim: sw=2 ts=2 sts=2 et
 * 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/. */

#include "nsISupports.idl"

interface nsIVariant;

[ptr] native octetPtr(uint8_t);

[scriptable, builtinclass, uuid(2d09f42f-966e-4663-b4b3-b0c8676bf2bf)]
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.
   * @warning To bind an array use a specific `bindArrayOf` method instead.
   */
   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);

   // 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);

   // Convenience routines for storing strings as blobs.
   void bindStringAsBlobByName(in AUTF8String aName, in AString aValue);
   void bindUTF8StringAsBlobByName(in AUTF8String aName, in AUTF8String aValue);

   // The function adopts the storage for the provided blob.  After calling
   // this function, mozStorage will ensure that free is called on the
   // underlying pointer.
   [noscript]
   void bindAdoptedBlobByName(in AUTF8String aName,
                              in octetPtr aValue,
                              in unsigned long aValueSize);

   // These allow to bind arrays through the carray() tabled-valued function,
   // thus they should only be used when the query contains `carray(?N)`.
   void bindArrayOfIntegersByName(in AUTF8String aName,
                                  in Array<int64_t> aValue);
   void bindArrayOfDoublesByName(in AUTF8String aName,
                                 in Array<double> aValue);
   void bindArrayOfStringsByName(in AUTF8String aName,
                                 in Array<AString> aValue);
   void bindArrayOfUTF8StringsByName(in AUTF8String aName,
                                     in Array<AUTF8String> aValue);

   /**
    * 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.
    * @warning To bind an array use a specific `bindArrayOf` method instead.
    */
   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);

   // 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)]
   void bindBlobByIndex(in unsigned long aIndex,
                        in Array<octet> aValue);

   // 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);

   // The function adopts the storage for the provided blob.  After calling
   // this function, mozStorage will ensure that free is called on the
   // underlying pointer.
   [noscript]
   void bindAdoptedBlobByIndex(in unsigned long aIndex,
                               in octetPtr aValue,
                               in unsigned long aValueSize);

   // These allow to bind arrays through the carray() tabled-valued function,
   // thus they should only be used when the query contains `carray(?N)`.
   void bindArrayOfIntegersByIndex(in unsigned long aIndex,
                                   in Array<int64_t> aValue);
   void bindArrayOfDoublesByIndex(in unsigned long aIndex,
                                  in Array<double> aValue);
   void bindArrayOfStringsByIndex(in unsigned long aIndex,
                                  in Array<AString> aValue);
   void bindArrayOfUTF8StringsByIndex(in unsigned long aIndex,
                                      in Array<AUTF8String> aValue);
};

[ Dauer der Verarbeitung: 0.18 Sekunden  (vorverarbeitet)  ]