diff --git a/Kernel/makeall.sh b/Kernel/makeall.sh index afe4b8258c..22dba1d56b 100755 --- a/Kernel/makeall.sh +++ b/Kernel/makeall.sh @@ -19,6 +19,7 @@ build_targets="$build_targets ../DevTools/IPCCompiler" build_targets="$build_targets ../Libraries/LibC" build_targets="$build_targets ../Libraries/LibM" build_targets="$build_targets ../Libraries/LibCore" +build_targets="$build_targets ../Libraries/LibIPC" build_targets="$build_targets ../Libraries/LibDraw" build_targets="$build_targets ../Libraries/LibAudio" build_targets="$build_targets ../Servers/SystemServer" diff --git a/Libraries/LibIPC/IEndpoint.cpp b/Libraries/LibIPC/IEndpoint.cpp new file mode 100644 index 0000000000..63bd239403 --- /dev/null +++ b/Libraries/LibIPC/IEndpoint.cpp @@ -0,0 +1,9 @@ +#include + +IEndpoint::IEndpoint() +{ +} + +IEndpoint::~IEndpoint() +{ +} diff --git a/Libraries/LibIPC/IEndpoint.h b/Libraries/LibIPC/IEndpoint.h new file mode 100644 index 0000000000..6481c90279 --- /dev/null +++ b/Libraries/LibIPC/IEndpoint.h @@ -0,0 +1,16 @@ +#pragma once + +#include + +class IEndpoint { +public: + virtual ~IEndpoint(); + + const String& name() const { return m_name; } + +protected: + IEndpoint(); + +private: + String m_name; +}; diff --git a/Libraries/LibIPC/IMessage.cpp b/Libraries/LibIPC/IMessage.cpp new file mode 100644 index 0000000000..7b7aad79e0 --- /dev/null +++ b/Libraries/LibIPC/IMessage.cpp @@ -0,0 +1,9 @@ +#include + +IMessage::IMessage() +{ +} + +IMessage::~IMessage() +{ +} diff --git a/Libraries/LibIPC/IMessage.h b/Libraries/LibIPC/IMessage.h new file mode 100644 index 0000000000..4be554852b --- /dev/null +++ b/Libraries/LibIPC/IMessage.h @@ -0,0 +1,18 @@ +#pragma once + +#include +#include + +class IMessage { +public: + virtual ~IMessage(); + + const String& name() const { return m_name; } + virtual ByteBuffer encode() = 0; + +protected: + IMessage(); + +private: + String m_name; +}; diff --git a/Libraries/LibIPC/Makefile b/Libraries/LibIPC/Makefile new file mode 100644 index 0000000000..c7bc2904dc --- /dev/null +++ b/Libraries/LibIPC/Makefile @@ -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 diff --git a/Libraries/LibIPC/install.sh b/Libraries/LibIPC/install.sh new file mode 100755 index 0000000000..c7324e2fd9 --- /dev/null +++ b/Libraries/LibIPC/install.sh @@ -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/