Преглед на файлове

Changed user_manager signatures and clang-format

Jonas Pflanzer преди 5 години
родител
ревизия
0addbfe68e
променени са 3 файла, в които са добавени 36 реда и са изтрити 40 реда
  1. 9 11
      daemon/include/user_manager.h
  2. 2 1
      daemon/src/Server.cpp
  3. 25 28
      daemon/src/user_manager.cpp

+ 9 - 11
daemon/include/user_manager.h

@@ -1,12 +1,12 @@
 #ifndef USER_MANAGER_H
 #define USER_MANAGER_H
 
-#include <map>
-#include <iostream>
 #include <fstream>
+#include <iostream>
+#include <map>
+#include <sstream>
 #include <string>
 #include <vector>
-#include <sstream>
 
 /**
  * @Class UserManager
@@ -15,7 +15,6 @@
  */
 class UserManager {
 public:
-
   /**
    * Makes shure that there is a user storage.
    * If not. It creates a new one
@@ -28,7 +27,7 @@ public:
    * @param user the name of the users
    * @param pw password in plain text
    */
-  static bool isAllowed(std::string user, std::string pw);
+  static bool isAllowed(const std::string &user, const std::string &pw);
 
   /**
    * Add a new user and write to storage.
@@ -36,7 +35,7 @@ public:
    * @param user the name of the users
    * @param pw password in plain text
    */
-  static void addUser(std::string name, std::string pw);
+  static void addUser(const std::string &name, const std::string &pw);
 
   /**
    * Delete a new user and delete from storage.
@@ -44,23 +43,22 @@ public:
    * @param user the name of the users
    * @param pw password in plain text
    */
-  static void deleteUser(std::string name, std::string pw);
-private:
+  static void deleteUser(const std::string &name, const std::string &pw);
 
+private:
   /**
    * Read data from file and create map.
    *
    * @param user_map pointer to the map
    */
-  static void readFromFile(std::map<std::string,std::string> *user_map);
+  static void readFromFile(std::map<std::string, std::string> &user_map);
 
   /**
    * Write data to afile
    *
    * @param user_map pointer to the map
    */
-  static void writeToFile(std::map<std::string,std::string> *user_map);
+  static void writeToFile(std::map<std::string, std::string> &user_map);
 };
 
-
 #endif

+ 2 - 1
daemon/src/Server.cpp

@@ -93,7 +93,8 @@ void con_handler::handle_read_login(const boost::system::error_code &err,
     Json::Value answer;
 
     // check if login data is valid
-    if (UserManager::isAllowed(root["user"].asString(), root["pass"].asString())) {
+    if (UserManager::isAllowed(root["user"].asString(),
+                               root["pass"].asString())) {
       answer["accept"] = true;
 
       // read next data

+ 25 - 28
daemon/src/user_manager.cpp

@@ -1,11 +1,11 @@
 #include "../include/user_manager.h"
 
-//TODO passwords are stored and checked in plain text
-//TODO read userStorage file location from config
+// TODO passwords are stored and checked in plain text
+// TODO read userStorage file location from config
 
 void UserManager::init() {
   std::ifstream ifile("userStorage.txt");
-  if(!ifile) {
+  if (!ifile) {
     // create new file if userStorage does not exist
     std::ofstream file;
     file.open("userStorage.txt");
@@ -15,66 +15,63 @@ void UserManager::init() {
   ifile.close();
 }
 
-
-bool UserManager::isAllowed(std::string name, std::string pw) {
-  std::map<std::string,std::string> user_map;
-  readFromFile(&user_map);
+bool UserManager::isAllowed(const std::string &name, const std::string &pw) {
+  std::map<std::string, std::string> user_map;
+  readFromFile(user_map);
   auto it = user_map.find(name);
   // check if user exists and pw is equal
-  if(it!=user_map.end() && (it->second.compare(pw)==0)) {
+  if (it != user_map.end() && (it->second.compare(pw) == 0)) {
     return true;
   }
   return false;
 }
 
-
-void UserManager::addUser(std::string name, std::string pw) {
-  std::map<std::string,std::string> user_map;
-  readFromFile(&user_map);
+void UserManager::addUser(const std::string &name, const std::string &pw) {
+  std::map<std::string, std::string> user_map;
+  readFromFile(user_map);
   auto it = user_map.find(name);
   // if user exists, do nothing
-  if(it!=user_map.end()) {
+  if (it != user_map.end()) {
     return;
   }
-  user_map.insert(std::pair<std::string,std::string>(name,pw));
-  writeToFile(&user_map);
+  user_map.insert(std::pair<std::string, std::string>(name, pw));
+  writeToFile(user_map);
 }
 
-
-void UserManager::deleteUser(std::string name, std::string pw) {
+void UserManager::deleteUser(const std::string &name, const std::string &pw) {
   // TODO check pw before delete
-  std::map<std::string,std::string> user_map;
-  readFromFile(&user_map);
+  std::map<std::string, std::string> user_map;
+  readFromFile(user_map);
   auto it = user_map.find(name);
-  if(it==user_map.end()) {
+  if (it == user_map.end()) {
     return;
   }
   user_map.erase(it);
-  writeToFile(&user_map);
+  writeToFile(user_map);
 }
 
 // read content from file into given map
-void UserManager::readFromFile(std::map<std::string,std::string> *user_map) {
+void UserManager::readFromFile(std::map<std::string, std::string> &user_map) {
   std::ifstream ifile("userStorage.txt");
   std::string line;
-  while(getline(ifile,line)) {
+  while (getline(ifile, line)) {
     std::stringstream ss(line);
     std::string segment;
     std::vector<std::string> v;
-    while(std::getline(ss, segment, ';')) {
+    while (std::getline(ss, segment, ';')) {
       v.push_back(segment);
     }
-    user_map->insert(std::pair<std::string,std::string>(v.at(0),v.at(1)));
+    user_map.insert(std::pair<std::string, std::string>(v.at(0), v.at(1)));
   }
   ifile.close();
 }
 
 // write content from map to file
-void UserManager::writeToFile(std::map<std::string,std::string> *user_map) {
+void UserManager::writeToFile(std::map<std::string, std::string> &user_map) {
   std::ofstream file;
   file.open("userStorage.txt");
-  for(auto const& x : *user_map) {
-     file << x.first << ";" << x.second << std::endl;
+  for (auto const &x : user_map) {
+    file << x.first << ";" << x.second << std::endl;
   }
   file.close();
 }