#include "remoting/protocol/content_description.h"
#include <memory>
#include <utility>
#include "base/base64.h"
#include "base/logging.h"
#include "base/memory/ptr_util.h"
#include "base/strings/string_number_conversions.h"
#include "remoting/base/constants.h"
#include "remoting/base/name_value_map.h"
#include "remoting/protocol/authenticator.h"
#include "third_party/libjingle_xmpp/xmllite/xmlelement.h"
QName;
XmlElement;
namespace remoting::protocol {
const char ContentDescription::kChromotingContentName[] = …;
namespace {
const char kDefaultNs[] = …;
const char kDescriptionTag[] = …;
const char kStandardIceTag[] = …;
const char kControlTag[] = …;
const char kEventTag[] = …;
const char kVideoTag[] = …;
const char kAudioTag[] = …;
const char kTransportAttr[] = …;
const char kVersionAttr[] = …;
const char kCodecAttr[] = …;
const NameMapElement<ChannelConfig::TransportType> kTransports[] = …;
const NameMapElement<ChannelConfig::Codec> kCodecs[] = …;
XmlElement* FormatChannelConfig(const ChannelConfig& config,
const std::string& tag_name) { … }
bool ParseChannelConfig(const XmlElement* element,
bool codec_required,
ChannelConfig* config) { … }
}
ContentDescription::ContentDescription(
std::unique_ptr<CandidateSessionConfig> config,
std::unique_ptr<jingle_xmpp::XmlElement> authenticator_message)
: … { … }
ContentDescription::~ContentDescription() = default;
XmlElement* ContentDescription::ToXml() const { … }
bool ContentDescription::ParseChannelConfigs(
const XmlElement* const element,
const char tag_name[],
bool codec_required,
bool optional,
std::list<ChannelConfig>* const configs) { … }
std::unique_ptr<ContentDescription> ContentDescription::ParseXml(
const XmlElement* element,
bool webrtc_transport) { … }
}