diff --git a/common/cpp/src/system_io_linux.cpp b/common/cpp/src/system_io_linux.cpp
index 85dcf4cf3e75a9864abe03bf466174cd2a10d143..d71de6a5b39338d509455ccf3b30a2ce55862c74 100644
--- a/common/cpp/src/system_io_linux.cpp
+++ b/common/cpp/src/system_io_linux.cpp
@@ -166,12 +166,12 @@ void CollectFileInformationRecursivly(const std::string& path,
             ProcessFileEntity(current_entity, path, files, err);
         }
         if (*err != IOErrors::kNoError) {
-            closedir(dir);
+            ::closedir(dir);
             return;
         }
     }
     *err = IOErrorsFromErrno();
-    closedir(dir);
+    ::closedir(dir);
 }
 
 hidra2::FileDescriptor hidra2::SystemIO::CreateSocket(hidra2::AddressFamilies address_family,
diff --git a/producer/api/include/producer/producer.h b/producer/api/include/producer/producer.h
index a74845ff38bd13dce50a295b8ed4fd3e72d9b1bd..9e010db09354da8825fca968be8adad15e8ce085 100644
--- a/producer/api/include/producer/producer.h
+++ b/producer/api/include/producer/producer.h
@@ -16,12 +16,11 @@ enum class ProducerError {
     kUnknownError,
 };
 
-enum ProducerStatus {
-    PRODUCER_STATUS__DISCONNECTED,
-    PRODUCER_STATUS__CONNECTING,
-    PRODUCER_STATUS__CONNECTED,
-    PRODUCER_STATUS__SENDING,
-    PRODUCER_STATUS__ERROR,
+enum class ProducerStatus {
+    kDisconnected,
+    kConnecting,
+    kConnected,
+    kSending,
 };
 
 class Producer {
diff --git a/producer/api/src/producer_impl.cpp b/producer/api/src/producer_impl.cpp
index 208d0bff23717d1f040897566bebb90966adee5c..819f99be12ce65363308d0aad1165873109c2cbd 100644
--- a/producer/api/src/producer_impl.cpp
+++ b/producer/api/src/producer_impl.cpp
@@ -46,32 +46,33 @@ hidra2::ProducerError hidra2::ProducerImpl::initialize_socket_to_receiver_(const
 }
 
 hidra2::ProducerError hidra2::ProducerImpl::ConnectToReceiver(const std::string& receiver_address) {
-    if(client_fd_ != -1 && status_ != PRODUCER_STATUS__DISCONNECTED && status_ != PRODUCER_STATUS__CONNECTING) {
+    if(client_fd_ != -1 && status_ != ProducerStatus::kDisconnected
+            && status_ != ProducerStatus::kConnecting) {
         return ProducerError::kAlreadyConnected;
     }
 
-    status_ = PRODUCER_STATUS__CONNECTING;
+    status_ = ProducerStatus::kConnecting;
 
     ProducerError error;
     error = initialize_socket_to_receiver_(receiver_address);
     if(error != ProducerError::kNoError) {
-        status_ = PRODUCER_STATUS__DISCONNECTED;
+        status_ = ProducerStatus::kDisconnected;
         return error;
     }
 
-    status_ = PRODUCER_STATUS__CONNECTED;
+    status_ = ProducerStatus::kConnected;
     return ProducerError::kNoError;
 }
 
 hidra2::ProducerError hidra2::ProducerImpl::Send(uint64_t file_id, void* data, size_t file_size) {
-    if(status_ != PRODUCER_STATUS__CONNECTED) {
+    if(status_ != ProducerStatus::kConnected) {
         return ProducerError::kConnectionNotReady;
     }
     if(file_size > kMaxChunkSize) {
         return ProducerError::kFileTooLarge;
     }
 
-    status_ = PRODUCER_STATUS__SENDING;
+    status_ = ProducerStatus::kSending;
 
     SendDataRequest sendDataRequest;
     sendDataRequest.op_code = OP_CODE__SEND_DATA;
@@ -83,14 +84,14 @@ hidra2::ProducerError hidra2::ProducerImpl::Send(uint64_t file_id, void* data, s
     io->Send(client_fd_, &sendDataRequest, sizeof(sendDataRequest), &io_error);
     if(io_error != IOErrors::kNoError) {
         std::cerr << "hidra2::ProducerImpl::Send/sendDataRequest" << std::endl;
-        status_ = PRODUCER_STATUS__CONNECTED;
+        status_ = ProducerStatus::kConnected;
         return ProducerError::kUnexpectedIOError;
     }
 
     io->Send(client_fd_, data, file_size, &io_error);
     if(io_error != IOErrors::kNoError) {
         std::cerr << "hidra2::ProducerImpl::Send/sendData" << std::endl;
-        status_ = PRODUCER_STATUS__CONNECTED;
+        status_ = ProducerStatus::kConnected;
         return ProducerError::kUnexpectedIOError;
     }
 
@@ -98,16 +99,16 @@ hidra2::ProducerError hidra2::ProducerImpl::Send(uint64_t file_id, void* data, s
     io->Receive(client_fd_, &sendDataResponse, sizeof(sendDataResponse), &io_error);
     if(io_error != IOErrors::kNoError) {
         std::cerr << "hidra2::ProducerImpl::send/receive_timeout error" << std::endl;
-        status_ = PRODUCER_STATUS__CONNECTED;
+        status_ = ProducerStatus::kConnected;
         return ProducerError::kUnexpectedIOError;
     }
 
     if(sendDataResponse.error_code) {
         std::cerr << "Server reported an error. NetErrorCode: " << sendDataResponse.error_code << std::endl;
-        status_ = PRODUCER_STATUS__CONNECTED;
+        status_ = ProducerStatus::kConnected;
         return ProducerError::kUnknownServerError;
     }
 
-    status_ = PRODUCER_STATUS__CONNECTED;
+    status_ = ProducerStatus::kConnected;
     return ProducerError::kNoError;
 }
diff --git a/producer/api/src/producer_impl.h b/producer/api/src/producer_impl.h
index 01653001fab7242e4faa8c59380afb4ed7cc21a4..3c00c114b0271a8589eacac2d290477a164e163d 100644
--- a/producer/api/src/producer_impl.h
+++ b/producer/api/src/producer_impl.h
@@ -14,7 +14,7 @@ class ProducerImpl : public Producer, public HasIO {
     int         client_fd_ = -1;
     uint64_t    request_id = 0;
 
-    ProducerStatus status_ = PRODUCER_STATUS__DISCONNECTED;
+    ProducerStatus status_ = ProducerStatus::kDisconnected;
 
     ProducerError initialize_socket_to_receiver_(const std::string& receiver_address);
     ProducerError NetworkErrorToProducerError(NetworkErrorCode networkError);
diff --git a/producer/api/unittests/test_producer_impl.cpp b/producer/api/unittests/test_producer_impl.cpp
index 4acf628c367de268b2951a360f700dd55f6d7606..2f9a93c7a6bc22d40cb0ece253bb98657f71505a 100644
--- a/producer/api/unittests/test_producer_impl.cpp
+++ b/producer/api/unittests/test_producer_impl.cpp
@@ -24,7 +24,7 @@ TEST(ProducerImpl, get_status__disconnected) {
 
     hidra2::ProducerStatus status = producer.GetStatus();
 
-    ASSERT_THAT(status, Eq(hidra2::PRODUCER_STATUS__DISCONNECTED));
+    ASSERT_THAT(status, Eq(hidra2::ProducerStatus::kDisconnected));
 }
 
 /**
@@ -51,7 +51,7 @@ TEST(ProducerImpl, ConnectToReceiver__CreateAndConnectIPTCPSocket_invalid_addres
     hidra2::ProducerStatus status = producer.GetStatus();
 
     ASSERT_THAT(error, Eq(hidra2::ProducerError::kInvalidAddressFormat));
-    ASSERT_THAT(status, Eq(hidra2::PRODUCER_STATUS__DISCONNECTED));
+    ASSERT_THAT(status, Eq(hidra2::ProducerStatus::kDisconnected));
 }
 
 TEST(ProducerImpl, ConnectToReceiver__CreateAndConnectIPTCPSocket_unk) {
@@ -74,7 +74,7 @@ TEST(ProducerImpl, ConnectToReceiver__CreateAndConnectIPTCPSocket_unk) {
     hidra2::ProducerStatus status = producer.GetStatus();
 
     ASSERT_THAT(error, Eq(hidra2::ProducerError::kUnknownError));
-    ASSERT_THAT(status, Eq(hidra2::PRODUCER_STATUS__DISCONNECTED));
+    ASSERT_THAT(status, Eq(hidra2::ProducerStatus::kDisconnected));
 }
 
 TEST(ProducerImpl, ConnectToReceiver) {
@@ -98,7 +98,7 @@ TEST(ProducerImpl, ConnectToReceiver) {
     hidra2::ProducerStatus status = producer.GetStatus();
 
     ASSERT_THAT(error, Eq(hidra2::ProducerError::kNoError));
-    ASSERT_THAT(status, Eq(hidra2::PRODUCER_STATUS__CONNECTED));
+    ASSERT_THAT(status, Eq(hidra2::ProducerStatus::kConnected));
 }
 
 void ConnectToReceiver_DONE(hidra2::ProducerImpl& producer, hidra2::FileDescriptor expected_fd = 1) {
@@ -132,7 +132,7 @@ TEST(ProducerImpl, ConnectToReceiver__already_connected) {
     hidra2::ProducerStatus status = producer.GetStatus();
 
     ASSERT_THAT(error, Eq(hidra2::ProducerError::kAlreadyConnected));
-    ASSERT_THAT(status, Eq(hidra2::PRODUCER_STATUS__CONNECTED));
+    ASSERT_THAT(status, Eq(hidra2::ProducerStatus::kConnected));
 }
 
 /**
@@ -174,7 +174,7 @@ TEST(ProducerImpl, Send__file_too_large) {
     hidra2::ProducerStatus status = producer.GetStatus();
 
     ASSERT_THAT(error, Eq(hidra2::ProducerError::kFileTooLarge));
-    ASSERT_THAT(status, Eq(hidra2::PRODUCER_STATUS__CONNECTED));
+    ASSERT_THAT(status, Eq(hidra2::ProducerStatus::kConnected));
 }
 
 TEST(ProducerImpl, Send__sendDataRequest_error) {
@@ -205,7 +205,7 @@ TEST(ProducerImpl, Send__sendDataRequest_error) {
     hidra2::ProducerStatus status = producer.GetStatus();
 
     ASSERT_THAT(error, Eq(hidra2::ProducerError::kUnexpectedIOError));
-    ASSERT_THAT(status, Eq(hidra2::PRODUCER_STATUS__CONNECTED));
+    ASSERT_THAT(status, Eq(hidra2::ProducerStatus::kConnected));
 }
 
 TEST(ProducerImpl, Send__sendData_error) {
@@ -245,7 +245,7 @@ TEST(ProducerImpl, Send__sendData_error) {
     hidra2::ProducerStatus status = producer.GetStatus();
 
     ASSERT_THAT(error, Eq(hidra2::ProducerError::kUnexpectedIOError));
-    ASSERT_THAT(status, Eq(hidra2::PRODUCER_STATUS__CONNECTED));
+    ASSERT_THAT(status, Eq(hidra2::ProducerStatus::kConnected));
 }
 
 
@@ -285,7 +285,7 @@ TEST(ProducerImpl, Send__Receive_error) {
     hidra2::ProducerStatus status = producer.GetStatus();
 
     ASSERT_THAT(error, Eq(hidra2::ProducerError::kUnexpectedIOError));
-    ASSERT_THAT(status, Eq(hidra2::PRODUCER_STATUS__CONNECTED));
+    ASSERT_THAT(status, Eq(hidra2::ProducerStatus::kConnected));
 }
 
 TEST(ProducerImpl, Send__Receive_server_error) {
@@ -325,7 +325,7 @@ TEST(ProducerImpl, Send__Receive_server_error) {
     hidra2::ProducerStatus status = producer.GetStatus();
 
     ASSERT_THAT(error, Eq(hidra2::ProducerError::kUnknownServerError));
-    ASSERT_THAT(status, Eq(hidra2::PRODUCER_STATUS__CONNECTED));
+    ASSERT_THAT(status, Eq(hidra2::ProducerStatus::kConnected));
 }
 
 
@@ -366,7 +366,7 @@ TEST(ProducerImpl, Send) {
     hidra2::ProducerStatus status = producer.GetStatus();
 
     ASSERT_THAT(error, Eq(hidra2::ProducerError::kNoError));
-    ASSERT_THAT(status, Eq(hidra2::PRODUCER_STATUS__CONNECTED));
+    ASSERT_THAT(status, Eq(hidra2::ProducerStatus::kConnected));
 }
 
 }