diff --git a/Makefile b/Makefile index 59d2436..2a4b5d0 100644 --- a/Makefile +++ b/Makefile @@ -7,12 +7,13 @@ include $(NACL_SDK_ROOT)/tools/common.mk # Include Moonlight-Common-C makefile include common-c.mk -LIBS = ppapi pthread +LIBS = ppapi ppapi_cpp pthread nacl_io CFLAGS = -Wall -Wno-missing-braces SOURCES = \ $(COMMON_C_SOURCE) \ libchelper.c \ + main.cpp \ # Build rules generated by macros from common.mk: diff --git a/main.cpp b/main.cpp new file mode 100644 index 0000000..cc8a022 --- /dev/null +++ b/main.cpp @@ -0,0 +1,30 @@ +#include "ppapi/cpp/instance.h" +#include "ppapi/cpp/module.h" +#include "ppapi/cpp/var.h" + +#include "nacl_io/nacl_io.h" + +class MoonlightInstance : public pp::Instance { + public: + explicit MoonlightInstance(PP_Instance instance) : pp::Instance(instance) {} + virtual ~MoonlightInstance() {} +}; + +class MoonlightModule : public pp::Module { + public: + MoonlightModule() : pp::Module() {} + virtual ~MoonlightModule() {} + + virtual pp::Instance* CreateInstance(PP_Instance instance) { + return new MoonlightInstance(instance); + } +}; + +namespace pp { +Module* CreateModule() { + // Initialize nacl_io before entering moonlight-common-c for BSD sockets + nacl_io_init(); + + return new MoonlightModule(); +} +} // namespace pp \ No newline at end of file