]> git.stg.codes - stg.git/blobdiff - include/stg/corporations.h
More std::jthread
[stg.git] / include / stg / corporations.h
index cc147fc67842db3921999ba68a9b046172f17aee..944844c64bcc41d53b8ede27d16cba489886cc33 100644 (file)
  *    Author : Maxim Mamontov <faust@stargazer.dp.ua>
  */
 
-#ifndef CORPORATIONS_H
-#define CORPORATIONS_H
+#pragma once
 
 #include <string>
 
-#include "corp_conf.h"
+namespace STG
+{
 
-class CORPORATIONS {
-public:
-    virtual int Add(const CORP_CONF & corp) = 0;
-    virtual int Del(const std::string & name) = 0;
-    virtual int Change(const CORP_CONF & corp) = 0;
-    virtual bool FindCorp(const std::string & name, CORP_CONF & corp) = 0;
-    virtual bool CorpExists(const std::string & name) const = 0;
-    virtual const std::string & GetStrError() const = 0;
+struct Admin;
+struct CorpConf;
+
+struct Corporations {
+    virtual ~Corporations() = default;
+
+    virtual int Add(const CorpConf& corp, const Admin* admin) = 0;
+    virtual int Del(const std::string& name, const Admin* admin) = 0;
+    virtual int Change(const CorpConf& corp, const Admin* admin) = 0;
+    virtual bool Find(const std::string& name, CorpConf* corp) = 0;
+    virtual bool Exists(const std::string& name) const = 0;
+    virtual const std::string& GetStrError() const = 0;
+    virtual size_t Count() const = 0;
 
     virtual int OpenSearch() const = 0;
-    virtual int SearchNext(int, CORP_CONF * corp) const = 0;
+    virtual int SearchNext(int, CorpConf* corp) const = 0;
     virtual int CloseSearch(int) const = 0;
 };
 
-#endif
+}