HolographyRow.h

Go to the documentation of this file.
00001 
00002 /*
00003  * ALMA - Atacama Large Millimeter Array
00004  * (c) European Southern Observatory, 2002
00005  * (c) Associated Universities Inc., 2002
00006  * Copyright by ESO (in the framework of the ALMA collaboration),
00007  * Copyright by AUI (in the framework of the ALMA collaboration),
00008  * All rights reserved.
00009  * 
00010  * This library is free software; you can redistribute it and/or
00011  * modify it under the terms of the GNU Lesser General Public
00012  * License as published by the Free software Foundation; either
00013  * version 2.1 of the License, or (at your option) any later version.
00014  * 
00015  * This library is distributed in the hope that it will be useful,
00016  * but WITHOUT ANY WARRANTY, without even the implied warranty of
00017  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00018  * Lesser General Public License for more details.
00019  * 
00020  * You should have received a copy of the GNU Lesser General Public
00021  * License along with this library; if not, write to the Free Software
00022  * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
00023  * MA 02111-1307  USA
00024  *
00025  * Warning!
00026  *  -------------------------------------------------------------------- 
00027  * | This is generated code!  Do not modify this file.                  |
00028  * | If you do, all changes will be lost when the file is re-generated. |
00029  *  --------------------------------------------------------------------
00030  *
00031  * File HolographyRow.h
00032  */
00033  
00034 #ifndef HolographyRow_CLASS
00035 #define HolographyRow_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::HolographyRowIDL;
00047 #endif
00048 
00049 
00050 
00051 
00052 
00053 
00054 #include <Tag.h>
00055 using  asdm::Tag;
00056 
00057 #include <Length.h>
00058 using  asdm::Length;
00059 
00060 
00061 
00062 
00063         
00064 
00065         
00066 
00067         
00068 
00069         
00070 
00071         
00072 #include "CHolographyChannelType.h"
00073 using namespace HolographyChannelTypeMod;
00074         
00075 
00076 
00077 
00078 #include <ConversionException.h>
00079 #include <NoSuchRow.h>
00080 #include <IllegalAccessException.h>
00081 
00082 
00083 /*\file Holography.h
00084     \brief Generated from model's revision "1.55", branch "HEAD"
00085 */
00086 
00087 namespace asdm {
00088 
00089 //class asdm::HolographyTable;
00090 
00091         
00092 
00093 class HolographyRow;
00094 typedef void (HolographyRow::*HolographyAttributeFromBin) (EndianISStream& eiss);
00095 
00102 class HolographyRow {
00103 friend class asdm::HolographyTable;
00104 
00105 public:
00106 
00107         virtual ~HolographyRow();
00108 
00112         HolographyTable &getTable() const;
00113         
00118         bool isAdded() const;
00119                 
00121         // Intrinsic Table Attributes //
00123         
00124         
00125         // ===> Attribute holographyId
00126         
00127         
00128         
00129 
00130         
00135         Tag getHolographyId() const;
00136         
00137  
00138         
00139         
00140         
00141         
00142 
00143 
00144         
00145         // ===> Attribute distance
00146         
00147         
00148         
00149 
00150         
00155         Length getDistance() const;
00156         
00157  
00158         
00159         
00167         void setDistance (Length distance);
00168                 
00169         
00170         
00171         
00172 
00173 
00174         
00175         // ===> Attribute focus
00176         
00177         
00178         
00179 
00180         
00185         Length getFocus() const;
00186         
00187  
00188         
00189         
00197         void setFocus (Length focus);
00198                 
00199         
00200         
00201         
00202 
00203 
00204         
00205         // ===> Attribute numCorr
00206         
00207         
00208         
00209 
00210         
00215         int getNumCorr() const;
00216         
00217  
00218         
00219         
00227         void setNumCorr (int numCorr);
00228                 
00229         
00230         
00231         
00232 
00233 
00234         
00235         // ===> Attribute type
00236         
00237         
00238         
00239 
00240         
00245         vector<HolographyChannelTypeMod::HolographyChannelType > getType() const;
00246         
00247  
00248         
00249         
00257         void setType (vector<HolographyChannelTypeMod::HolographyChannelType > type);
00258                 
00259         
00260         
00261         
00262 
00263 
00265         // Extrinsic Table Attributes //
00267         
00269         // Links //
00271         
00272         
00273         
00274         
00288         bool compareNoAutoInc(Length distance, Length focus, int numCorr, vector<HolographyChannelTypeMod::HolographyChannelType > type);
00289         
00290         
00291 
00292         
00306         bool compareRequiredValue(Length distance, Length focus, int numCorr, vector<HolographyChannelTypeMod::HolographyChannelType > type); 
00307                  
00308         
00317         bool equalByRequiredValue(HolographyRow* x) ;
00318         
00319 #ifndef WITHOUT_ACS
00320 
00324         HolographyRowIDL *toIDL() const;
00325 #endif
00326         
00327 #ifndef WITHOUT_ACS
00328 
00333         void setFromIDL (HolographyRowIDL x) ;
00334 #endif
00335         
00340         string toXML() const;
00341 
00348         void setFromXML (string rowDoc) ;       
00349 
00350 private:
00354         HolographyTable &table;
00358         bool hasBeenAdded;
00359 
00360         // This method is used by the Table class when this row is added to the table.
00361         void isAdded(bool added);
00362 
00363 
00372         HolographyRow (HolographyTable &table);
00373 
00391          HolographyRow (HolographyTable &table, HolographyRow &row);
00392                 
00394         // Intrinsic Table Attributes //
00396         
00397         
00398         // ===> Attribute holographyId
00399         
00400         
00401 
00402         Tag holographyId;
00403 
00404         
00405         
00406         
00416         void setHolographyId (Tag holographyId);
00417                 
00418         
00419 
00420         
00421         // ===> Attribute distance
00422         
00423         
00424 
00425         Length distance;
00426 
00427         
00428         
00429         
00430 
00431         
00432         // ===> Attribute focus
00433         
00434         
00435 
00436         Length focus;
00437 
00438         
00439         
00440         
00441 
00442         
00443         // ===> Attribute numCorr
00444         
00445         
00446 
00447         int numCorr;
00448 
00449         
00450         
00451         
00452 
00453         
00454         // ===> Attribute type
00455         
00456         
00457 
00458         vector<HolographyChannelTypeMod::HolographyChannelType > type;
00459 
00460         
00461         
00462         
00463 
00465         // Extrinsic Table Attributes //
00467         
00469         // Links //
00471         
00472         
00474         // binary-deserialization material//
00476         map<string, HolographyAttributeFromBin> fromBinMethods;
00477 void holographyIdFromBin( EndianISStream& eiss);
00478 void distanceFromBin( EndianISStream& eiss);
00479 void focusFromBin( EndianISStream& eiss);
00480 void numCorrFromBin( EndianISStream& eiss);
00481 void typeFromBin( EndianISStream& eiss);
00482 
00483                 
00484         
00489          void toBin(EndianOSStream& eoss);
00490                  
00498          static HolographyRow* fromBin(EndianISStream& eiss, HolographyTable& table, const vector<string>& attributesSeq);       
00499 
00500 };
00501 
00502 } // End namespace asdm
00503 
00504 #endif /* Holography_CLASS */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines