telodendria/src/include/Schema/RoomCreateRequest.h
2023-09-11 15:57:14 +02:00

82 lines
1.9 KiB
C

/* Generated by j2s */
#ifndef TELODENDRIA_SCHEMA_ROOMCREATE_H
#define TELODENDRIA_SCHEMA_ROOMCREATE_H
#include <Array.h>
#include <HashMap.h>
#include <Int64.h>
typedef enum Room3PidMedium
{
ROOM_3PID_MSISDN,
ROOM_3PID_EMAIL
} Room3PidMedium;
typedef enum RoomCreatePreset
{
ROOM_CREATE_PUBLIC,
ROOM_CREATE_TRUSTED,
ROOM_CREATE_PRIVATE
} RoomCreatePreset;
typedef struct RoomStateEvent
{
HashMap * content;
char * state_key;
char * type;
} RoomStateEvent;
typedef struct RoomInvite3Pid
{
char * id_access_token;
char * address;
Room3PidMedium medium;
char * id_server;
} RoomInvite3Pid;
typedef enum RoomVisibility
{
ROOM_PUBLIC,
ROOM_PRIVATE
} RoomVisibility;
typedef struct RoomCreateRequest
{
Array * invite;
char * room_version;
Array * invite_3pid;
char * topic;
RoomVisibility visibility;
HashMap * creation_content;
int is_direct;
char * name;
Array * initial_state;
HashMap * power_level_content_override;
char * room_alias_name;
RoomCreatePreset preset;
} RoomCreateRequest;
extern int RoomVisibilityFromStr(char *);
extern char * RoomVisibilityToStr(RoomVisibility);
extern int RoomCreateRequestFromJson(HashMap *, RoomCreateRequest *, char **);
extern HashMap * RoomCreateRequestToJson(RoomCreateRequest *);
extern void RoomCreateRequestFree(RoomCreateRequest *);
extern int RoomInvite3PidFromJson(HashMap *, RoomInvite3Pid *, char **);
extern HashMap * RoomInvite3PidToJson(RoomInvite3Pid *);
extern void RoomInvite3PidFree(RoomInvite3Pid *);
extern int Room3PidMediumFromStr(char *);
extern char * Room3PidMediumToStr(Room3PidMedium);
extern int RoomCreatePresetFromStr(char *);
extern char * RoomCreatePresetToStr(RoomCreatePreset);
extern int RoomStateEventFromJson(HashMap *, RoomStateEvent *, char **);
extern HashMap * RoomStateEventToJson(RoomStateEvent *);
extern void RoomStateEventFree(RoomStateEvent *);
#endif /* TELODENDRIA_SCHEMA_ROOMCREATE_H */