LinkManager Lab 3
Завантаження...
Пошук...
Нічого не знайдено
linkmanager.h
Див. документацію.
1
8
9#ifndef LINKMANAGER_H
10#define LINKMANAGER_H
11
12#include <string>
13#include <vector>
14#include <algorithm>
15
20struct LinkData {
21 std::string name;
22 std::string url;
23 std::string folder;
24 std::vector<std::string> contexts;
25 std::string relatedUrl;
26 std::string comment;
27 std::string iconData;
28};
29
38public:
44
49 void addLink(const LinkData& newLink);
50
55 const std::vector<LinkData>& getLinks() const;
56
61 void deleteLink(int index);
62
68 void updateLink(int index, const LinkData& updatedData);
69
76 std::vector<LinkData> searchLinks(const std::string& query) const;
77
82 void addFolder(const std::string& folderName);
83
88 const std::vector<std::string>& getFolders() const;
89
94 void removeFolder(const std::string& folderName);
95
101 bool hasFolder(const std::string& folderName) const;
102
108 void clearLinksFolder(const std::string& folderName);
109
114 void addContext(const std::string& contextName);
115
120 const std::vector<std::string>& getContexts() const;
121
126 void removeContext(const std::string& contextName);
127
133 bool hasContext(const std::string& contextName) const;
134
140 bool saveToFile(const std::string& filePath) const;
141
147 bool loadFromFile(const std::string& filePath);
148
155 std::vector<LinkData> filterLinks(const std::vector<std::string>& allowedFolders, const std::vector<std::string>& allowedContexts) const;
156
157private:
158 std::vector<LinkData> m_links;
159 std::vector<std::string> m_folders;
160 std::vector<std::string> m_contexts;
161};
162
163#endif // LINKMANAGER_H