Dependencies:   mbed

Committer:
nucho
Date:
Mon Aug 01 14:45:58 2011 +0000
Revision:
1:b96a6ff9bb6f
Parent:
0:b14546a3cfab

        

Who changed what in which revision?

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