1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 04:47:35 +00:00

LibIPC+IPCCompiler: Add IPC::Decoder, let classes decode themselves

This shaves ~5 seconds off of a full build, not too bad. Also it just
seems nicer to push this logic out to classes. It could be better but
it's a start. :^)
This commit is contained in:
Andreas Kling 2020-02-15 12:04:35 +01:00
parent dc417ada6d
commit a4d857e3c5
12 changed files with 272 additions and 61 deletions

View file

@ -24,6 +24,7 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include <AK/BufferStream.h>
#include <AK/String.h>
#include <LibGfx/Size.h>
@ -40,3 +41,19 @@ const LogStream& operator<<(const LogStream& stream, const Size& value)
}
}
namespace IPC {
bool decode(BufferStream& stream, Gfx::Size& size)
{
int width;
int height;
stream >> width;
stream >> height;
if (stream.handle_read_failure())
return false;
size = { width, height };
return true;
}
}