chromium/remoting/host/host_attributes.cc

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

#include "remoting/host/host_attributes.h"

#include <string>
#include <type_traits>
#include <vector>

#include "base/atomicops.h"
#include "base/check_op.h"
#include "base/strings/string_util.h"
#include "build/branding_buildflags.h"
#include "build/build_config.h"

#if BUILDFLAG(IS_WIN)
#include "media/base/win/mf_initializer.h"
#include "remoting/host/win/evaluate_3d_display_mode.h"
#include "remoting/host/win/evaluate_d3d.h"
#endif

namespace remoting {

namespace {

static constexpr char kSeparator[] =;

struct Attribute {};

inline constexpr bool IsDebug() {}

inline constexpr bool IsChromeBranded() {}

inline constexpr bool IsChromiumBranded() {}

inline constexpr bool IsOfficialBuild() {}

inline constexpr bool IsNonOfficialBuild() {}

// By using std::size() macro in base/macros.h, it's illegal to have empty
// arrays.
//
// error: no matching function for call to 'ArraySizeHelper'
// note: candidate template ignored: substitution failure
// [with T = const remoting::StaticAttribute, N = 0]:
// zero-length arrays are not permitted in C++.
//
// So we need IsDebug() function, and "Debug-Build" Attribute.

static constexpr Attribute kAttributes[] =;

}  // namespace

static_assert;

std::string GetHostAttributes() {}

}  // namespace remoting