Dependencies:   mbed

Committer:
nucho
Date:
Mon Aug 01 14:45:42 2011 +0000
Revision:
1:ab3c75cf5906
Parent:
0:a70ea71286b6

        

Who changed what in which revision?

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