Ported user name message
[apps/native/gear-racing-car.git] / src / messages / message_config_user_name.c
1 /*
2  * Copyright (c) 2018 Samsung Electronics Co., Ltd.
3  *
4  * Licensed under the Flora License, Version 1.1 (the License);
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://floralicense.org/license/
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an AS IS BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 #ifndef MESSAGE_CONFIG_USER_NAME_C
18 #define MESSAGE_CONFIG_USER_NAME_C
19
20 #include "messages/message_config_user_name.h"
21
22 #include <string.h>
23 #include "messages/macros.h"
24
25 static int _message_config_user_name_serialze_vcall(message_t *msg, writer_t *writer)
26 {
27         message_config_user_name_t *command_msg = container_of(msg, message_config_user_name_t, base);
28         return message_config_user_name_serialize(command_msg, writer);
29 }
30
31 static int _message_config_user_name_deserialize_vcall(message_t *msg, reader_t *reader)
32 {
33         message_config_user_name_t *command_msg = container_of(msg, message_config_user_name_t, base);
34         return message_config_user_name_deserialize(command_msg, reader);
35 }
36
37 static void _message_config_user_name_destroy_vcall(message_t *msg)
38 {
39         message_config_user_name_t *command_msg = container_of(msg, message_config_user_name_t, base);
40         message_config_user_name_destroy(command_msg);
41 }
42
43 void message_config_user_name_init(message_config_user_name_t *message)
44 {
45         message_base_init(&message->base);
46
47         message_set_type(&message->base, MESSAGE_CONFIG_USER_NAME);
48
49         message->base.vtable.serialize = _message_config_user_name_serialze_vcall;
50         message->base.vtable.deserialize = _message_config_user_name_deserialize_vcall;
51         message->base.vtable.destroy = _message_config_user_name_destroy_vcall;
52
53         message->user_name = NULL;
54 }
55
56 void message_config_user_name_destroy(message_config_user_name_t *message)
57 {
58         free((void*)message->user_name);
59         message->user_name = NULL;
60         message_base_destroy(&message->base);
61 }
62
63 int message_config_user_name_deserialize(message_config_user_name_t *message, reader_t *reader)
64 {
65         int err = 0;
66
67         err |= message_base_deserialize(&message->base, reader);
68         err |= reader_read_string(reader, &message->user_name);
69
70         return err;
71 }
72
73 int message_config_user_name_serialize(message_config_user_name_t *message, writer_t *writer)
74 {
75         int err = 0;
76
77         err |= message_base_serialize(&message->base, writer);
78         err |= writer_write_string(writer, message->user_name);
79
80         return err;
81 }
82
83 const char *message_config_user_name_get_name(message_config_user_name_t *message)
84 {
85         return message->user_name;
86 }
87
88 void message_config_user_name_set_name(message_config_user_name_t *message, const char *name)
89 {
90         free((void*)message->user_name);
91         message->user_name = strdup(name);
92 }
93
94 #endif /* end of include guard: MESSAGE_CONFIG_USER_NAME_C */