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

40 lines
994 B
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/FlyString.h>
namespace Web::DOM {
2020-10-10 02:48:05 +01:00
class QualifiedName {
public:
QualifiedName(FlyString const& local_name, FlyString const& prefix, FlyString const& namespace_);
2020-10-10 02:48:05 +01:00
FlyString const& local_name() const { return m_impl->local_name; }
FlyString const& prefix() const { return m_impl->prefix; }
FlyString const& namespace_() const { return m_impl->namespace_; }
2020-10-10 02:48:05 +01:00
String const& as_string() const { return m_impl->as_string; }
struct Impl : public RefCounted<Impl> {
Impl(FlyString const& local_name, FlyString const& prefix, FlyString const& namespace_);
~Impl();
void make_internal_string();
FlyString local_name;
FlyString prefix;
FlyString namespace_;
String as_string;
};
2020-10-10 02:48:05 +01:00
private:
NonnullRefPtr<Impl> m_impl;
2020-10-10 02:48:05 +01:00
};
}