1 #ifndef TGCALLS_GROUP_JOIN_PAYLOAD_INTERNAL_H
2 #define TGCALLS_GROUP_JOIN_PAYLOAD_INTERNAL_H
3 
4 #include "GroupJoinPayload.h"
5 
6 #include <vector>
7 #include <string>
8 #include <stdint.h>
9 
10 #include "absl/types/optional.h"
11 
12 namespace tgcalls {
13 
14 struct GroupJoinResponsePayload {
15     GroupJoinTransportDescription transport;
16     absl::optional<GroupJoinVideoInformation> videoInformation;
17 
18     static absl::optional<GroupJoinResponsePayload> parse(std::string const &data);
19 };
20 
21 struct GroupJoinInternalPayload {
22     GroupJoinTransportDescription transport;
23 
24     uint32_t audioSsrc = 0;
25     absl::optional<GroupParticipantVideoInformation> videoInformation;
26 
27     std::string serialize();
28 };
29 
30 }
31 
32 #endif
33