chromium/chrome/browser/enterprise/connectors/device_trust/key_management/browser/commands/linux_key_rotation_command.cc

// Copyright 2022 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "chrome/browser/enterprise/connectors/device_trust/key_management/browser/commands/linux_key_rotation_command.h"

#include <string>
#include <utility>

#include "base/base64.h"
#include "base/base_paths.h"
#include "base/check.h"
#include "base/command_line.h"
#include "base/files/file_path.h"
#include "base/files/file_util.h"
#include "base/functional/bind.h"
#include "base/functional/callback.h"
#include "base/memory/scoped_refptr.h"
#include "base/path_service.h"
#include "base/process/process.h"
#include "base/rand_util.h"
#include "base/strings/string_number_conversions.h"
#include "base/syslog_logging.h"
#include "base/task/thread_pool.h"
#include "base/threading/thread_restrictions.h"
#include "base/time/time.h"
#include "chrome/browser/enterprise/connectors/device_trust/common/device_trust_constants.h"
#include "chrome/browser/enterprise/connectors/device_trust/key_management/browser/commands/metrics_utils.h"
#include "chrome/browser/enterprise/connectors/device_trust/key_management/core/shared_command_constants.h"
#include "mojo/public/cpp/bindings/pending_receiver.h"
#include "mojo/public/cpp/platform/platform_channel.h"
#include "mojo/public/cpp/system/invitation.h"
#include "mojo/public/cpp/system/message_pipe.h"
#include "services/network/public/cpp/shared_url_loader_factory.h"

namespace enterprise_connectors {

namespace {

base::FilePath GetBinaryFilePath() {}

// Builds the command line needed to launch the service. The  `params` specify
// the needed KeyRotationCommandParams. 'pipe_name` is the name of the pipe to
//  connect to.
base::CommandLine GetCommandLine(const KeyRotationCommand::Params& params,
                                 const std::string& pipe_name) {}

// `command_line` is the command line we get from the GetCommandLine function,
// and `options` are the launch options we need to launch the process.
base::Process Launch(const base::CommandLine& command_line,
                     const base::LaunchOptions& options) {}

}  // namespace

LinuxKeyRotationCommand::LinuxKeyRotationCommand(
    scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory)
    :{}

LinuxKeyRotationCommand::LinuxKeyRotationCommand(
    LaunchCallback launch_callback,
    scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory)
    :{}

LinuxKeyRotationCommand::~LinuxKeyRotationCommand() = default;

void LinuxKeyRotationCommand::Trigger(const Params& params, Callback callback) {}

}  // namespace enterprise_connectors