瀏覽代碼

Create source file implementation for interfaces

Patrick-Christopher Mattulat 1 年之前
父節點
當前提交
3ee927c1ff

+ 4 - 2
CMakeLists.txt

@@ -149,8 +149,6 @@ if(${CMAKE_CXX_COMPILER_ID} STREQUAL GNU OR
         ${CMAKE_CXX_COMPILER_ID} STREQUAL Clang OR
         ${CMAKE_CXX_COMPILER_ID} STREQUAL AppleClang)
     set(SOURCE_FILES_CORE
-            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls_std/core/api/io/PosixReader.cpp
-            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls_std/core/api/socket/PosixSocket.cpp
             ${CMAKE_CURRENT_SOURCE_DIR}/source/ls_std/core/Class.cpp
             ${CMAKE_CURRENT_SOURCE_DIR}/source/ls_std/core/Version.cpp)
 endif()
@@ -195,6 +193,10 @@ if(${CMAKE_CXX_COMPILER_ID} STREQUAL GNU OR
         ${CMAKE_CXX_COMPILER_ID} STREQUAL Clang OR
         ${CMAKE_CXX_COMPILER_ID} STREQUAL AppleClang)
     set(SOURCE_FILES_NETWORK
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls_std/core/api/io/PosixReader.cpp # TODO: create "common" module and refactor core module to avoid core binary linkage at all
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls_std/core/api/socket/PosixSocket.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls_std/core/interface/IPosixReader.cpp
+            ${CMAKE_CURRENT_SOURCE_DIR}/source/ls_std/core/interface/IPosixSocket.cpp
             ${CMAKE_CURRENT_SOURCE_DIR}/source/ls_std/network/core/ProtocolFamilyMapper.cpp
             ${CMAKE_CURRENT_SOURCE_DIR}/source/ls_std/network/core/ProtocolMapper.cpp
             ${CMAKE_CURRENT_SOURCE_DIR}/source/ls_std/network/socket/Socket.cpp

+ 3 - 3
include/ls_std/core/api/io/PosixReader.hpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2022-12-16
- * Changed:         2022-12-16
+ * Changed:         2022-12-23
  *
  * */
 
@@ -18,8 +18,8 @@ namespace ls::std::core::api
   {
     public:
 
-      PosixReader() = default;
-      ~PosixReader() override = default;
+      PosixReader();
+      ~PosixReader() override;
 
       size_t read(int _unixFileDescriptor, void* _buffer, size_t _size) override;
   };

+ 3 - 2
include/ls_std/core/interface/IPosixReader.hpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2022-12-15
- * Changed:         2022-12-16
+ * Changed:         2022-12-23
  *
  * */
 
@@ -18,7 +18,8 @@ namespace ls::std::core::interface_type
   {
     public:
 
-      virtual ~IPosixReader() = default;
+      IPosixReader();
+      virtual ~IPosixReader();
 
       virtual size_t read(int _unixFileDescriptor, void* _buffer, size_t _size) = 0;
   };

+ 3 - 2
include/ls_std/core/interface/IPosixSocket.hpp

@@ -3,7 +3,7 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2022-12-09
- * Changed:         2022-12-12
+ * Changed:         2022-12-23
  *
  * */
 
@@ -18,7 +18,8 @@ namespace ls::std::core::interface_type
   {
     public:
 
-      virtual ~IPosixSocket() = default;
+      IPosixSocket();
+      virtual ~IPosixSocket();
 
       virtual int accept(int _socketFileDescriptor, struct sockaddr *_address, socklen_t* _addressLength) = 0;
       virtual int bind(int _socketFileDescriptor, const struct sockaddr* _address, socklen_t _addressLength) = 0;

+ 7 - 1
source/ls_std/core/api/io/PosixReader.cpp

@@ -3,12 +3,18 @@
  * Company:         Lynar Studios
  * E-Mail:          webmaster@lynarstudios.com
  * Created:         2022-12-16
- * Changed:         2022-12-16
+ * Changed:         2022-12-23
  *
  * */
 
 #include <ls_std/core/api/io/PosixReader.hpp>
 
+ls::std::core::api::PosixReader::PosixReader()
+= default;
+
+ls::std::core::api::PosixReader::~PosixReader()
+= default;
+
 size_t ls::std::core::api::PosixReader::read(int _unixFileDescriptor, void *_buffer, size_t _size)
 {
   return ::read(_unixFileDescriptor, _buffer, _size);

+ 16 - 0
source/ls_std/core/interface/IPosixReader.cpp

@@ -0,0 +1,16 @@
+/*
+ * Author:          Patrick-Christopher Mattulat
+ * Company:         Lynar Studios
+ * E-Mail:          webmaster@lynarstudios.com
+ * Created:         2022-12-23
+ * Changed:         2022-12-23
+ *
+ * */
+
+#include <ls_std/core/interface/IPosixReader.hpp>
+
+ls::std::core::interface_type::IPosixReader::IPosixReader()
+= default;
+
+ls::std::core::interface_type::IPosixReader::~IPosixReader()
+= default;

+ 16 - 0
source/ls_std/core/interface/IPosixSocket.cpp

@@ -0,0 +1,16 @@
+/*
+ * Author:          Patrick-Christopher Mattulat
+ * Company:         Lynar Studios
+ * E-Mail:          webmaster@lynarstudios.com
+ * Created:         2022-12-23
+ * Changed:         2022-12-23
+ *
+ * */
+
+#include <ls_std/core/interface/IPosixSocket.hpp>
+
+ls::std::core::interface_type::IPosixSocket::IPosixSocket()
+= default;
+
+ls::std::core::interface_type::IPosixSocket::~IPosixSocket()
+= default;