Eine aufbereitete Darstellung der Quelle

 
     
 
 
Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 

Benutzer

Quelle  json_writer.rs

  Sprache: Rust
 

/* 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/. */


//! Gecko JSON writer support for marker API.

use crate::gecko_bindings::{bindings, structs::mozilla};
use std::os::raw::c_char;

/// Wrapper for the C++ SpliceableJSONWriter object. It exposes some methods to
/// add various properties to the JSON.
#[derive(Debug)]
pub struct JSONWriter<'a>(&'mut mozilla::baseprofiler::SpliceableJSONWriter);

impl<'a> JSONWriter<'a> {
    /// Constructor for the JSONWriter object. It takes a C++ SpliceableJSONWriter
    /// reference as its argument and stores it for later accesses.
    pub(cratefn new(json_writer: &'a mut mozilla::baseprofiler::SpliceableJSONWriter) -> Self {
        JSONWriter(json_writer)
    }

    /// Adds an int property to the JSON.
    /// Prints: "<name>": <value>
    pub fn int_property(&mut self, name: &str, value: i64) {
        unsafe {
            bindings::gecko_profiler_json_writer_int_property(
                self.0,
                name.as_ptr() as *const c_char,
                name.len(),
                value,
            );
        }
    }

    /// Adds a float property to the JSON.
    /// Prints: "<name>": <value>
    pub fn float_property(&mut self, name: &str, value: f64) {
        unsafe {
            bindings::gecko_profiler_json_writer_float_property(
                self.0,
                name.as_ptr() as *const c_char,
                name.len(),
                value,
            );
        }
    }

    /// Adds an bool property to the JSON.
    /// Prints: "<name>": <value>
    pub fn bool_property(&mut self, name: &str, value: bool) {
        unsafe {
            bindings::gecko_profiler_json_writer_bool_property(
                self.0,
                name.as_ptr() as *const c_char,
                name.len(),
                value,
            );
        }
    }

    /// Adds a string property to the JSON.
    /// Prints: "<name>": "<value>"
    pub fn string_property(&mut self, name: &str, value: &str) {
        unsafe {
            bindings::gecko_profiler_json_writer_string_property(
                self.0,
                name.as_ptr() as *const c_char,
                name.len(),
                value.as_ptr() as *const c_char,
                value.len(),
            );
        }
    }

    /// Adds a unique string property to the JSON.
    /// Prints: "<name>": <string_table_index>
    pub fn unique_string_property(&mut self, name: &str, value: &str) {
        unsafe {
            bindings::gecko_profiler_json_writer_unique_string_property(
                self.0,
                name.as_ptr() as *const c_char,
                name.len(),
                value.as_ptr() as *const c_char,
                value.len(),
            );
        }
    }

    /// Adds a null property to the JSON.
    /// Prints: "<name>": null
    pub fn null_property(&mut self, name: &str) {
        unsafe {
            bindings::gecko_profiler_json_writer_null_property(
                self.0,
                name.as_ptr() as *const c_char,
                name.len(),
            );
        }
    }
}

Messung V0.5 in Prozent
C=86 H=96 G=90

¤ Dauer der Verarbeitung: 0.11 Sekunden  (vorverarbeitet am  2026-06-19) ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Quellcodebibliothek
     Eigene Quellcodes
     Fremde Quellcodes
     Suchen

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik