summaryrefslogtreecommitdiff
path: root/louloulibs/xmpp/roster.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'louloulibs/xmpp/roster.hpp')
-rw-r--r--louloulibs/xmpp/roster.hpp71
1 files changed, 0 insertions, 71 deletions
diff --git a/louloulibs/xmpp/roster.hpp b/louloulibs/xmpp/roster.hpp
deleted file mode 100644
index aa1b449..0000000
--- a/louloulibs/xmpp/roster.hpp
+++ /dev/null
@@ -1,71 +0,0 @@
-#pragma once
-
-
-#include <algorithm>
-#include <string>
-#include <vector>
-
-class RosterItem
-{
-public:
- RosterItem(const std::string& jid, const std::string& name,
- std::vector<std::string>& groups);
- RosterItem(const std::string& jid, const std::string& name);
- RosterItem() = default;
- ~RosterItem() = default;
- RosterItem(const RosterItem&) = default;
- RosterItem(RosterItem&&) = default;
- RosterItem& operator=(const RosterItem&) = default;
- RosterItem& operator=(RosterItem&&) = default;
-
- std::string jid;
- std::string name;
- std::vector<std::string> groups;
-
-private:
-};
-
-/**
- * Keep track of the last known stat of a JID's roster
- */
-class Roster
-{
-public:
- Roster() = default;
- ~Roster() = default;
-
- void clear();
-
- template <typename... ArgsType>
- RosterItem* add_item(ArgsType&&... args)
- {
- this->items.emplace_back(std::forward<ArgsType>(args)...);
- auto it = this->items.end() - 1;
- return &*it;
- }
- RosterItem* get_item(const std::string& jid)
- {
- auto it = std::find_if(this->items.begin(), this->items.end(),
- [this, &jid](const auto& item)
- {
- return item.jid == jid;
- });
- if (it != this->items.end())
- return &*it;
- return nullptr;
- }
- const std::vector<RosterItem>& get_items() const
- {
- return this->items;
- }
-
-private:
- std::vector<RosterItem> items;
-
- Roster(const Roster&) = delete;
- Roster(Roster&&) = delete;
- Roster& operator=(const Roster&) = delete;
- Roster& operator=(Roster&&) = delete;
-};
-
-