#define DALI_TOOLKIT_INTERNAL_VISUAL_URL_H
/*
- * Copyright (c) 2021 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2023 Samsung Electronics Co., Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* limitations under the License.
*/
+// EXTERNAL INCLUDES
+#include <cstdint>
#include <string>
namespace Dali
SVG,
GIF,
WEBP,
- JSON
+ JSON,
+ TVG
};
enum ProtocolType
VisualUrl& operator=(const VisualUrl& url);
/**
+ * Move constructor
+ * @param[in] url The VisualUrl to move
+ */
+ VisualUrl(VisualUrl&& url) noexcept;
+
+ /**
+ * Move assignment operator
+ * @param[in] url The VisualUrl to move
+ */
+ VisualUrl& operator=(VisualUrl&& url) noexcept;
+
+ /**
* Get the full URL
* @return The url
*/
const std::string& GetUrl() const;
/**
+ * Get the hash value of full URL
+ * @return The hash value of url
+ */
+ std::uint64_t GetUrlHash() const;
+
+ /**
* Get the visual type of the URL
* @return The visual type of the URL
*/
std::string mUrl;
Type mType;
ProtocolType mLocation;
+
+ mutable std::uint64_t mUrlHash;
};
} // namespace Internal