1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 09:38:11 +00:00
serenity/Userland/Libraries/LibCore/CMakeLists.txt
sin-ack 19e13117ad LibCore: Implement the Serenity Stream API classes
The Serenity Stream API is the name for the new set of classes intended
to replace IODevice and its descendants. It provides more flexibility
for subclasses by allowing each subclass to override all the possible
functionalities according to their wishes.

Stream is the base class which implements majority of the functionality
expected from a readable and writable stream. SeekableStream adds
seeking on top, and provides a couple utility methods which derive from
seek. Socket adds a couple of BSD socket utility functions such as
checking whether there is data available to read and checking the
pending bytes on the socket.

As for the concrete classes, there is File which is a SeekableStream and
is intended to operate on file-like objects; and TCPSocket, UDPSocket
and LocalSocket, which handle TCP, UDP and UNIX sockets respectively.

The concrete classes do not do buffering by default. For buffering
functionality, a set of augmentative classes named BufferedSeekable and
BufferedSocket have been implemented, intended to wrap a SeekableStream
and a Socket, respectively.
2021-12-16 22:21:35 +03:30

42 lines
764 B
CMake

set(SOURCES
Account.cpp
AnonymousBuffer.cpp
ArgsParser.cpp
ConfigFile.cpp
Command.cpp
DateTime.cpp
DirIterator.cpp
ElapsedTimer.cpp
Event.cpp
EventLoop.cpp
FileWatcher.cpp
File.cpp
GetPassword.cpp
IODevice.cpp
LocalServer.cpp
LocalSocket.cpp
LockFile.cpp
MappedFile.cpp
MimeData.cpp
NetworkJob.cpp
NetworkResponse.cpp
Notifier.cpp
Object.cpp
Process.cpp
ProcessStatisticsReader.cpp
Property.cpp
SecretString.cpp
Socket.cpp
Stream.cpp
StandardPaths.cpp
System.cpp
TCPServer.cpp
TCPSocket.cpp
Timer.cpp
UDPServer.cpp
UDPSocket.cpp
Version.cpp
)
serenity_lib(LibCore core)
target_link_libraries(LibCore LibC LibCrypt)