blob: a4bf66fd415d12e75e5055b99d88d450fc138874 [file] [log] [blame]
James Kuszmaul4a42b182021-01-17 11:32:46 -08001#include "parameters.h"
2#include <rawrtc/ice_parameters.h>
3#include <rawrtcc/code.h>
4#include <re.h>
5
6/*
7 * Get the ICE parameter's username fragment value.
8 * `*username_fragmentp` must be unreferenced.
9 */
10enum rawrtc_code rawrtc_ice_parameters_get_username_fragment(
11 char** const username_fragmentp, // de-referenced
12 struct rawrtc_ice_parameters* const parameters) {
13 // Check arguments
14 if (!username_fragmentp || !parameters) {
15 return RAWRTC_CODE_INVALID_ARGUMENT;
16 }
17
18 // Set pointer (and reference)
19 *username_fragmentp = mem_ref(parameters->username_fragment);
20 return RAWRTC_CODE_SUCCESS;
21}
22
23/*
24 * Get the ICE parameter's password value.
25 * `*passwordp` must be unreferenced.
26 */
27enum rawrtc_code rawrtc_ice_parameters_get_password(
28 char** const passwordp, // de-referenced
29 struct rawrtc_ice_parameters* const parameters) {
30 // Check arguments
31 if (!passwordp || !parameters) {
32 return RAWRTC_CODE_INVALID_ARGUMENT;
33 }
34
35 // Set pointer (and reference)
36 *passwordp = mem_ref(parameters->password);
37 return RAWRTC_CODE_SUCCESS;
38}
39
40/*
41 * Get the ICE parameter's ICE lite value.
42 */
43enum rawrtc_code rawrtc_ice_parameters_get_ice_lite(
44 bool* const ice_litep, // de-referenced
45 struct rawrtc_ice_parameters* const parameters) {
46 // Check arguments
47 if (!ice_litep || !parameters) {
48 return RAWRTC_CODE_INVALID_ARGUMENT;
49 }
50
51 // Set value
52 *ice_litep = parameters->ice_lite;
53 return RAWRTC_CODE_SUCCESS;
54}