1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 19:17:44 +00:00

AK+Everywhere: Rename String to DeprecatedString

We have a new, improved string type coming up in AK (OOM aware, no null
state), and while it's going to use UTF-8, the name UTF8String is a
mouthful - so let's free up the String name by renaming the existing
class.
Making the old one have an annoying name will hopefully also help with
quick adoption :^)
This commit is contained in:
Linus Groh 2022-12-04 18:02:33 +00:00 committed by Andreas Kling
parent f74251606d
commit 6e19ab2bbc
2006 changed files with 11635 additions and 11636 deletions

View file

@ -5,17 +5,17 @@ clipboard - Data formats specific to Clipboard and drag & drop
## Clipboard
The clipboard feature works through the Clipboard server, which generally acts as a global storage or three things:
- a `String` mime type,
- a `DeprecatedString` mime type,
- a (potentially large) block of data, shared as an anonymous file,
- a `HashMap<String, String>` of arbitrary metadata, depending on the mime type.
- a `HashMap<DeprecatedString, DeprecatedString>` of arbitrary metadata, depending on the mime type.
See also [`Userland/Libraries/LibGUI/Clipboard.h`](../../../../../Userland/Libraries/LibGUI/Clipboard.h).
## Drag & drop
In contrast to the clipboard, the drag & drop feature works through WindowServer, and a bouquet of data is transmitted:
- a `[UTF8] String` to be displayed while dragging,
- a `HashMap<String, ByteBuffer>` map that contains arbitrary data for a variety of possible mime types,
- a `[UTF8] DeprecatedString` to be displayed while dragging,
- a `HashMap<DeprecatedString, ByteBuffer>` map that contains arbitrary data for a variety of possible mime types,
- a `Gfx::ShareableBitmap` to be displayed while dragging
Drag & drop is most prominently supported by File Manager, Spreadsheet, and Terminal.

View file

@ -31,7 +31,7 @@ Start from defining an endpoint in the IPC file in `MyServer.ipc`.
```
endpoint MyServer
{
SyncAPI(String text) => (i32 status)
SyncAPI(DeprecatedString text) => (i32 status)
AsyncAPI(i32 mode) =|
}
```
@ -42,7 +42,7 @@ Part of the generated C++ messages:
class SyncAPI final : public IPC::Message {
public:
using ResponseType = SyncAPIResponse;
SyncAPI(const String& text) : m_text(text) {}
SyncAPI(const DeprecatedString& text) : m_text(text) {}
virtual ~SyncAPI() override {}
static OwnPtr<SyncAPI> decode(...);
virtual IPC::MessageBuffer encode(...) const override;