mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 08:32:43 +00:00 
			
		
		
		
	 19e13117ad
			
		
	
	
		19e13117ad
		
	
	
	
	
		
			
			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.
		
			
				
	
	
		
			42 lines
		
	
	
	
		
			764 B
		
	
	
	
		
			CMake
		
	
	
	
	
	
			
		
		
	
	
			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)
 |