From 04866e9f7671ca31f9b1afff9de54c63fa886d06 Mon Sep 17 00:00:00 2001 From: Lucas De Marchi Date: Mon, 28 Aug 2017 15:03:00 -0700 Subject: [PATCH] AP_SerialManager: add static create method --- libraries/AP_SerialManager/AP_SerialManager.h | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/libraries/AP_SerialManager/AP_SerialManager.h b/libraries/AP_SerialManager/AP_SerialManager.h index 13652d082e..9e146d7826 100644 --- a/libraries/AP_SerialManager/AP_SerialManager.h +++ b/libraries/AP_SerialManager/AP_SerialManager.h @@ -71,9 +71,7 @@ class AP_SerialManager { - public: - enum SerialProtocol { SerialProtocol_None = -1, SerialProtocol_Console = 0, // unused @@ -92,8 +90,13 @@ public: SerialProtocol_Beacon = 13 }; - // Constructor - AP_SerialManager(); + static AP_SerialManager create() { return AP_SerialManager{}; } + + constexpr AP_SerialManager(AP_SerialManager &&other) = default; + + /* Do not allow copies */ + AP_SerialManager(const AP_SerialManager &other) = delete; + AP_SerialManager &operator=(const AP_SerialManager&) = delete; // init_console - initialise console at default baud rate void init_console(); @@ -130,6 +133,7 @@ public: static const struct AP_Param::GroupInfo var_info[]; private: + AP_SerialManager(); // array of uart info struct {