remove hard coded path into CMake files
[profile/ivi/ico-vic-amb-plugin.git] / src / standardmessage.cc
1 /**
2  * Copyright (C) 2012  TOYOTA MOTOR CORPORATION.
3  * 
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2.1 of the License, or (at your option) any later version.
8  * 
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * Lesser General Public License for more details.
13  * 
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library; if not, write to the Free Software
16  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
17  * 
18  */
19 #include <string.h>
20
21 #include "standardmessage.h"
22
23 StandardMessage::StandardMessage()
24 {
25 }
26
27 StandardMessage::~StandardMessage()
28 {
29 }
30
31 void
32 StandardMessage::decode(char *msg, int size)
33 {
34     int restsize = size;
35     if (size <= KEYEVENTTYPESIZE) {
36         memset(KeyEventType, 0, size);
37         memcpy(KeyEventType, msg, size);
38         return;
39     }
40     memcpy(KeyEventType, msg, KEYEVENTTYPESIZE);
41     restsize -= KEYEVENTTYPESIZE;
42     if (restsize >= static_cast<int>(sizeof(timeval))) {
43         memcpy(&recordtime, msg + KEYEVENTTYPESIZE, sizeof(timeval));
44     }
45 }
46
47 char *
48 StandardMessage::encode(char *name, timeval time)
49 {
50     memset(messagebuf, 0, sizeof(messagebuf));
51     memcpy(messagebuf, name, KEYEVENTTYPESIZE);
52     memcpy(messagebuf + KEYEVENTTYPESIZE, &time, sizeof(time));
53     return &messagebuf[0];
54 }
55 char *
56 StandardMessage::getKeyEventType()
57 {
58     return &KeyEventType[0];
59 }
60
61 timeval
62 StandardMessage::getRecordtime()
63 {
64     return recordtime;
65 }