/
user.c
79 lines (65 loc) · 1.28 KB
/
user.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
#include "user.h"
#include "sipevent.h"
#include <stdlib.h>
#include <string.h>
struct __user_t {
char* no;
int id;
char* uri;
int sid;
sipc_net_t* sipc_net;
};
user_t* user_create(const char* no)
{
user_t* user = malloc(sizeof(user_t));
memset(user, 0, sizeof(user_t));
user->no = strdup(no);
return user;
}
void user_destroy(user_t* user)
{
free(user->no);
free(user->uri);
free(user);
}
const char* user_get_mobileno(const user_t* user)
{
return user->no;
}
void user_set_id(user_t* user, int id)
{
user->id = id;
}
int user_get_id(const user_t* user)
{
return user->id;
}
void user_set_uri(user_t* user, const char* uri)
{
free(user->uri);
user->uri = strdup(uri);
char* sid_begin = strstr(uri, ":") + 1;
char* sid_end = strstr(uri, "@");
char* sid_str = strndup(sid_begin, sid_end - sid_begin);
user->sid = atoi(sid_str);
free(sid_str);
}
const char* user_get_uri(const user_t* user)
{
return user->uri;
}
int user_get_sid(const user_t* user)
{
return user->sid;
}
void user_set_sipcnet(user_t* user, sipc_net_t* sipc)
{
user->sipc_net = sipc;
}
sipc_net_t* user_get_sipcnet(const user_t* user)
{
return user->sipc_net;
}
void user_set_moodphrase(user_t* user, const char* moodphrase)
{
}