LAPTOP-SNT8I5JK\Boounion
2025-07-28 bfe14e41fa5b07771d78af4511ba18d706bc23cc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#ifndef IOMANAGER_H
#define IOMANAGER_H
 
#include <string>
#include <vector>
#include <map>
 
struct IOData {
    BOOL bInputStates;
    std::string inputAddress;
    std::string inputDescription;
    BOOL bOutputStates;
    std::string outputAddress;
    std::string outputDescription;
};
 
class IOManager {
public:
    IOManager();
 
    void addMachine(const std::string& machineName, const std::vector<IOData>& data);
    void addDefaultMachineData(const std::string& machineName);
    void saveToFile(const std::string& machineName);
    bool loadFromFile(const std::string& machineName);
    void printMachineData(const std::string& machineName) const;
    std::vector<IOData> GetMachineData(const std::string& machineName) const;
 
private:
    std::string m_directory;
    std::map<std::string, std::vector<IOData>> m_machines;
};
 
#endif // IOMANAGER_H