Merge "sensord: add the sensord plugin logic for flexibility" into devel/tizen_3.0
[platform/core/system/sensord.git] / src / shared / cpacket.h
1 /*
2  * libsensord-share
3  *
4  * Copyright (c) 2014 Samsung Electronics Co., Ltd.
5  *
6  * Licensed under the Apache License, Version 2.0 (the "License");
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  *
18  */
19
20 #ifndef _CPACKET_H_
21 #define _CPACKET_H_
22
23 typedef struct packet_header {
24         int cmd;
25         size_t size;
26         char data[];
27 } packet_header;
28
29 class cpacket {
30 public:
31         cpacket();
32         explicit cpacket(size_t size);
33         ~cpacket();
34
35         void set_cmd(int cmd);
36         int cmd(void);
37
38         void *data(void);
39         void *packet(void);
40
41         size_t size(void);
42         size_t payload_size(void);
43
44         void set_payload_size(size_t size);
45 private:
46         packet_header *m_packet;
47 };
48
49 #endif /* _CPACKET_H_ */