ladybird/Userland/Libraries/LibWeb/DOM/QualifiedName.h

42 lines
1.2 KiB
C
Raw Normal View History

2020-10-10 02:48:05 +01:00
/*
* Copyright (c) 2020, the SerenityOS developers.
* Copyright (c) 2022, Andreas Kling <kling@serenityos.org>
2020-10-10 02:48:05 +01:00
*
* SPDX-License-Identifier: BSD-2-Clause
2020-10-10 02:48:05 +01:00
*/
#pragma once
#include <AK/DeprecatedFlyString.h>
2020-10-10 02:48:05 +01:00
namespace Web::DOM {
2020-10-10 02:48:05 +01:00
class QualifiedName {
public:
QualifiedName(DeprecatedFlyString const& local_name, DeprecatedFlyString const& prefix, DeprecatedFlyString const& namespace_);
2020-10-10 02:48:05 +01:00
DeprecatedFlyString const& local_name() const { return m_impl->local_name; }
DeprecatedFlyString const& prefix() const { return m_impl->prefix; }
DeprecatedFlyString const& namespace_() const { return m_impl->namespace_; }
2020-10-10 02:48:05 +01:00
DeprecatedFlyString const& as_string() const { return m_impl->as_string; }
struct Impl : public RefCounted<Impl> {
Impl(DeprecatedFlyString const& local_name, DeprecatedFlyString const& prefix, DeprecatedFlyString const& namespace_);
~Impl();
void make_internal_string();
DeprecatedFlyString local_name;
DeprecatedFlyString prefix;
DeprecatedFlyString namespace_;
DeprecatedFlyString as_string;
};
void set_prefix(DeprecatedFlyString const& value);
2020-10-10 02:48:05 +01:00
private:
NonnullRefPtr<Impl> m_impl;
2020-10-10 02:48:05 +01:00
};
}