Dependencies:   mbed

Committer:
nucho
Date:
Fri Jul 29 11:20:55 2011 +0000
Revision:
0:a70ea71286b6
Child:
1:ab3c75cf5906

        

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 0:a70ea71286b6 72 double data;
nucho 0:a70ea71286b6 73 virtual void* GetBuffer() {
nucho 0:a70ea71286b6 74 return &data;
nucho 0:a70ea71286b6 75 }
nucho 0:a70ea71286b6 76 const static char typecode = 'd';
nucho 0:a70ea71286b6 77 };
nucho 0:a70ea71286b6 78
nucho 0:a70ea71286b6 79 class TimedFloat : public TimedData {
nucho 0:a70ea71286b6 80 // unsigned char length;
nucho 0:a70ea71286b6 81 public:
nucho 0:a70ea71286b6 82 float data;
nucho 0:a70ea71286b6 83 virtual void* GetBuffer() {
nucho 0:a70ea71286b6 84 return &data;
nucho 0:a70ea71286b6 85 }
nucho 0:a70ea71286b6 86 const static char typecode = 'f';
nucho 0:a70ea71286b6 87 };
nucho 0:a70ea71286b6 88
nucho 0:a70ea71286b6 89 class TimedDataSeq {
nucho 0:a70ea71286b6 90 public:
nucho 0:a70ea71286b6 91 virtual SequenceDataType* GetBuffer() {
nucho 0:a70ea71286b6 92 return 0;
nucho 0:a70ea71286b6 93 }
nucho 0:a70ea71286b6 94 };
nucho 0:a70ea71286b6 95
nucho 0:a70ea71286b6 96 class TimedOctetSeq : public TimedDataSeq {
nucho 0:a70ea71286b6 97 // Time timestamp;
nucho 0:a70ea71286b6 98 // long length;
nucho 0:a70ea71286b6 99 public:
nucho 0:a70ea71286b6 100 SequenceOctet data;
nucho 0:a70ea71286b6 101 virtual SequenceDataType* GetBuffer() {
nucho 0:a70ea71286b6 102 return &data;
nucho 0:a70ea71286b6 103 }
nucho 0:a70ea71286b6 104 const static char typecode = 'O';
nucho 0:a70ea71286b6 105 };
nucho 0:a70ea71286b6 106
nucho 0:a70ea71286b6 107 class TimedCharSeq : public TimedDataSeq {
nucho 0:a70ea71286b6 108 // Time timestamp;
nucho 0:a70ea71286b6 109 // long length;
nucho 0:a70ea71286b6 110 public:
nucho 0:a70ea71286b6 111 SequenceChar data;
nucho 0:a70ea71286b6 112 virtual SequenceDataType* GetBuffer() {
nucho 0:a70ea71286b6 113 return &data;
nucho 0:a70ea71286b6 114 }
nucho 0:a70ea71286b6 115 const static char typecode = 'C';
nucho 0:a70ea71286b6 116 };
nucho 0:a70ea71286b6 117
nucho 0:a70ea71286b6 118 class TimedBooleanSeq : public TimedDataSeq {
nucho 0:a70ea71286b6 119 // Time timestamp;
nucho 0:a70ea71286b6 120 // long length;
nucho 0:a70ea71286b6 121 public:
nucho 0:a70ea71286b6 122 SequenceBoolean data;
nucho 0:a70ea71286b6 123 virtual SequenceDataType* GetBuffer() {
nucho 0:a70ea71286b6 124 return &data;
nucho 0:a70ea71286b6 125 }
nucho 0:a70ea71286b6 126 const static char typecode = 'B';
nucho 0:a70ea71286b6 127 };
nucho 0:a70ea71286b6 128
nucho 0:a70ea71286b6 129 class TimedLongSeq : public TimedDataSeq {
nucho 0:a70ea71286b6 130 // Time timestamp;
nucho 0:a70ea71286b6 131 // long length;
nucho 0:a70ea71286b6 132 public:
nucho 0:a70ea71286b6 133 SequenceLong data;
nucho 0:a70ea71286b6 134 virtual SequenceDataType* GetBuffer() {
nucho 0:a70ea71286b6 135 return &data;
nucho 0:a70ea71286b6 136 }
nucho 0:a70ea71286b6 137 const static char typecode = 'L';
nucho 0:a70ea71286b6 138 };
nucho 0:a70ea71286b6 139
nucho 0:a70ea71286b6 140 class TimedFloatSeq : public TimedDataSeq {
nucho 0:a70ea71286b6 141 // Time timestamp;
nucho 0:a70ea71286b6 142 // long length;
nucho 0:a70ea71286b6 143 // float* data;
nucho 0:a70ea71286b6 144 public:
nucho 0:a70ea71286b6 145 SequenceFloat data;
nucho 0:a70ea71286b6 146 virtual SequenceDataType* GetBuffer() {
nucho 0:a70ea71286b6 147 return &data;
nucho 0:a70ea71286b6 148 }
nucho 0:a70ea71286b6 149 const static char typecode = 'F';
nucho 0:a70ea71286b6 150 };
nucho 0:a70ea71286b6 151
nucho 0:a70ea71286b6 152 struct TimedDoubleSeq : public TimedDataSeq {
nucho 0:a70ea71286b6 153 // Time timestamp;
nucho 0:a70ea71286b6 154 // long length;
nucho 0:a70ea71286b6 155 // double* data;
nucho 0:a70ea71286b6 156 public:
nucho 0:a70ea71286b6 157 SequenceDouble data;
nucho 0:a70ea71286b6 158 virtual SequenceDataType* GetBuffer() {
nucho 0:a70ea71286b6 159 return &data;
nucho 0:a70ea71286b6 160 }
nucho 0:a70ea71286b6 161 const static char typecode = 'D';
nucho 0:a70ea71286b6 162 };
nucho 0:a70ea71286b6 163
nucho 0:a70ea71286b6 164
nucho 0:a70ea71286b6 165 #endif