source: flair-src/branches/mavlink/lib/FlairCore/src/IODataElement.h@ 57

Last change on this file since 57 was 15, checked in by Bayard Gildas, 8 years ago

sources reformatted with flair-format-dir script

File size: 1.1 KB
Line 
1// %flair:license{
2// This file is part of the Flair framework distributed under the
3// CECILL-C License, Version 1.0.
4// %flair:license}
5/*!
6 * \file IODataElement.h
7 * \brief Abstract class for accessing an element of an io_data.
8 * \author Guillaume Sanahuja, Copyright Heudiasyc UMR UTC/CNRS 7253
9 * \date 2014/11/26
10 * \version 4.0
11 */
12
13#ifndef IODATAELEMENT_H
14#define IODATAELEMENT_H
15
16#include "io_data.h"
17
18namespace flair {
19namespace core {
20
21class DataType;
22
23/*! \class IODataElement
24*
25* \brief Abstract class for accessing an element of an io_data.
26*/
27class IODataElement : public Object {
28public:
29 /*!
30 * \brief Constructor
31 *
32 * Construct an IODataElement. \n
33 *
34 */
35 IODataElement(const io_data *parent, std::string name)
36 : Object(parent, name) {
37 this->parent = parent;
38 }
39 size_t Size() const { return size; }
40
41 virtual void CopyData(char *dst) const = 0;
42
43 /*!
44 * \brief DataType
45 *
46 * \return type of data
47 */
48 virtual DataType const &GetDataType(void) const = 0;
49
50protected:
51 size_t size;
52
53private:
54 const io_data *parent;
55};
56
57} // end namespace core
58} // end namespace framework
59
60#endif // IODATAELEMENT_H
Note: See TracBrowser for help on using the repository browser.