// -*- mode: C++ -*-
// AUTOGENERATED BY glean_parser. DO NOT EDIT.
/* 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/. */
#ifndef mozilla_GleanTranslationsMetrics_h
#define mozilla_GleanTranslationsMetrics_h
#include "mozilla/glean/bindings/MetricTypes.h"
namespace mozilla::glean {
namespace translations {
/**
* generated from translations.engine_performance
*/
struct EnginePerformanceExtra {
mozilla::Maybe<uint32_t> averageWordsPerRequest;
mozilla::Maybe<uint32_t> averageWordsPerSecond;
mozilla::Maybe<nsCString> fromLanguage;
mozilla::Maybe<nsCString> toLanguage;
mozilla::Maybe<uint32_t> totalCompletedRequests;
mozilla::Maybe<uint32_t> totalInferenceSeconds;
mozilla::Maybe<uint32_t> totalTranslatedWords;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (averageWordsPerRequest) {
extraKeys.AppendElement()->AssignASCII("average_words_per_request");
extraValues.AppendElement()->AppendInt(averageWordsPerRequest.value());
}
if (averageWordsPerSecond) {
extraKeys.AppendElement()->AssignASCII("average_words_per_second");
extraValues.AppendElement()->AppendInt(averageWordsPerSecond.value());
}
if (fromLanguage) {
extraKeys.AppendElement()->AssignASCII("from_language");
extraValues.EmplaceBack(fromLanguage.value());
}
if (toLanguage) {
extraKeys.AppendElement()->AssignASCII("to_language");
extraValues.EmplaceBack(toLanguage.value());
}
if (totalCompletedRequests) {
extraKeys.AppendElement()->AssignASCII("total_completed_requests");
extraValues.AppendElement()->AppendInt(totalCompletedRequests.value());
}
if (totalInferenceSeconds) {
extraKeys.AppendElement()->AssignASCII("total_inference_seconds");
extraValues.AppendElement()->AppendInt(totalInferenceSeconds.value());
}
if (totalTranslatedWords) {
extraKeys.AppendElement()->AssignASCII("total_translated_words");
extraValues.AppendElement()->AppendInt(totalTranslatedWords.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Metrics related to the performance of the TranslationsEngine.
*/
constexpr impl::EventMetric<EnginePerformanceExtra> engine_performance(6045);
/**
* generated from translations.error
*/
struct ErrorExtra {
mozilla::Maybe<nsCString> flowId;
mozilla::Maybe<nsCString> reason;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (flowId) {
extraKeys.AppendElement()->AssignASCII("flow_id");
extraValues.EmplaceBack(flowId.value());
}
if (reason) {
extraKeys.AppendElement()->AssignASCII("reason");
extraValues.EmplaceBack(reason.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* The specific translations error that caused a full_page translation failure.
*/
constexpr impl::EventMetric<ErrorExtra> error(6046);
/**
* generated from translations.identify_page_language
*/
struct IdentifyPageLanguageExtra {
mozilla::Maybe<bool> confident;
mozilla::Maybe<uint32_t> extractedCodeUnits;
mozilla::Maybe<uint32_t> extractionTime;
mozilla::Maybe<nsCString> htmlLangAttribute;
mozilla::Maybe<uint32_t> identificationTime;
mozilla::Maybe<nsCString> identifiedLanguage;
mozilla::Maybe<bool> isLangAttributeValid;
mozilla::Maybe<bool> langTagsMatch;
mozilla::Maybe<uint32_t> totalTime;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (confident) {
extraKeys.AppendElement()->AssignASCII("confident");
extraValues.AppendElement()->AssignASCII(confident.value() ? "true" : "false");
}
if (extractedCodeUnits) {
extraKeys.AppendElement()->AssignASCII("extracted_code_units");
extraValues.AppendElement()->AppendInt(extractedCodeUnits.value());
}
if (extractionTime) {
extraKeys.AppendElement()->AssignASCII("extraction_time");
extraValues.AppendElement()->AppendInt(extractionTime.value());
}
if (htmlLangAttribute) {
extraKeys.AppendElement()->AssignASCII("html_lang_attribute");
extraValues.EmplaceBack(htmlLangAttribute.value());
}
if (identificationTime) {
extraKeys.AppendElement()->AssignASCII("identification_time");
extraValues.AppendElement()->AppendInt(identificationTime.value());
}
if (identifiedLanguage) {
extraKeys.AppendElement()->AssignASCII("identified_language");
extraValues.EmplaceBack(identifiedLanguage.value());
}
if (isLangAttributeValid) {
extraKeys.AppendElement()->AssignASCII("is_lang_attribute_valid");
extraValues.AppendElement()->AssignASCII(isLangAttributeValid.value() ? "true" : "false");
}
if (langTagsMatch) {
extraKeys.AppendElement()->AssignASCII("lang_tags_match");
extraValues.AppendElement()->AssignASCII(langTagsMatch.value() ? "true" : "false");
}
if (totalTime) {
extraKeys.AppendElement()->AssignASCII("total_time");
extraValues.AppendElement()->AppendInt(totalTime.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Triggers when the language of a page is identified for Translations.
*/
constexpr impl::EventMetric<IdentifyPageLanguageExtra> identify_page_language(6047);
/**
* generated from translations.request_count
*/
enum class RequestCountLabel: uint16_t {
eFullPage = 0,
eSelect = 1,
eAboutTranslations = 2,
e__Other__,
};
/**
* The count of translation requests, along with their type.
*/
constexpr impl::Labeled<impl::CounterMetric<impl::CounterType::eBaseOrLabeled>, RequestCountLabel> request_count(6048);
/**
* generated from translations.restore_page
*/
struct RestorePageExtra {
mozilla::Maybe<nsCString> flowId;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (flowId) {
extraKeys.AppendElement()->AssignASCII("flow_id");
extraValues.EmplaceBack(flowId.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Triggers when the a restore-page event is triggered.
*/
constexpr impl::EventMetric<RestorePageExtra> restore_page(6049);
/**
* generated from translations.translation_request
*/
struct TranslationRequestExtra {
mozilla::Maybe<bool> autoTranslate;
mozilla::Maybe<nsCString> documentLanguage;
mozilla::Maybe<nsCString> flowId;
mozilla::Maybe<nsCString> fromLanguage;
mozilla::Maybe<nsCString> requestTarget;
mozilla::Maybe<uint32_t> sourceTextCodeUnits;
mozilla::Maybe<uint32_t> sourceTextWordCount;
mozilla::Maybe<nsCString> toLanguage;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (autoTranslate) {
extraKeys.AppendElement()->AssignASCII("auto_translate");
extraValues.AppendElement()->AssignASCII(autoTranslate.value() ? "true" : "false");
}
if (documentLanguage) {
extraKeys.AppendElement()->AssignASCII("document_language");
extraValues.EmplaceBack(documentLanguage.value());
}
if (flowId) {
extraKeys.AppendElement()->AssignASCII("flow_id");
extraValues.EmplaceBack(flowId.value());
}
if (fromLanguage) {
extraKeys.AppendElement()->AssignASCII("from_language");
extraValues.EmplaceBack(fromLanguage.value());
}
if (requestTarget) {
extraKeys.AppendElement()->AssignASCII("request_target");
extraValues.EmplaceBack(requestTarget.value());
}
if (sourceTextCodeUnits) {
extraKeys.AppendElement()->AssignASCII("source_text_code_units");
extraValues.AppendElement()->AppendInt(sourceTextCodeUnits.value());
}
if (sourceTextWordCount) {
extraKeys.AppendElement()->AssignASCII("source_text_word_count");
extraValues.AppendElement()->AppendInt(sourceTextWordCount.value());
}
if (toLanguage) {
extraKeys.AppendElement()->AssignASCII("to_language");
extraValues.EmplaceBack(toLanguage.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Triggers when a translation request is sent.
*/
constexpr impl::EventMetric<TranslationRequestExtra> translation_request(6050);
}
namespace translations_about_translations_page {
/**
* generated from translations.about_translations_page.clear_source_text_button
*/
struct ClearSourceTextButtonExtra {
mozilla::Maybe<nsCString> flowId;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (flowId) {
extraKeys.AppendElement()->AssignASCII("flow_id");
extraValues.EmplaceBack(flowId.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Triggers when the clear-source-text button is invoked in the about:translations page.
*/
constexpr impl::EventMetric<ClearSourceTextButtonExtra> clear_source_text_button(6051);
/**
* generated from translations.about_translations_page.copy_button
*/
struct CopyButtonExtra {
mozilla::Maybe<nsCString> flowId;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (flowId) {
extraKeys.AppendElement()->AssignASCII("flow_id");
extraValues.EmplaceBack(flowId.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Triggers when the copy button is invoked in the about:translations page.
*/
constexpr impl::EventMetric<CopyButtonExtra> copy_button(6052);
/**
* generated from translations.about_translations_page.feature_blocked_info_message
*/
struct FeatureBlockedInfoMessageExtra {
mozilla::Maybe<nsCString> flowId;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (flowId) {
extraKeys.AppendElement()->AssignASCII("flow_id");
extraValues.EmplaceBack(flowId.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Triggers when the feature-blocked-info message is shown in the about:translations page.
*/
constexpr impl::EventMetric<FeatureBlockedInfoMessageExtra> feature_blocked_info_message(6053);
/**
* generated from translations.about_translations_page.language_load_error_message
*/
struct LanguageLoadErrorMessageExtra {
mozilla::Maybe<nsCString> flowId;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (flowId) {
extraKeys.AppendElement()->AssignASCII("flow_id");
extraValues.EmplaceBack(flowId.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Triggers when the language-load-error message is shown in the about:translations page.
*/
constexpr impl::EventMetric<LanguageLoadErrorMessageExtra> language_load_error_message(6054);
/**
* generated from translations.about_translations_page.open
*/
struct OpenExtra {
mozilla::Maybe<nsCString> flowId;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (flowId) {
extraKeys.AppendElement()->AssignASCII("flow_id");
extraValues.EmplaceBack(flowId.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Triggers when the about:translations page is opened.
*/
constexpr impl::EventMetric<OpenExtra> open(6055);
/**
* generated from translations.about_translations_page.policy_disabled_info_message
*/
struct PolicyDisabledInfoMessageExtra {
mozilla::Maybe<nsCString> flowId;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (flowId) {
extraKeys.AppendElement()->AssignASCII("flow_id");
extraValues.EmplaceBack(flowId.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Triggers when the policy-disabled-info message is shown in the about:translations page.
*/
constexpr impl::EventMetric<PolicyDisabledInfoMessageExtra> policy_disabled_info_message(6056);
/**
* generated from translations.about_translations_page.swap_button
*/
struct SwapButtonExtra {
mozilla::Maybe<nsCString> flowId;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (flowId) {
extraKeys.AppendElement()->AssignASCII("flow_id");
extraValues.EmplaceBack(flowId.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Triggers when the swap button is invoked in the about:translations page.
*/
constexpr impl::EventMetric<SwapButtonExtra> swap_button(6057);
/**
* generated from translations.about_translations_page.try_again_button
*/
struct TryAgainButtonExtra {
mozilla::Maybe<nsCString> flowId;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (flowId) {
extraKeys.AppendElement()->AssignASCII("flow_id");
extraValues.EmplaceBack(flowId.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Triggers when the try-again button is invoked in the about-translations page.
*/
constexpr impl::EventMetric<TryAgainButtonExtra> try_again_button(6058);
/**
* generated from translations.about_translations_page.unblock_feature
*/
struct UnblockFeatureExtra {
mozilla::Maybe<nsCString> flowId;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (flowId) {
extraKeys.AppendElement()->AssignASCII("flow_id");
extraValues.EmplaceBack(flowId.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Triggers when unblock-feature is invoked in the about:translations page.
*/
constexpr impl::EventMetric<UnblockFeatureExtra> unblock_feature(6059);
/**
* generated from translations.about_translations_page.unsupported_info_message
*/
struct UnsupportedInfoMessageExtra {
mozilla::Maybe<nsCString> flowId;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (flowId) {
extraKeys.AppendElement()->AssignASCII("flow_id");
extraValues.EmplaceBack(flowId.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Triggers when the unsupported-info message is shown in the about:translations page.
*/
constexpr impl::EventMetric<UnsupportedInfoMessageExtra> unsupported_info_message(6060);
/**
* generated from translations.about_translations_page.unsupported_language_message
*/
struct UnsupportedLanguageMessageExtra {
mozilla::Maybe<nsCString> detectedLanguage;
mozilla::Maybe<nsCString> flowId;
mozilla::Maybe<uint32_t> sourceTextCodeUnits;
mozilla::Maybe<uint32_t> sourceTextWordCount;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (detectedLanguage) {
extraKeys.AppendElement()->AssignASCII("detected_language");
extraValues.EmplaceBack(detectedLanguage.value());
}
if (flowId) {
extraKeys.AppendElement()->AssignASCII("flow_id");
extraValues.EmplaceBack(flowId.value());
}
if (sourceTextCodeUnits) {
extraKeys.AppendElement()->AssignASCII("source_text_code_units");
extraValues.AppendElement()->AppendInt(sourceTextCodeUnits.value());
}
if (sourceTextWordCount) {
extraKeys.AppendElement()->AssignASCII("source_text_word_count");
extraValues.AppendElement()->AppendInt(sourceTextWordCount.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Triggers when the unsupported-language message is shown in the about:translations page.
*/
constexpr impl::EventMetric<UnsupportedLanguageMessageExtra> unsupported_language_message(6061);
}
namespace translations_feature {
/**
* generated from translations.feature.disable
*/
/**
* Triggers when the Translations feature is disabled via the AI Feature API.
*/
constexpr impl::EventMetric<NoExtraKeys> disable(6062);
/**
* generated from translations.feature.enable
*/
/**
* Triggers when the Translations feature is enabled via the AI Feature API.
*/
constexpr impl::EventMetric<NoExtraKeys> enable(6063);
/**
* generated from translations.feature.reset
*/
/**
* Triggers when the Translations feature is reset via the AI Feature API.
*/
constexpr impl::EventMetric<NoExtraKeys> reset(6064);
}
namespace translations_panel {
/**
* generated from translations.panel.about_translations
*/
struct AboutTranslationsExtra {
mozilla::Maybe<nsCString> flowId;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (flowId) {
extraKeys.AppendElement()->AssignASCII("flow_id");
extraValues.EmplaceBack(flowId.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Triggers when the about-translations menuitem is invoked in the full-page translations panel settings.
*/
constexpr impl::EventMetric<AboutTranslationsExtra> about_translations(6065);
/**
* generated from translations.panel.always_offer_translations
*/
struct AlwaysOfferTranslationsExtra {
mozilla::Maybe<nsCString> flowId;
mozilla::Maybe<bool> toggledOn;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (flowId) {
extraKeys.AppendElement()->AssignASCII("flow_id");
extraValues.EmplaceBack(flowId.value());
}
if (toggledOn) {
extraKeys.AppendElement()->AssignASCII("toggled_on");
extraValues.AppendElement()->AssignASCII(toggledOn.value() ? "true" : "false");
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Triggers when the always-offer-translations menuitem is invoked in the full-page translations panel seeings.
*/
constexpr impl::EventMetric<AlwaysOfferTranslationsExtra> always_offer_translations(6066);
/**
* generated from translations.panel.always_translate_language
*/
struct AlwaysTranslateLanguageExtra {
mozilla::Maybe<nsCString> flowId;
mozilla::Maybe<nsCString> language;
mozilla::Maybe<bool> toggledOn;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (flowId) {
extraKeys.AppendElement()->AssignASCII("flow_id");
extraValues.EmplaceBack(flowId.value());
}
if (language) {
extraKeys.AppendElement()->AssignASCII("language");
extraValues.EmplaceBack(language.value());
}
if (toggledOn) {
extraKeys.AppendElement()->AssignASCII("toggled_on");
extraValues.AppendElement()->AssignASCII(toggledOn.value() ? "true" : "false");
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Triggers when the always-translate-language menuitem is invoked in the full-page translations panel settings.
*/
constexpr impl::EventMetric<AlwaysTranslateLanguageExtra> always_translate_language(6067);
/**
* generated from translations.panel.cancel_button
*/
struct CancelButtonExtra {
mozilla::Maybe<nsCString> flowId;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (flowId) {
extraKeys.AppendElement()->AssignASCII("flow_id");
extraValues.EmplaceBack(flowId.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Triggers when the cancel button is invoked in the full-page translations panel.
*/
constexpr impl::EventMetric<CancelButtonExtra> cancel_button(6068);
/**
* generated from translations.panel.change_from_language
*/
struct ChangeFromLanguageExtra {
mozilla::Maybe<nsCString> flowId;
mozilla::Maybe<nsCString> language;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (flowId) {
extraKeys.AppendElement()->AssignASCII("flow_id");
extraValues.EmplaceBack(flowId.value());
}
if (language) {
extraKeys.AppendElement()->AssignASCII("language");
extraValues.EmplaceBack(language.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Triggers when the from-language selected value is changed.
*/
constexpr impl::EventMetric<ChangeFromLanguageExtra> change_from_language(6069);
/**
* generated from translations.panel.change_source_language_button
*/
struct ChangeSourceLanguageButtonExtra {
mozilla::Maybe<nsCString> flowId;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (flowId) {
extraKeys.AppendElement()->AssignASCII("flow_id");
extraValues.EmplaceBack(flowId.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Triggers when the change-source-language button is invoked in the full-page translations panel.
*/
constexpr impl::EventMetric<ChangeSourceLanguageButtonExtra> change_source_language_button(6070);
/**
* generated from translations.panel.change_to_language
*/
struct ChangeToLanguageExtra {
mozilla::Maybe<nsCString> flowId;
mozilla::Maybe<nsCString> language;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (flowId) {
extraKeys.AppendElement()->AssignASCII("flow_id");
extraValues.EmplaceBack(flowId.value());
}
if (language) {
extraKeys.AppendElement()->AssignASCII("language");
extraValues.EmplaceBack(language.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Triggers when the to-language selected value is changed.
*/
constexpr impl::EventMetric<ChangeToLanguageExtra> change_to_language(6071);
/**
* generated from translations.panel.close
*/
struct CloseExtra {
mozilla::Maybe<nsCString> flowId;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (flowId) {
extraKeys.AppendElement()->AssignASCII("flow_id");
extraValues.EmplaceBack(flowId.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Triggers when full-page translations panel is closed.
*/
constexpr impl::EventMetric<CloseExtra> close(6072);
/**
* generated from translations.panel.close_from_language_menu
*/
struct CloseFromLanguageMenuExtra {
mozilla::Maybe<nsCString> flowId;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (flowId) {
extraKeys.AppendElement()->AssignASCII("flow_id");
extraValues.EmplaceBack(flowId.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Triggers when the from-language dropdown is closed in the full-page translations panel.
*/
constexpr impl::EventMetric<CloseFromLanguageMenuExtra> close_from_language_menu(6073);
/**
* generated from translations.panel.close_settings_menu
*/
struct CloseSettingsMenuExtra {
mozilla::Maybe<nsCString> flowId;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (flowId) {
extraKeys.AppendElement()->AssignASCII("flow_id");
extraValues.EmplaceBack(flowId.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Triggers when the settings menu is closed in the full-page translations panel.
*/
constexpr impl::EventMetric<CloseSettingsMenuExtra> close_settings_menu(6074);
/**
* generated from translations.panel.close_to_language_menu
*/
struct CloseToLanguageMenuExtra {
mozilla::Maybe<nsCString> flowId;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (flowId) {
extraKeys.AppendElement()->AssignASCII("flow_id");
extraValues.EmplaceBack(flowId.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Triggers when the from-language dropdown is closed in the full-page translations panel.
*/
constexpr impl::EventMetric<CloseToLanguageMenuExtra> close_to_language_menu(6075);
/**
* generated from translations.panel.dismiss_error_button
*/
struct DismissErrorButtonExtra {
mozilla::Maybe<nsCString> flowId;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (flowId) {
extraKeys.AppendElement()->AssignASCII("flow_id");
extraValues.EmplaceBack(flowId.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Triggers when the dismiss-error button is invoked in the full-page translations panel.
*/
constexpr impl::EventMetric<DismissErrorButtonExtra> dismiss_error_button(6076);
/**
* generated from translations.panel.learn_more
*/
struct LearnMoreExtra {
mozilla::Maybe<nsCString> flowId;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (flowId) {
extraKeys.AppendElement()->AssignASCII("flow_id");
extraValues.EmplaceBack(flowId.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Triggers when the learn-more link is invoked in the full-page translations panel first interaction.
*/
constexpr impl::EventMetric<LearnMoreExtra> learn_more(6077);
/**
* generated from translations.panel.manage_languages
*/
struct ManageLanguagesExtra {
mozilla::Maybe<nsCString> flowId;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (flowId) {
extraKeys.AppendElement()->AssignASCII("flow_id");
extraValues.EmplaceBack(flowId.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Triggers when the manage-languages menuitem is invoked in the full-page translations panel settings.
*/
constexpr impl::EventMetric<ManageLanguagesExtra> manage_languages(6078);
/**
* generated from translations.panel.never_translate_language
*/
struct NeverTranslateLanguageExtra {
mozilla::Maybe<nsCString> flowId;
mozilla::Maybe<nsCString> language;
mozilla::Maybe<bool> toggledOn;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (flowId) {
extraKeys.AppendElement()->AssignASCII("flow_id");
extraValues.EmplaceBack(flowId.value());
}
if (language) {
extraKeys.AppendElement()->AssignASCII("language");
extraValues.EmplaceBack(language.value());
}
if (toggledOn) {
extraKeys.AppendElement()->AssignASCII("toggled_on");
extraValues.AppendElement()->AssignASCII(toggledOn.value() ? "true" : "false");
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Triggers when the never-translate-language menuitem is invoked in the full-page translations panel settings.
*/
constexpr impl::EventMetric<NeverTranslateLanguageExtra> never_translate_language(6079);
/**
* generated from translations.panel.never_translate_site
*/
struct NeverTranslateSiteExtra {
mozilla::Maybe<nsCString> flowId;
mozilla::Maybe<bool> toggledOn;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (flowId) {
extraKeys.AppendElement()->AssignASCII("flow_id");
extraValues.EmplaceBack(flowId.value());
}
if (toggledOn) {
extraKeys.AppendElement()->AssignASCII("toggled_on");
extraValues.AppendElement()->AssignASCII(toggledOn.value() ? "true" : "false");
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Triggers when the never-translate-site menuitem is invoked in the full-page translations panel settings.
*/
constexpr impl::EventMetric<NeverTranslateSiteExtra> never_translate_site(6080);
/**
* generated from translations.panel.open
*/
struct OpenExtra {
mozilla::Maybe<bool> autoShow;
mozilla::Maybe<nsCString> documentLanguage;
mozilla::Maybe<nsCString> flowId;
mozilla::Maybe<nsCString> openedFrom;
mozilla::Maybe<nsCString> viewName;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (autoShow) {
extraKeys.AppendElement()->AssignASCII("auto_show");
extraValues.AppendElement()->AssignASCII(autoShow.value() ? "true" : "false");
}
if (documentLanguage) {
extraKeys.AppendElement()->AssignASCII("document_language");
extraValues.EmplaceBack(documentLanguage.value());
}
if (flowId) {
extraKeys.AppendElement()->AssignASCII("flow_id");
extraValues.EmplaceBack(flowId.value());
}
if (openedFrom) {
extraKeys.AppendElement()->AssignASCII("opened_from");
extraValues.EmplaceBack(openedFrom.value());
}
if (viewName) {
extraKeys.AppendElement()->AssignASCII("view_name");
extraValues.EmplaceBack(viewName.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Triggers when the full-page translations panel is opened.
*/
constexpr impl::EventMetric<OpenExtra> open(6081);
/**
* generated from translations.panel.open_from_language_menu
*/
struct OpenFromLanguageMenuExtra {
mozilla::Maybe<nsCString> flowId;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (flowId) {
extraKeys.AppendElement()->AssignASCII("flow_id");
extraValues.EmplaceBack(flowId.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Triggers when the from-language dropdown is opened in the full-page translations panel.
*/
constexpr impl::EventMetric<OpenFromLanguageMenuExtra> open_from_language_menu(6082);
/**
* generated from translations.panel.open_settings_menu
*/
struct OpenSettingsMenuExtra {
mozilla::Maybe<nsCString> flowId;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (flowId) {
extraKeys.AppendElement()->AssignASCII("flow_id");
extraValues.EmplaceBack(flowId.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Triggers when the settings menu is opened in the full-page translations panel.
*/
constexpr impl::EventMetric<OpenSettingsMenuExtra> open_settings_menu(6083);
/**
* generated from translations.panel.open_to_language_menu
*/
struct OpenToLanguageMenuExtra {
mozilla::Maybe<nsCString> flowId;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (flowId) {
extraKeys.AppendElement()->AssignASCII("flow_id");
extraValues.EmplaceBack(flowId.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Triggers when the from-language dropdown is opened in the full-page translations panel.
*/
constexpr impl::EventMetric<OpenToLanguageMenuExtra> open_to_language_menu(6084);
/**
* generated from translations.panel.restore_page_button
*/
struct RestorePageButtonExtra {
mozilla::Maybe<nsCString> flowId;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (flowId) {
extraKeys.AppendElement()->AssignASCII("flow_id");
extraValues.EmplaceBack(flowId.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Triggers when the restore-page button is invoked in the full-page translations panel.
*/
constexpr impl::EventMetric<RestorePageButtonExtra> restore_page_button(6085);
/**
* generated from translations.panel.translate_button
*/
struct TranslateButtonExtra {
mozilla::Maybe<nsCString> flowId;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (flowId) {
extraKeys.AppendElement()->AssignASCII("flow_id");
extraValues.EmplaceBack(flowId.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Triggers when the translate button is invoked in the full-page translations panel.
*/
constexpr impl::EventMetric<TranslateButtonExtra> translate_button(6086);
}
namespace translations_select_translations_panel {
/**
* generated from translations.select_translations_panel.about_translations
*/
struct AboutTranslationsExtra {
mozilla::Maybe<nsCString> flowId;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (flowId) {
extraKeys.AppendElement()->AssignASCII("flow_id");
extraValues.EmplaceBack(flowId.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Triggers when the about-translations menuitem is invoked in the select translations panel settings.
*/
constexpr impl::EventMetric<AboutTranslationsExtra> about_translations(6087);
/**
* generated from translations.select_translations_panel.cancel_button
*/
struct CancelButtonExtra {
mozilla::Maybe<nsCString> flowId;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (flowId) {
extraKeys.AppendElement()->AssignASCII("flow_id");
extraValues.EmplaceBack(flowId.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Triggers when the cancel button is invoked in the select translations panel.
*/
constexpr impl::EventMetric<CancelButtonExtra> cancel_button(6088);
/**
* generated from translations.select_translations_panel.change_from_language
*/
struct ChangeFromLanguageExtra {
mozilla::Maybe<nsCString> documentLanguage;
mozilla::Maybe<nsCString> flowId;
mozilla::Maybe<nsCString> language;
mozilla::Maybe<nsCString> previousLanguage;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (documentLanguage) {
extraKeys.AppendElement()->AssignASCII("document_language");
extraValues.EmplaceBack(documentLanguage.value());
}
if (flowId) {
extraKeys.AppendElement()->AssignASCII("flow_id");
extraValues.EmplaceBack(flowId.value());
}
if (language) {
extraKeys.AppendElement()->AssignASCII("language");
extraValues.EmplaceBack(language.value());
}
if (previousLanguage) {
extraKeys.AppendElement()->AssignASCII("previous_language");
extraValues.EmplaceBack(previousLanguage.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Triggers when the from-language selected value is changed.
*/
constexpr impl::EventMetric<ChangeFromLanguageExtra> change_from_language(6089);
/**
* generated from translations.select_translations_panel.change_to_language
*/
struct ChangeToLanguageExtra {
mozilla::Maybe<nsCString> flowId;
mozilla::Maybe<nsCString> language;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (flowId) {
extraKeys.AppendElement()->AssignASCII("flow_id");
extraValues.EmplaceBack(flowId.value());
}
if (language) {
extraKeys.AppendElement()->AssignASCII("language");
extraValues.EmplaceBack(language.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Triggers when the to-language selected value is changed.
*/
constexpr impl::EventMetric<ChangeToLanguageExtra> change_to_language(6090);
/**
* generated from translations.select_translations_panel.close
*/
struct CloseExtra {
mozilla::Maybe<nsCString> flowId;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (flowId) {
extraKeys.AppendElement()->AssignASCII("flow_id");
extraValues.EmplaceBack(flowId.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Triggers when the select translations panel is closed.
*/
constexpr impl::EventMetric<CloseExtra> close(6091);
/**
* generated from translations.select_translations_panel.copy_button
*/
struct CopyButtonExtra {
mozilla::Maybe<nsCString> flowId;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (flowId) {
extraKeys.AppendElement()->AssignASCII("flow_id");
extraValues.EmplaceBack(flowId.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Triggers when the copy button is invoked in the select translations panel.
*/
constexpr impl::EventMetric<CopyButtonExtra> copy_button(6092);
/**
* generated from translations.select_translations_panel.done_button
*/
struct DoneButtonExtra {
mozilla::Maybe<nsCString> flowId;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (flowId) {
extraKeys.AppendElement()->AssignASCII("flow_id");
extraValues.EmplaceBack(flowId.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Triggers when the done button is invoked in the select translations panel.
*/
constexpr impl::EventMetric<DoneButtonExtra> done_button(6093);
/**
* generated from translations.select_translations_panel.initialization_failure_message
*/
struct InitializationFailureMessageExtra {
mozilla::Maybe<nsCString> flowId;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (flowId) {
extraKeys.AppendElement()->AssignASCII("flow_id");
extraValues.EmplaceBack(flowId.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Triggers when the initialization-failure message is shown in the select translations panel.
*/
constexpr impl::EventMetric<InitializationFailureMessageExtra> initialization_failure_message(6094);
/**
* generated from translations.select_translations_panel.open
*/
struct OpenExtra {
mozilla::Maybe<nsCString> documentLanguage;
mozilla::Maybe<nsCString> flowId;
mozilla::Maybe<nsCString> fromLanguage;
mozilla::Maybe<nsCString> textSource;
mozilla::Maybe<nsCString> toLanguage;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (documentLanguage) {
extraKeys.AppendElement()->AssignASCII("document_language");
extraValues.EmplaceBack(documentLanguage.value());
}
if (flowId) {
extraKeys.AppendElement()->AssignASCII("flow_id");
extraValues.EmplaceBack(flowId.value());
}
if (fromLanguage) {
extraKeys.AppendElement()->AssignASCII("from_language");
extraValues.EmplaceBack(fromLanguage.value());
}
if (textSource) {
extraKeys.AppendElement()->AssignASCII("text_source");
extraValues.EmplaceBack(textSource.value());
}
if (toLanguage) {
extraKeys.AppendElement()->AssignASCII("to_language");
extraValues.EmplaceBack(toLanguage.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Triggers when the select translations panel is opened.
*/
constexpr impl::EventMetric<OpenExtra> open(6095);
/**
* generated from translations.select_translations_panel.open_settings_menu
*/
struct OpenSettingsMenuExtra {
mozilla::Maybe<nsCString> flowId;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (flowId) {
extraKeys.AppendElement()->AssignASCII("flow_id");
extraValues.EmplaceBack(flowId.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Triggers when the settings menu is opened in the select translations panel.
*/
constexpr impl::EventMetric<OpenSettingsMenuExtra> open_settings_menu(6096);
/**
* generated from translations.select_translations_panel.translate_button
*/
struct TranslateButtonExtra {
mozilla::Maybe<nsCString> detectedLanguage;
mozilla::Maybe<nsCString> flowId;
mozilla::Maybe<nsCString> fromLanguage;
mozilla::Maybe<nsCString> toLanguage;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (detectedLanguage) {
extraKeys.AppendElement()->AssignASCII("detected_language");
extraValues.EmplaceBack(detectedLanguage.value());
}
if (flowId) {
extraKeys.AppendElement()->AssignASCII("flow_id");
extraValues.EmplaceBack(flowId.value());
}
if (fromLanguage) {
extraKeys.AppendElement()->AssignASCII("from_language");
extraValues.EmplaceBack(fromLanguage.value());
}
if (toLanguage) {
extraKeys.AppendElement()->AssignASCII("to_language");
extraValues.EmplaceBack(toLanguage.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Triggers when the translate button is invoked in the select translations panel.
*/
constexpr impl::EventMetric<TranslateButtonExtra> translate_button(6097);
/**
* generated from translations.select_translations_panel.translate_full_page_button
*/
struct TranslateFullPageButtonExtra {
mozilla::Maybe<nsCString> flowId;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (flowId) {
extraKeys.AppendElement()->AssignASCII("flow_id");
extraValues.EmplaceBack(flowId.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Triggers when the translate-full-page button is invoked in the select translations panel.
*/
constexpr impl::EventMetric<TranslateFullPageButtonExtra> translate_full_page_button(6098);
/**
* generated from translations.select_translations_panel.translation_failure_message
*/
struct TranslationFailureMessageExtra {
mozilla::Maybe<nsCString> flowId;
mozilla::Maybe<nsCString> fromLanguage;
mozilla::Maybe<nsCString> toLanguage;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (flowId) {
extraKeys.AppendElement()->AssignASCII("flow_id");
extraValues.EmplaceBack(flowId.value());
}
if (fromLanguage) {
extraKeys.AppendElement()->AssignASCII("from_language");
extraValues.EmplaceBack(fromLanguage.value());
}
if (toLanguage) {
extraKeys.AppendElement()->AssignASCII("to_language");
extraValues.EmplaceBack(toLanguage.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Triggers when the translation-failure message is shown in the select translations panel.
*/
constexpr impl::EventMetric<TranslationFailureMessageExtra> translation_failure_message(6099);
/**
* generated from translations.select_translations_panel.translation_settings
*/
struct TranslationSettingsExtra {
mozilla::Maybe<nsCString> flowId;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (flowId) {
extraKeys.AppendElement()->AssignASCII("flow_id");
extraValues.EmplaceBack(flowId.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Triggers when the translation-settings menuitem is invoked in the select translations panel settings.
*/
constexpr impl::EventMetric<TranslationSettingsExtra> translation_settings(6100);
/**
* generated from translations.select_translations_panel.try_again_button
*/
struct TryAgainButtonExtra {
mozilla::Maybe<nsCString> flowId;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (flowId) {
extraKeys.AppendElement()->AssignASCII("flow_id");
extraValues.EmplaceBack(flowId.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Triggers when the try-again button is invoked in the select translations panel.
*/
constexpr impl::EventMetric<TryAgainButtonExtra> try_again_button(6101);
/**
* generated from translations.select_translations_panel.unsupported_language_message
*/
struct UnsupportedLanguageMessageExtra {
mozilla::Maybe<nsCString> detectedLanguage;
mozilla::Maybe<nsCString> documentLanguage;
mozilla::Maybe<nsCString> flowId;
std::tuple<nsTArray<nsCString>, nsTArray<nsCString>> ToFfiExtra() const {
nsTArray<nsCString> extraKeys;
nsTArray<nsCString> extraValues;
if (detectedLanguage) {
extraKeys.AppendElement()->AssignASCII("detected_language");
extraValues.EmplaceBack(detectedLanguage.value());
}
if (documentLanguage) {
extraKeys.AppendElement()->AssignASCII("document_language");
extraValues.EmplaceBack(documentLanguage.value());
}
if (flowId) {
extraKeys.AppendElement()->AssignASCII("flow_id");
extraValues.EmplaceBack(flowId.value());
}
return std::make_tuple(std::move(extraKeys), std::move(extraValues));
}
};
/**
* Triggers when the unsupported-language message is shown in the select translations panel.
*/
constexpr impl::EventMetric<UnsupportedLanguageMessageExtra> unsupported_language_message(6102);
}
} // namespace mozilla::glean
#endif // mozilla_GleanTranslationsMetrics_h