From 13656e909a8d209cb7c1be79aa282023805cbff1 Mon Sep 17 00:00:00 2001
From: Steffen Vogel <post@steffenvogel.de>
Date: Mon, 4 Oct 2021 21:21:17 +0200
Subject: [PATCH] state: port to C++

---
 common/include/villas/common.hpp |  4 +++-
 common/lib/common.cpp            | 13 ++-----------
 2 files changed, 5 insertions(+), 12 deletions(-)

diff --git a/common/include/villas/common.hpp b/common/include/villas/common.hpp
index 46de2d950..a73239add 100644
--- a/common/include/villas/common.hpp
+++ b/common/include/villas/common.hpp
@@ -23,6 +23,8 @@
 
 #pragma once
 
+#include <string>
+
 /* Common states for most objects in VILLAScommon (paths, nodes, hooks, plugins) */
 enum class State {
 	DESTROYED	= 0,
@@ -52,4 +54,4 @@ enum class State {
 typedef int (*dtor_cb_t)(void *);
 
 /** Convert state enum to human readable string. */
-const char * state_print(enum State s);
+std::string stateToString(enum State s);
diff --git a/common/lib/common.cpp b/common/lib/common.cpp
index 034c46c0a..b1788678f 100644
--- a/common/lib/common.cpp
+++ b/common/lib/common.cpp
@@ -25,46 +25,37 @@
 
 #include <cstdlib>
 
-const char * state_print(enum State s)
+std::string stateToString(enum State s)
 {
 	switch (s) {
 		case State::DESTROYED:
 			return "destroyed";
-			break;
 
 		case State::INITIALIZED:
 			return "initialized";
-			break;
 
 		case State::PARSED:
 			return "parsed";
-			break;
 
 		case State::CHECKED:
 			return "checked";
-			break;
 
 		case State::STARTED:
 			return "running";
-			break;
 
 		case State::STOPPED:
 			return "stopped";
-			break;
 
 		case State::PENDING_CONNECT:
 			return "pending-connect";
-			break;
 
 		case State::CONNECTED:
 			return "connected";
-			break;
 
 		case State::PAUSED:
 			return "paused";
-			break;
 
 		default:
-			return nullptr;
+			return "";
 	}
 }