blob: fcfb86c4ff4ccb9aafaa726dd2f023e561bc8527 (
plain)
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
39
40
41
42
43
44
45
|
#pragma once
#include "apactor.h"
#include "apbase.h"
#include "apobject.h"
#include "../types.h"
#include <QDateTime>
enum struct APActivityType {CREATE, ANNOUNCE, UNKNOWN};
struct APActivityFields {
QString by_actor;
QStringList to_actors;
QStringList cc_actors;
QString object_url; // maps to "id", represents the Activity, *not* the URL of the object it contains
QString published;
APObject* object; // will generally be a APPost or APReblog
StatusType visibility;
APActivityType type = APActivityType::UNKNOWN;
};
class APActivity : APBase {
public:
APActivity();
// An Activity that can easily be constructed from an ActivityStreams JSON Activity. Make sure to pass the APObject.
APActivity(APActivityFields fields);
~APActivity();
APObject* object = nullptr; // the object that's manipulated by this Activity, use APPost for something useful and "manually" create it
QString get_html_render(HtmlRenderDetails render_info);
private:
APActorList to_actors;
APActorList cc_actors;
APActor by_actor; // the Actor who did this Activity, maps to "actor"
APActivityType type;
StatusType visibility;
//QString object_url; // activity's URL, maps to "id"
QDateTime published;
};
|