SDK Version 2.0.1
AnsuR Technologies ASMIRA SDK
Loading...
Searching...
No Matches
Rooms

Typedefs

typedef uint32_t asdk::RoomFlagValue
typedef uint32_t asdk::RoomStateValue
typedef void(*) asdk::RoomAnnounceFunc(const char *roomName, const uint32_t roomID, const asdk::RoomStateValue state, const asdk::RoomFlagValue flags, void *opaque)
 A room was announced after RequestRoomListSubscribe, or an announced room changed.
typedef void(*) asdk::RoomResponseFunc(const Request request, const RoomResponse response, const void *optionalData, const uint32_t optionalDataSize, void *opaque)
 The server answered a request sent with SendRequest or SendRequestStr.
typedef void(*) asdk::RoomClientAddedFunc(const uint32_t clientID, const char *userName, const UserCapabilityValue userCapability, const DeviceCapabilityValue deviceCapability, void *opaque)
 A client joined the room, and once for each member already present when this client joined.
typedef void(*) asdk::RoomClientRemovedFunc(const uint32_t clientID, void *opaque)
 A client left the room, identified by the clientID given by RoomClientAdded.

Enumerations

enum  asdk::Request {
  asdk::RequestUndef ,
  asdk::RequestRoomListSubscribe ,
  asdk::RequestRoomListUnsubscribe ,
  asdk::RequestRoomJoin ,
  asdk::RequestRoomLeave
}
 Request sent with sdk_t::SendRequest or sdk_t::SendRequestStr. More...
enum  asdk::RoomResponse {
  asdk::RoomResponseUndef ,
  asdk::RoomResponseSuccess ,
  asdk::RoomResponseError ,
  asdk::RoomResponseErrorAlreadyJoined ,
  asdk::RoomResponseErrorUnhandled
}
 Server answer to a Request, reported by RoomResponseFunc. More...
enum  asdk::RoomFlag {
  asdk::RoomFlagUndef ,
  asdk::RoomFlagIsPublic = 1 << 0 ,
  asdk::RoomFlagChatGuests = 1 << 1 ,
  asdk::RoomFlagChatViewers = 1 << 2 ,
  asdk::RoomFlagChatSenders = 1 << 3 ,
  asdk::RoomFlagAudioGuests = 1 << 4 ,
  asdk::RoomFlagAudioViewers = 1 << 5 ,
  asdk::RoomFlagAudioSenders = 1 << 6
}
 What a room permits, announced by RoomAnnounceFunc as a RoomFlagValue. More...
enum  asdk::RoomState {
  asdk::RoomStateUndef ,
  asdk::RoomStatePassword = 1 << 0 ,
  asdk::RoomStatePreview = 1 << 1
}
 State of a room, announced by RoomAnnounceFunc as a RoomStateValue. More...

Functions

Status asdk::sdk_t::SendRequest (const Request request)
 Sends request to ASMIRA server.
Status asdk::sdk_t::SendRequestStr (const Request request, const char *str, const char *option=nullptr)
 Sends request string to ASMIRA server.
void asdk::sdk_t::SetRoomAnnounceCallback (RoomAnnounceFunc func, void *opaque=nullptr)
 Server room announce callback.
void asdk::sdk_t::SetRoomResponseCallback (RoomResponseFunc func, void *opaque=nullptr)
 Server room response callback.
void asdk::sdk_t::SetRoomClientAddedCallback (RoomClientAddedFunc func, void *opaque=nullptr)
 Server room client added callback.
void asdk::sdk_t::SetRoomClientRemovedCallback (RoomClientRemovedFunc func, void *opaque=nullptr)
 Server room client removed callback.

Detailed Description

Discovering the rooms a server offers, joining and leaving them, and tracking the other clients present.

Typedef Documentation

◆ RoomFlagValue

typedef uint32_t asdk::RoomFlagValue

Bit set of RoomFlag values

Examples
example_basic.cpp, and example_complete.cpp.

Definition at line 252 of file asmirasdk.h.

◆ RoomStateValue

typedef uint32_t asdk::RoomStateValue

Bit set of RoomState values

Examples
example_basic.cpp, and example_complete.cpp.

Definition at line 267 of file asmirasdk.h.

◆ RoomAnnounceFunc

typedef void(*) asdk::RoomAnnounceFunc(const char *roomName, const uint32_t roomID, const asdk::RoomStateValue state, const asdk::RoomFlagValue flags, void *opaque)

A room was announced after RequestRoomListSubscribe, or an announced room changed.

roomName and roomID identify it; state and flags are RoomState and RoomFlag bit sets.

Definition at line 820 of file asmirasdk.h.

◆ RoomResponseFunc

typedef void(*) asdk::RoomResponseFunc(const Request request, const RoomResponse response, const void *optionalData, const uint32_t optionalDataSize, void *opaque)

The server answered a request sent with SendRequest or SendRequestStr.

optionalData/optionalDataSize carry any payload the request produced and are valid only for the duration of the callback.

Definition at line 827 of file asmirasdk.h.

◆ RoomClientAddedFunc

typedef void(*) asdk::RoomClientAddedFunc(const uint32_t clientID, const char *userName, const UserCapabilityValue userCapability, const DeviceCapabilityValue deviceCapability, void *opaque)

A client joined the room, and once for each member already present when this client joined.

clientID identifies it in the chat and room file callbacks.

Definition at line 832 of file asmirasdk.h.

◆ RoomClientRemovedFunc

typedef void(*) asdk::RoomClientRemovedFunc(const uint32_t clientID, void *opaque)

A client left the room, identified by the clientID given by RoomClientAdded.

Definition at line 836 of file asmirasdk.h.

Enumeration Type Documentation

◆ Request

Request sent with sdk_t::SendRequest or sdk_t::SendRequestStr.

Enumerator
RequestUndef 

Undefined

RequestRoomListSubscribe 

Subscribe to room list updates

RequestRoomListUnsubscribe 

Unsubscribe to room list updates

RequestRoomJoin 

Request to join room

RequestRoomLeave 

Request to leave room

Examples
example_basic.cpp, and example_complete.cpp.

Definition at line 213 of file asmirasdk.h.

◆ RoomResponse

Server answer to a Request, reported by RoomResponseFunc.

Enumerator
RoomResponseUndef 

Undefined

RoomResponseSuccess 

The request was carried out

RoomResponseError 

The request failed

RoomResponseErrorAlreadyJoined 

A room is already joined, leave it first

RoomResponseErrorUnhandled 

The server did not act on the request

Examples
example_basic.cpp, and example_complete.cpp.

Definition at line 225 of file asmirasdk.h.

◆ RoomFlag

What a room permits, announced by RoomAnnounceFunc as a RoomFlagValue.

A bit set. The chat and audio bits say which kinds of member the server relays chat and audio for; controllers are always permitted.

Enumerator
RoomFlagUndef  

Undefined

RoomFlagIsPublic 1 << 0 

Room is public

RoomFlagChatGuests 1 << 1 

Guests may take part in the room chat

RoomFlagChatViewers 1 << 2 

Viewers may take part in the room chat

RoomFlagChatSenders 1 << 3 

Senders may take part in the room chat

RoomFlagAudioGuests 1 << 4 

Guests may take part in the room audio

RoomFlagAudioViewers 1 << 5 

Viewers may take part in the room audio

RoomFlagAudioSenders 1 << 6 

Senders may take part in the room audio

Definition at line 240 of file asmirasdk.h.

◆ RoomState

State of a room, announced by RoomAnnounceFunc as a RoomStateValue.

A bit set.

Enumerator
RoomStateUndef  

Undefined

RoomStatePassword 1 << 0 

Password protection is enabled

RoomStatePreview 1 << 1 

Preview is enabled

Definition at line 260 of file asmirasdk.h.

Function Documentation

◆ SendRequest()

Status asdk::sdk_t::SendRequest ( const Request request)
inline

Sends request to ASMIRA server.

Parameters
requestRequest value
Returns
Status

Definition at line 1091 of file asmirasdk.h.

References asdk::StatusErrorHandle.

◆ SendRequestStr()

Status asdk::sdk_t::SendRequestStr ( const Request request,
const char * str,
const char * option = nullptr )
inline

Sends request string to ASMIRA server.

Parameters
requestRequest value
strString value
optionString optional value
Returns
Status

Definition at line 1106 of file asmirasdk.h.

References asdk::StatusErrorHandle.

◆ SetRoomAnnounceCallback()

void asdk::sdk_t::SetRoomAnnounceCallback ( RoomAnnounceFunc func,
void * opaque = nullptr )
inline

Server room announce callback.

Parameters
funcCallback to install.
opaqueCaller data passed back unchanged to every invocation.

Definition at line 1383 of file asmirasdk.h.

◆ SetRoomResponseCallback()

void asdk::sdk_t::SetRoomResponseCallback ( RoomResponseFunc func,
void * opaque = nullptr )
inline

Server room response callback.

Parameters
funcCallback to install.
opaqueCaller data passed back unchanged to every invocation.

Definition at line 1395 of file asmirasdk.h.

◆ SetRoomClientAddedCallback()

void asdk::sdk_t::SetRoomClientAddedCallback ( RoomClientAddedFunc func,
void * opaque = nullptr )
inline

Server room client added callback.

Parameters
funcCallback to install.
opaqueCaller data passed back unchanged to every invocation.

Definition at line 1407 of file asmirasdk.h.

◆ SetRoomClientRemovedCallback()

void asdk::sdk_t::SetRoomClientRemovedCallback ( RoomClientRemovedFunc func,
void * opaque = nullptr )
inline

Server room client removed callback.

Parameters
funcCallback to install.
opaqueCaller data passed back unchanged to every invocation.

Definition at line 1419 of file asmirasdk.h.