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

LibIPC: Start fleshing out a separate IPC library

This will be a place to put object serialization/deserialization logic,
message parsing, endpoint management, etc.
This commit is contained in:
Andreas Kling 2019-08-03 15:29:40 +02:00
parent aa8a3d4a89
commit a40e763b2a
7 changed files with 81 additions and 0 deletions

View file

@ -19,6 +19,7 @@ build_targets="$build_targets ../DevTools/IPCCompiler"
build_targets="$build_targets ../Libraries/LibC" build_targets="$build_targets ../Libraries/LibC"
build_targets="$build_targets ../Libraries/LibM" build_targets="$build_targets ../Libraries/LibM"
build_targets="$build_targets ../Libraries/LibCore" build_targets="$build_targets ../Libraries/LibCore"
build_targets="$build_targets ../Libraries/LibIPC"
build_targets="$build_targets ../Libraries/LibDraw" build_targets="$build_targets ../Libraries/LibDraw"
build_targets="$build_targets ../Libraries/LibAudio" build_targets="$build_targets ../Libraries/LibAudio"
build_targets="$build_targets ../Servers/SystemServer" build_targets="$build_targets ../Servers/SystemServer"

View file

@ -0,0 +1,9 @@
#include <LibIPC/IEndpoint.h>
IEndpoint::IEndpoint()
{
}
IEndpoint::~IEndpoint()
{
}

View file

@ -0,0 +1,16 @@
#pragma once
#include <AK/AKString.h>
class IEndpoint {
public:
virtual ~IEndpoint();
const String& name() const { return m_name; }
protected:
IEndpoint();
private:
String m_name;
};

View file

@ -0,0 +1,9 @@
#include <LibIPC/IMessage.h>
IMessage::IMessage()
{
}
IMessage::~IMessage()
{
}

View file

@ -0,0 +1,18 @@
#pragma once
#include <AK/AKString.h>
#include <AK/ByteBuffer.h>
class IMessage {
public:
virtual ~IMessage();
const String& name() const { return m_name; }
virtual ByteBuffer encode() = 0;
protected:
IMessage();
private:
String m_name;
};

21
Libraries/LibIPC/Makefile Normal file
View file

@ -0,0 +1,21 @@
include ../../Makefile.common
OBJS = \
IEndpoint.o \
IMessage.o
LIBRARY = libipc.a
DEFINES += -DUSERLAND
all: $(LIBRARY)
$(LIBRARY): $(OBJS)
@echo "LIB $@"; $(AR) rcs $@ $(OBJS) $(LIBS)
.cpp.o:
@echo "CXX $<"; $(CXX) $(CXXFLAGS) -o $@ -c $<
-include $(OBJS:%.o=%.d)
clean:
@echo "CLEAN"; rm -f $(LIBRARY) $(OBJS) *.d

7
Libraries/LibIPC/install.sh Executable file
View file

@ -0,0 +1,7 @@
#!/bin/bash
set -e
SERENITY_ROOT=../../
mkdir -p $SERENITY_ROOT/Root/usr/include/LibIPC/
cp *.h $SERENITY_ROOT/Root/usr/include/LibIPC/