forked from CPP-Final-Project/Chat_Server
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMediaSaver_Service.h
More file actions
38 lines (30 loc) · 1.19 KB
/
MediaSaver_Service.h
File metadata and controls
38 lines (30 loc) · 1.19 KB
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
34
35
36
37
38
//
// Created by Admin on 6/16/2023.
//
#ifndef CHAT_SERVER_MEDIASAVER_SERVICE_H
#define CHAT_SERVER_MEDIASAVER_SERVICE_H
#include <QObject>
#include <QMutex>
#include <QUuid>
#include <QSharedPointer>
#include <QDir>
#include <QtConcurrent>
#include "FileRepository.h"
class MediaSaver_Service: public QObject {
Q_OBJECT
static inline QSharedPointer<MediaSaver_Service> shp_instance = nullptr;
static inline QMutex mutex;
explicit MediaSaver_Service(QObject* parent = nullptr);
public:
static QSharedPointer<MediaSaver_Service> getInstance();
MediaSaver_Service(const MediaSaver_Service&) = delete;
MediaSaver_Service& operator=(const MediaSaver_Service&) = delete;
public:
signals:
void savedMedia(const QUuid& id_, const quint32& room_id_, const QString& login_, bool success_);
void retrievedMedia(const QString& login_, const QUuid& media_id_, const quint32& room_id_, QByteArray data_ );
public slots:
QFuture<QByteArray> getMedia(const QString& login, const QUuid& media_id_, const quint32& room_id_);
void saveMedia(const quint32& room_id_, const QString& login, const QUuid& id_, const QByteArray& data_);
};
#endif //CHAT_SERVER_MEDIASAVER_SERVICE_H