00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
#ifndef ProcessorRow_CLASS
00035
#define ProcessorRow_CLASS
00036
00037
#include <vector>
00038
#include <string>
00039
#include <set>
00040
using std::vector;
00041
using std::string;
00042
using std::set;
00043
00044
#ifndef WITHOUT_ACS
00045
#include <asdmIDLC.h>
00046
using asdmIDL::ProcessorRowIDL;
00047
#endif
00048
00049
#include <Angle.h>
00050
#include <AngularRate.h>
00051
#include <ArrayTime.h>
00052
#include <ArrayTimeInterval.h>
00053
#include <Complex.h>
00054
#include <Entity.h>
00055
#include <EntityId.h>
00056
#include <EntityRef.h>
00057
#include <Flux.h>
00058
#include <Frequency.h>
00059
#include <Humidity.h>
00060
#include <Interval.h>
00061
#include <Length.h>
00062
#include <Pressure.h>
00063
#include <Speed.h>
00064
#include <Tag.h>
00065
#include <Temperature.h>
00066
#include <ConversionException.h>
00067
#include <NoSuchRow.h>
00068
#include <IllegalAccessException.h>
00069
00070
00071
00072
00073
00074
00075
00076
00077
00078
00079
00080
00081
#include "CProcessorType.h"
00082
using namespace ProcessorTypeMod;
00083
00084
00085
00086
00087
00088
00089
00090
00091
using asdm::Angle;
00092
using asdm::AngularRate;
00093
using asdm::ArrayTime;
00094
using asdm::Complex;
00095
using asdm::Entity;
00096
using asdm::EntityId;
00097
using asdm::EntityRef;
00098
using asdm::Flux;
00099
using asdm::Frequency;
00100
using asdm::Humidity;
00101
using asdm::Interval;
00102
using asdm::Length;
00103
using asdm::Pressure;
00104
using asdm::Speed;
00105
using asdm::Tag;
00106
using asdm::Temperature;
00107
using asdm::ConversionException;
00108
using asdm::NoSuchRow;
00109
using asdm::IllegalAccessException;
00110
00111
00112
00113
00114
00115
namespace asdm {
00116
00117
00118
00119
00120
00121
class CorrelatorModeRow;
00122
00123
00130 class ProcessorRow {
00131
friend class asdm::ProcessorTable;
00132
00133
public:
00134
00135
virtual ~
ProcessorRow();
00136
00140
ProcessorTable &
getTable()
const;
00141
00142
#ifndef WITHOUT_ACS
00143
00147 ProcessorRowIDL *
toIDL()
const;
00148
#endif
00149
00150
#ifndef WITHOUT_ACS
00151
00155
void setFromIDL (ProcessorRowIDL x)
throw(
ConversionException);
00156
#endif
00157
00162 string
toXML()
const;
00163
00169
void setFromXML (string rowDoc)
throw(
ConversionException);
00170
00172
00174
00175
00176
00177
00178
00179
00180
00181
00186
Tag getProcessorId()
const;
00187
00188
00189
00190
00191
00192
00193
00194
00195
00196
00197
00198
00199
00200
00201
00206 ProcessorTypeMod::ProcessorType
getType()
const;
00207
00208
00209
00210
00218
void setType (ProcessorTypeMod::ProcessorType type);
00219
00220
00221
00222
00223
00224
00225
00226
00227
00228
00229
00230
00231
00236 string
getSubType()
const;
00237
00238
00239
00240
00248
void setSubType (string subType);
00249
00250
00251
00252
00253
00254
00255
00256
00257
00258
00259
00264
bool isFlagRowExists()
const;
00265
00266
00267
00273
bool getFlagRow()
const throw(
IllegalAccessException);
00274
00275
00276
00277
00284
void setFlagRow (
bool flagRow);
00285
00286
00287
00288
00292
void clearFlagRow ();
00293
00294
00295
00297
00299
00300
00301
00302
00303
00304
00305
00306
00311
Tag getAlmaCorrelatorModeId()
const;
00312
00313
00314
00315
00323
void setAlmaCorrelatorModeId (
Tag almaCorrelatorModeId);
00324
00325
00326
00327
00328
00329
00331
00333
00334
00335
00336
00337
00344
CorrelatorModeRow*
getCorrelatorModeUsingAlmaCorrelatorModeId();
00345
00346
00347
00348
00349
00350
00351
00356
bool compareNoAutoInc(
Tag almaCorrelatorModeId, ProcessorTypeMod::ProcessorType type, string subType);
00357
00358
00359
00360
00361
bool compareRequiredValue(
Tag almaCorrelatorModeId, ProcessorTypeMod::ProcessorType type, string subType);
00362
00363
00372
bool equalByRequiredValue(
ProcessorRow* x) ;
00373
00374
private:
00378
ProcessorTable &table;
00382
bool hasBeenAdded;
00383
00384
00385
void isAdded();
00386
00387
00396
ProcessorRow (
ProcessorTable &table);
00397
00415
ProcessorRow (
ProcessorTable &table,
ProcessorRow &row);
00416
00418
00420
00421
00422
00423
00424
00425
00426
Tag processorId;
00427
00428
00429
00430
00440
void setProcessorId (
Tag processorId);
00441
00442
00443
00444
00445
00446
00447
00448
00449 ProcessorTypeMod::ProcessorType type;
00450
00451
00452
00453
00454
00455
00456
00457
00458
00459
00460 string subType;
00461
00462
00463
00464
00465
00466
00467
00468
00469
00470
bool flagRowExists;
00471
00472
00473
bool flagRow;
00474
00475
00476
00477
00478
00480
00482
00483
00484
00485
00486
00487
00488
Tag almaCorrelatorModeId;
00489
00490
00491
00492
00493
00495
00497
00498
00499
00500
00501
00502
00503
00504
00505
00506 };
00507
00508 }
00509
00510
#endif