Dependencies:   mbed

Committer:
nucho
Date:
Fri Jul 29 11:23:06 2011 +0000
Revision:
0:b14546a3cfab
Child:
1:b96a6ff9bb6f

        

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