Dependencies:   mbed QEI

Committer:
nucho
Date:
Fri Jul 29 11:23:44 2011 +0000
Revision:
0:3c49891bc39d
Child:
1:7f0fc0d1f777

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
nucho 0:3c49891bc39d 1 /*******************************************
nucho 0:3c49891bc39d 2 * BasicDataType.h
nucho 0:3c49891bc39d 3 * @author Yuki Suga
nucho 0:3c49891bc39d 4 * @copyright Yuki Suga (ysuga.net) Nov, 10th, 2010.
nucho 0:3c49891bc39d 5 * @license LGPLv3
nucho 0:3c49891bc39d 6 *****************************************/
nucho 0:3c49891bc39d 7
nucho 0:3c49891bc39d 8 #ifndef BASIC_DATA_TYPE_HEADER_INCLUDED
nucho 0:3c49891bc39d 9 #define BASIC_DATA_TYPE_HEADER_INCLUDED
nucho 0:3c49891bc39d 10
nucho 0:3c49891bc39d 11 #include "SequenceDataType.h"
nucho 0:3c49891bc39d 12 #include "SequenceOctet.h"
nucho 0:3c49891bc39d 13 #include "SequenceChar.h"
nucho 0:3c49891bc39d 14 #include "SequenceBoolean.h"
nucho 0:3c49891bc39d 15 #include "SequenceLong.h"
nucho 0:3c49891bc39d 16 #include "SequenceDouble.h"
nucho 0:3c49891bc39d 17 #include "SequenceFloat.h"
nucho 0:3c49891bc39d 18 /*
nucho 0:3c49891bc39d 19 typedef struct __Time__ {
nucho 0:3c49891bc39d 20 long sec;
nucho 0:3c49891bc39d 21 long usec;
nucho 0:3c49891bc39d 22 }Time;
nucho 0:3c49891bc39d 23 */
nucho 0:3c49891bc39d 24
nucho 0:3c49891bc39d 25 class TimedData {
nucho 0:3c49891bc39d 26 public:
nucho 0:3c49891bc39d 27 virtual void* GetBuffer() {
nucho 0:3c49891bc39d 28 return 0;
nucho 0:3c49891bc39d 29 }
nucho 0:3c49891bc39d 30 };
nucho 0:3c49891bc39d 31
nucho 0:3c49891bc39d 32 class TimedBoolean : public TimedData {
nucho 0:3c49891bc39d 33 public:
nucho 0:3c49891bc39d 34 char data;
nucho 0:3c49891bc39d 35 virtual void* GetBuffer() {
nucho 0:3c49891bc39d 36 return &data;
nucho 0:3c49891bc39d 37 }
nucho 0:3c49891bc39d 38 const static char typecode = 'b';
nucho 0:3c49891bc39d 39 };
nucho 0:3c49891bc39d 40
nucho 0:3c49891bc39d 41 class TimedChar : public TimedData {
nucho 0:3c49891bc39d 42 public:
nucho 0:3c49891bc39d 43 char data;
nucho 0:3c49891bc39d 44 virtual void* GetBuffer() {
nucho 0:3c49891bc39d 45 return &data;
nucho 0:3c49891bc39d 46 }
nucho 0:3c49891bc39d 47 const static char typecode = 'c';
nucho 0:3c49891bc39d 48 };
nucho 0:3c49891bc39d 49
nucho 0:3c49891bc39d 50 class TimedOctet : public TimedData {
nucho 0:3c49891bc39d 51 public:
nucho 0:3c49891bc39d 52 char data;
nucho 0:3c49891bc39d 53 virtual void* GetBuffer() {
nucho 0:3c49891bc39d 54 return &data;
nucho 0:3c49891bc39d 55 }
nucho 0:3c49891bc39d 56 const static char typecode = 'o';
nucho 0:3c49891bc39d 57 };
nucho 0:3c49891bc39d 58
nucho 0:3c49891bc39d 59 class TimedLong : public TimedData {
nucho 0:3c49891bc39d 60 // Time timestamp;
nucho 0:3c49891bc39d 61 public:
nucho 0:3c49891bc39d 62 long data;
nucho 0:3c49891bc39d 63 virtual void* GetBuffer() {
nucho 0:3c49891bc39d 64 return &data;
nucho 0:3c49891bc39d 65 }
nucho 0:3c49891bc39d 66 const static char typecode = 'l';
nucho 0:3c49891bc39d 67 };
nucho 0:3c49891bc39d 68
nucho 0:3c49891bc39d 69 class TimedDouble : public TimedData {
nucho 0:3c49891bc39d 70 // Time timestamp;
nucho 0:3c49891bc39d 71 public:
nucho 0:3c49891bc39d 72 double data;
nucho 0:3c49891bc39d 73 virtual void* GetBuffer() {
nucho 0:3c49891bc39d 74 return &data;
nucho 0:3c49891bc39d 75 }
nucho 0:3c49891bc39d 76 const static char typecode = 'd';
nucho 0:3c49891bc39d 77 };
nucho 0:3c49891bc39d 78
nucho 0:3c49891bc39d 79 class TimedFloat : public TimedData {
nucho 0:3c49891bc39d 80 // unsigned char length;
nucho 0:3c49891bc39d 81 public:
nucho 0:3c49891bc39d 82 float data;
nucho 0:3c49891bc39d 83 virtual void* GetBuffer() {
nucho 0:3c49891bc39d 84 return &data;
nucho 0:3c49891bc39d 85 }
nucho 0:3c49891bc39d 86 const static char typecode = 'f';
nucho 0:3c49891bc39d 87 };
nucho 0:3c49891bc39d 88
nucho 0:3c49891bc39d 89 class TimedDataSeq {
nucho 0:3c49891bc39d 90 public:
nucho 0:3c49891bc39d 91 virtual SequenceDataType* GetBuffer() {
nucho 0:3c49891bc39d 92 return 0;
nucho 0:3c49891bc39d 93 }
nucho 0:3c49891bc39d 94 };
nucho 0:3c49891bc39d 95
nucho 0:3c49891bc39d 96 class TimedOctetSeq : public TimedDataSeq {
nucho 0:3c49891bc39d 97 // Time timestamp;
nucho 0:3c49891bc39d 98 // long length;
nucho 0:3c49891bc39d 99 public:
nucho 0:3c49891bc39d 100 SequenceOctet data;
nucho 0:3c49891bc39d 101 virtual SequenceDataType* GetBuffer() {
nucho 0:3c49891bc39d 102 return &data;
nucho 0:3c49891bc39d 103 }
nucho 0:3c49891bc39d 104 const static char typecode = 'O';
nucho 0:3c49891bc39d 105 };
nucho 0:3c49891bc39d 106
nucho 0:3c49891bc39d 107 class TimedCharSeq : public TimedDataSeq {
nucho 0:3c49891bc39d 108 // Time timestamp;
nucho 0:3c49891bc39d 109 // long length;
nucho 0:3c49891bc39d 110 public:
nucho 0:3c49891bc39d 111 SequenceChar data;
nucho 0:3c49891bc39d 112 virtual SequenceDataType* GetBuffer() {
nucho 0:3c49891bc39d 113 return &data;
nucho 0:3c49891bc39d 114 }
nucho 0:3c49891bc39d 115 const static char typecode = 'C';
nucho 0:3c49891bc39d 116 };
nucho 0:3c49891bc39d 117
nucho 0:3c49891bc39d 118 class TimedBooleanSeq : public TimedDataSeq {
nucho 0:3c49891bc39d 119 // Time timestamp;
nucho 0:3c49891bc39d 120 // long length;
nucho 0:3c49891bc39d 121 public:
nucho 0:3c49891bc39d 122 SequenceBoolean data;
nucho 0:3c49891bc39d 123 virtual SequenceDataType* GetBuffer() {
nucho 0:3c49891bc39d 124 return &data;
nucho 0:3c49891bc39d 125 }
nucho 0:3c49891bc39d 126 const static char typecode = 'B';
nucho 0:3c49891bc39d 127 };
nucho 0:3c49891bc39d 128
nucho 0:3c49891bc39d 129 class TimedLongSeq : public TimedDataSeq {
nucho 0:3c49891bc39d 130 // Time timestamp;
nucho 0:3c49891bc39d 131 // long length;
nucho 0:3c49891bc39d 132 public:
nucho 0:3c49891bc39d 133 SequenceLong data;
nucho 0:3c49891bc39d 134 virtual SequenceDataType* GetBuffer() {
nucho 0:3c49891bc39d 135 return &data;
nucho 0:3c49891bc39d 136 }
nucho 0:3c49891bc39d 137 const static char typecode = 'L';
nucho 0:3c49891bc39d 138 };
nucho 0:3c49891bc39d 139
nucho 0:3c49891bc39d 140 class TimedFloatSeq : public TimedDataSeq {
nucho 0:3c49891bc39d 141 // Time timestamp;
nucho 0:3c49891bc39d 142 // long length;
nucho 0:3c49891bc39d 143 // float* data;
nucho 0:3c49891bc39d 144 public:
nucho 0:3c49891bc39d 145 SequenceFloat data;
nucho 0:3c49891bc39d 146 virtual SequenceDataType* GetBuffer() {
nucho 0:3c49891bc39d 147 return &data;
nucho 0:3c49891bc39d 148 }
nucho 0:3c49891bc39d 149 const static char typecode = 'F';
nucho 0:3c49891bc39d 150 };
nucho 0:3c49891bc39d 151
nucho 0:3c49891bc39d 152 struct TimedDoubleSeq : public TimedDataSeq {
nucho 0:3c49891bc39d 153 // Time timestamp;
nucho 0:3c49891bc39d 154 // long length;
nucho 0:3c49891bc39d 155 // double* data;
nucho 0:3c49891bc39d 156 public:
nucho 0:3c49891bc39d 157 SequenceDouble data;
nucho 0:3c49891bc39d 158 virtual SequenceDataType* GetBuffer() {
nucho 0:3c49891bc39d 159 return &data;
nucho 0:3c49891bc39d 160 }
nucho 0:3c49891bc39d 161 const static char typecode = 'D';
nucho 0:3c49891bc39d 162 };
nucho 0:3c49891bc39d 163
nucho 0:3c49891bc39d 164
nucho 0:3c49891bc39d 165 #endif