forked from Telodendria/Telodendria
82 lines
1.9 KiB
C
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 */
|