mirror of
https://github.com/ciphervance/supercell-wx.git
synced 2025-10-30 19:50:05 +00:00
54 lines
1.2 KiB
C++
54 lines
1.2 KiB
C++
#pragma once
|
|
|
|
#include <scwx/awips/text_product_message.hpp>
|
|
#include <scwx/qt/types/text_event_key.hpp>
|
|
|
|
#include <chrono>
|
|
#include <memory>
|
|
#include <string>
|
|
#include <unordered_set>
|
|
|
|
#include <boost/uuid/uuid.hpp>
|
|
#include <QObject>
|
|
|
|
namespace scwx
|
|
{
|
|
namespace qt
|
|
{
|
|
namespace manager
|
|
{
|
|
|
|
class TextEventManager : public QObject
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
explicit TextEventManager();
|
|
~TextEventManager();
|
|
|
|
size_t message_count(const types::TextEventKey& key) const;
|
|
std::vector<std::shared_ptr<awips::TextProductMessage>>
|
|
message_list(const types::TextEventKey& key) const;
|
|
|
|
void LoadFile(const std::string& filename);
|
|
void SelectTime(std::chrono::system_clock::time_point dateTime);
|
|
|
|
static std::shared_ptr<TextEventManager> Instance();
|
|
|
|
signals:
|
|
void AlertsRemoved(
|
|
const std::unordered_set<types::TextEventKey,
|
|
types::TextEventHash<types::TextEventKey>>&
|
|
keys);
|
|
void AlertUpdated(const types::TextEventKey& key,
|
|
std::size_t messageIndex,
|
|
boost::uuids::uuid uuid);
|
|
|
|
private:
|
|
class Impl;
|
|
std::unique_ptr<Impl> p;
|
|
};
|
|
|
|
} // namespace manager
|
|
} // namespace qt
|
|
} // namespace scwx
|