blob: c2388519e7c48b448183e1776652931654dcc4ca [file] [log] [blame]
// Copyright 2018 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "rapidjson/document.h"
// Generate a 128-bit (pseudo) random UUID in the form of version 4 as described
// in RFC 4122, section 4.4.
// The format of UUID version 4 must be xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx,
// where y is one of [8, 9, A, B].
// The hexadecimal values "a" through "f" are output as lower case characters.
// If UUID generation fails an empty string is returned.
std::string GenerateUuid();
struct ConverterArgs {
// These parameters are copied into the Catapult histogram file. See the
// file for the meanings of these parameters.
int64_t timestamp = 0;
const char* masters = nullptr;
const char* bots = nullptr;
const char* log_url = nullptr;
const char* product_versions = nullptr;
// Generate deterministic GUIDs instead of random GUIDs. This is used
// only for testing.
bool use_test_guids = false;
void Convert(rapidjson::Document* input, rapidjson::Document* output, const ConverterArgs* args);
int ConverterMain(int argc, char** argv);