00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
#include "../GeneralInclude/CompilerSwitches.h"
00011
#include "../GeneralInclude/DebugSupport.h"
00012
#include "../GeneralInclude/BasicTypes.h"
00013
#include "../GeneralInclude/ClassId.h"
00014
#include "../GeneralInclude/Constants.h"
00015
00016
#include "DC_SampleR1Database.h"
00017
00018
static unsigned int const CharCode = 1;
00019
static unsigned int const UnsignedCharCode = 2;
00020
static unsigned int const ShortCode = 3;
00021
static unsigned int const UnsignedShortCode = 4;
00022
static unsigned int const IntCode = 5;
00023
static unsigned int const UnsignedIntCode = 6;
00024
static unsigned int const BoolCode = 7;
00025
static unsigned int const FloatCode = 8;
00026
static unsigned int const DoubleCode = 9;
00027
00028 DC_SampleR1Database::DC_SampleR1Database() {
00029 setClassId(ID_SAMPLER1DATABASE);
00030 pDefaultTable = pNULL;
00031 pOperationalTable = pNULL;
00032 resetWasCalled =
false;
00033
00034 tableLength = 50;
00035
00036 maxParId = 4;
00037 pPar =
new char*[maxParId+1];
00038 parType =
new char[maxParId+1];
00039
for (
TD_DatabaseId i=0; i<maxParId; i++) {
00040 pPar[i] = pNULL;
00041 parType[i] = -1;
00042 }
00043
00044 }
00045
00046 void DC_SampleR1Database::reset() {
00047 assert( pDefaultTable != pNULL ) ;
00048 assert( pOperationalTable != pNULL );
00049 assert( tableLength > 0 );
00050
for (
TD_DatabaseId i=0; i<tableLength; i++)
00051 pOperationalTable[i] = pDefaultTable[i];
00052 resetWasCalled =
true;
00053
00054
00055 pPar[1] = pOperationalTable+0;
00056 parType[1] = FloatCode;
00057 pPar[2] = pOperationalTable+8;
00058 parType[2] = FloatCode;
00059 pPar[3] = pOperationalTable+16;
00060 parType[3] = FloatCode;
00061 pPar[4] = pOperationalTable+24;
00062 parType[4] = FloatCode;
00063 }
00064
00065 void DC_SampleR1Database::setDefaultTable(
char* pDefTable) {
00066 assert( pDefTable != pNULL );
00067 pDefaultTable = pDefTable;
00068 }
00069
00070 void DC_SampleR1Database::setOperationalTable(
char* pOperTable) {
00071 assert( pOperTable != pNULL );
00072 pOperationalTable = pOperTable;
00073 }
00074
00075 bool DC_SampleR1Database::isObjectConfigured() {
00076
00077
00078
if ( !
CC_RootObject::isObjectConfigured() )
00079
return NOT_CONFIGURED;
00080
00081
if ( (tableLength <= 0) ||
00082 (pDefaultTable == pNULL) ||
00083 (pOperationalTable == pNULL) ||
00084 (!resetWasCalled) )
00085
return NOT_CONFIGURED;
00086
return CONFIGURED;
00087 }
00088
00089
00090 void DC_SampleR1Database::setParameter(TD_DatabaseId parId,
int newValue) {
00091 assert( pOperationalTable != pNULL );
00092 assert( (parId <= maxParId) && (parType[parId]==IntCode) );
00093
00094 *( (
int*)(pPar[parId]) ) = newValue;
00095 }
00096
00097 void DC_SampleR1Database::setParameter(TD_DatabaseId parId,
unsigned int newValue) {
00098 assert( pOperationalTable != pNULL );
00099 assert( (parId <= maxParId) && (parType[parId]==UnsignedIntCode) );
00100
00101 *( (
unsigned int*)(pPar[parId]) ) = newValue;
00102 }
00103
00104 void DC_SampleR1Database::setParameter(TD_DatabaseId parId,
short newValue) {
00105 assert( pOperationalTable != pNULL );
00106 assert( (parId <= maxParId) && (parType[parId]==ShortCode) );
00107
00108 *( (
short*)(pPar[parId]) ) = newValue;
00109 }
00110
00111 void DC_SampleR1Database::setParameter(TD_DatabaseId parId,
unsigned short newValue) {
00112 assert( pOperationalTable != pNULL );
00113 assert( (parId <= maxParId) && (parType[parId]==UnsignedShortCode) );
00114
00115 *( (
unsigned short*)(pPar[parId]) ) = newValue;
00116 }
00117
00118 void DC_SampleR1Database::setParameter(TD_DatabaseId parId,
char newValue) {
00119 assert( pOperationalTable != pNULL );
00120 assert( (parId <= maxParId) && (parType[parId]==CharCode) );
00121
00122 *( (
char*)(pPar[parId]) ) = newValue;
00123 }
00124
00125 void DC_SampleR1Database::setParameter(TD_DatabaseId parId,
unsigned char newValue) {
00126 assert( pOperationalTable != pNULL );
00127 assert( (parId <= maxParId) && (parType[parId]==UnsignedCharCode) );
00128
00129 *( (
unsigned char*)(pPar[parId]) ) = newValue;
00130 }
00131
00132 void DC_SampleR1Database::setParameter(TD_DatabaseId parId,
bool newValue) {
00133 assert( pOperationalTable != pNULL );
00134 assert( (parId <= maxParId) && (parType[parId]==BoolCode) );
00135
00136 *( (
bool*)(pPar[parId]) ) = newValue;
00137 }
00138
00139 void DC_SampleR1Database::setParameter(TD_DatabaseId parId,
float newValue) {
00140 assert( pOperationalTable != pNULL );
00141 assert( (parId <= maxParId) && (parType[parId]==FloatCode) );
00142
00143 *( (
float*)(pPar[parId]) ) = newValue;
00144 }
00145
00146 void DC_SampleR1Database::setParameter(TD_DatabaseId parId,
double newValue) {
00147 assert( pOperationalTable != pNULL );
00148 assert( (parId <= maxParId) && (parType[parId]==DoubleCode) );
00149
00150 *( (
double*)(pPar[parId]) ) = newValue;
00151 }
00152 int DC_SampleR1Database::getParameterInt(TD_DatabaseId parId) {
00153 assert( pOperationalTable != pNULL );
00154 assert( (parId <= maxParId) && (parType[parId]==IntCode) );
00155
00156
return *(
int*)(pPar[parId]);
00157 }
00158 unsigned int DC_SampleR1Database::getParameterUnsignedInt(TD_DatabaseId parId) {
00159 assert( pOperationalTable != pNULL );
00160 assert( (parId <= maxParId) && (parType[parId]==UnsignedIntCode) );
00161
00162
return *(
unsigned int*)(pPar[parId]);
00163 }
00164 short DC_SampleR1Database::getParameterShort(TD_DatabaseId parId) {
00165 assert( pOperationalTable != pNULL );
00166 assert( (parId <= maxParId) && (parType[parId]==ShortCode) );
00167
00168
return *(
short*)(pPar[parId]);
00169 }
00170 unsigned short DC_SampleR1Database::getParameterUnsignedShort(TD_DatabaseId parId) {
00171 assert( pOperationalTable != pNULL );
00172 assert( (parId <= maxParId) && (parType[parId]==UnsignedShortCode) );
00173
00174
return *(
unsigned short*)(pPar[parId]);
00175 }
00176 char DC_SampleR1Database::getParameterChar(TD_DatabaseId parId) {
00177 assert( pOperationalTable != pNULL );
00178 assert( (parId <= maxParId) && (parType[parId]==CharCode) );
00179
00180
return *(
char*)(pPar[parId]);
00181 }
00182 unsigned char DC_SampleR1Database::getParameterUnsignedChar(TD_DatabaseId parId) {
00183 assert( pOperationalTable != pNULL );
00184 assert( (parId <= maxParId) && (parType[parId]==UnsignedCharCode) );
00185
00186
return *(
unsigned char*)(pPar[parId]);
00187 }
00188 bool DC_SampleR1Database::getParameterBool(TD_DatabaseId parId) {
00189 assert( pOperationalTable != pNULL );
00190 assert( (parId <= maxParId) && (parType[parId]==BoolCode) );
00191
00192
return *(
bool*)(pPar[parId]);
00193 }
00194 float DC_SampleR1Database::getParameterFloat(TD_DatabaseId parId) {
00195 assert( pOperationalTable != pNULL );
00196 assert( (parId <= maxParId) && (parType[parId]==FloatCode) );
00197
00198
return *(
float*)(pPar[parId]);
00199 }
00200 double DC_SampleR1Database::getParameterDouble(TD_DatabaseId parId) {
00201 assert( pOperationalTable != pNULL );
00202 assert( (parId <= maxParId) && (parType[parId]==DoubleCode) );
00203
00204
return *(
double*)(pPar[parId]);
00205 }
00206 int*
DC_SampleR1Database::getParameterPointerInt(TD_DatabaseId parId) {
00207 assert( pOperationalTable != pNULL );
00208 assert( (parId <= maxParId) && (parType[parId]==IntCode) );
00209
00210
return (
int*)(pPar[parId]);
00211 }
00212 unsigned int*
DC_SampleR1Database::getParameterPointerUnsignedInt(TD_DatabaseId parId) {
00213 assert( pOperationalTable != pNULL );
00214 assert( (parId <= maxParId) && (parType[parId]==UnsignedIntCode) );
00215
00216
return (
unsigned int*)(pPar[parId]);
00217 }
00218 short*
DC_SampleR1Database::getParameterPointerShort(TD_DatabaseId parId) {
00219 assert( pOperationalTable != pNULL );
00220 assert( (parId <= maxParId) && (parType[parId]==ShortCode) );
00221
00222
return (
short*)(pPar[parId]);
00223 }
00224 unsigned short*
DC_SampleR1Database::getParameterPointerUnsignedShort(TD_DatabaseId parId) {
00225 assert( pOperationalTable != pNULL );
00226 assert( (parId <= maxParId) && (parType[parId]==UnsignedShortCode) );
00227
00228
return (
unsigned short*)(pPar[parId]);
00229 }
00230 char*
DC_SampleR1Database::getParameterPointerChar(TD_DatabaseId parId) {
00231 assert( pOperationalTable != pNULL );
00232 assert( (parId <= maxParId) && (parType[parId]==CharCode) );
00233
00234
return (
char*)(pPar[parId]);
00235 }
00236 unsigned char*
DC_SampleR1Database::getParameterPointerUnsignedChar(TD_DatabaseId parId) {
00237 assert( pOperationalTable != pNULL );
00238 assert( (parId <= maxParId) && (parType[parId]==UnsignedCharCode) );
00239
00240
return (
unsigned char*)(pPar[parId]);
00241 }
00242 bool*
DC_SampleR1Database::getParameterPointerBool(TD_DatabaseId parId) {
00243 assert( pOperationalTable != pNULL );
00244 assert( (parId <= maxParId) && (parType[parId]==BoolCode) );
00245
00246
return (
bool*)(pPar[parId]);
00247 }
00248 float*
DC_SampleR1Database::getParameterPointerFloat(TD_DatabaseId parId) {
00249 assert( pOperationalTable != pNULL );
00250 assert( (parId <= maxParId) && (parType[parId]==FloatCode) );
00251
00252
return (
float*)(pPar[parId]);
00253 }
00254 double*
DC_SampleR1Database::getParameterPointerDouble(TD_DatabaseId parId) {
00255 assert( pOperationalTable != pNULL );
00256 assert( (parId <= maxParId) && (parType[parId]==DoubleCode) );
00257
00258
return (
double*)(pPar[parId]);
00259 }