HistoryRow.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 HistoryRow.h
00032  */
00033  
00034 #ifndef HistoryRow_CLASS
00035 #define HistoryRow_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::HistoryRowIDL;
00047 #endif
00048 
00049 
00050 
00051 
00052 
00053 
00054 #include <ArrayTime.h>
00055 using  asdm::ArrayTime;
00056 
00057 #include <Tag.h>
00058 using  asdm::Tag;
00059 
00060 
00061 
00062 
00063         
00064 
00065         
00066 
00067         
00068 
00069         
00070 
00071         
00072 
00073         
00074 
00075         
00076 
00077         
00078 
00079 
00080 
00081 #include <ConversionException.h>
00082 #include <NoSuchRow.h>
00083 #include <IllegalAccessException.h>
00084 
00085 
00086 /*\file History.h
00087     \brief Generated from model's revision "1.55", branch "HEAD"
00088 */
00089 
00090 namespace asdm {
00091 
00092 //class asdm::HistoryTable;
00093 
00094 
00095 // class asdm::ExecBlockRow;
00096 class ExecBlockRow;
00097         
00098 
00099 class HistoryRow;
00100 typedef void (HistoryRow::*HistoryAttributeFromBin) (EndianISStream& eiss);
00101 
00108 class HistoryRow {
00109 friend class asdm::HistoryTable;
00110 
00111 public:
00112 
00113         virtual ~HistoryRow();
00114 
00118         HistoryTable &getTable() const;
00119         
00124         bool isAdded() const;
00125                 
00127         // Intrinsic Table Attributes //
00129         
00130         
00131         // ===> Attribute time
00132         
00133         
00134         
00135 
00136         
00141         ArrayTime getTime() const;
00142         
00143  
00144         
00145         
00155         void setTime (ArrayTime time);
00156                 
00157         
00158         
00159         
00160 
00161 
00162         
00163         // ===> Attribute message
00164         
00165         
00166         
00167 
00168         
00173         string getMessage() const;
00174         
00175  
00176         
00177         
00185         void setMessage (string message);
00186                 
00187         
00188         
00189         
00190 
00191 
00192         
00193         // ===> Attribute priority
00194         
00195         
00196         
00197 
00198         
00203         string getPriority() const;
00204         
00205  
00206         
00207         
00215         void setPriority (string priority);
00216                 
00217         
00218         
00219         
00220 
00221 
00222         
00223         // ===> Attribute origin
00224         
00225         
00226         
00227 
00228         
00233         string getOrigin() const;
00234         
00235  
00236         
00237         
00245         void setOrigin (string origin);
00246                 
00247         
00248         
00249         
00250 
00251 
00252         
00253         // ===> Attribute objectId
00254         
00255         
00256         
00257 
00258         
00263         string getObjectId() const;
00264         
00265  
00266         
00267         
00275         void setObjectId (string objectId);
00276                 
00277         
00278         
00279         
00280 
00281 
00282         
00283         // ===> Attribute application
00284         
00285         
00286         
00287 
00288         
00293         string getApplication() const;
00294         
00295  
00296         
00297         
00305         void setApplication (string application);
00306                 
00307         
00308         
00309         
00310 
00311 
00312         
00313         // ===> Attribute cliCommand
00314         
00315         
00316         
00317 
00318         
00323         string getCliCommand() const;
00324         
00325  
00326         
00327         
00335         void setCliCommand (string cliCommand);
00336                 
00337         
00338         
00339         
00340 
00341 
00342         
00343         // ===> Attribute appParms
00344         
00345         
00346         
00347 
00348         
00353         string getAppParms() const;
00354         
00355  
00356         
00357         
00365         void setAppParms (string appParms);
00366                 
00367         
00368         
00369         
00370 
00371 
00373         // Extrinsic Table Attributes //
00375         
00376         
00377         // ===> Attribute execBlockId
00378         
00379         
00380         
00381 
00382         
00387         Tag getExecBlockId() const;
00388         
00389  
00390         
00391         
00401         void setExecBlockId (Tag execBlockId);
00402                 
00403         
00404         
00405         
00406 
00407 
00409         // Links //
00411         
00412         
00413 
00414         
00415                 
00422          ExecBlockRow* getExecBlockUsingExecBlockId();
00423          
00424 
00425         
00426 
00427         
00428         
00429         
00453         bool compareNoAutoInc(Tag execBlockId, ArrayTime time, string message, string priority, string origin, string objectId, string application, string cliCommand, string appParms);
00454         
00455         
00456 
00457         
00477         bool compareRequiredValue(string message, string priority, string origin, string objectId, string application, string cliCommand, string appParms); 
00478                  
00479         
00488         bool equalByRequiredValue(HistoryRow* x) ;
00489         
00490 #ifndef WITHOUT_ACS
00491 
00495         HistoryRowIDL *toIDL() const;
00496 #endif
00497         
00498 #ifndef WITHOUT_ACS
00499 
00504         void setFromIDL (HistoryRowIDL x) ;
00505 #endif
00506         
00511         string toXML() const;
00512 
00519         void setFromXML (string rowDoc) ;       
00520 
00521 private:
00525         HistoryTable &table;
00529         bool hasBeenAdded;
00530 
00531         // This method is used by the Table class when this row is added to the table.
00532         void isAdded(bool added);
00533 
00534 
00543         HistoryRow (HistoryTable &table);
00544 
00562          HistoryRow (HistoryTable &table, HistoryRow &row);
00563                 
00565         // Intrinsic Table Attributes //
00567         
00568         
00569         // ===> Attribute time
00570         
00571         
00572 
00573         ArrayTime time;
00574 
00575         
00576         
00577         
00578 
00579         
00580         // ===> Attribute message
00581         
00582         
00583 
00584         string message;
00585 
00586         
00587         
00588         
00589 
00590         
00591         // ===> Attribute priority
00592         
00593         
00594 
00595         string priority;
00596 
00597         
00598         
00599         
00600 
00601         
00602         // ===> Attribute origin
00603         
00604         
00605 
00606         string origin;
00607 
00608         
00609         
00610         
00611 
00612         
00613         // ===> Attribute objectId
00614         
00615         
00616 
00617         string objectId;
00618 
00619         
00620         
00621         
00622 
00623         
00624         // ===> Attribute application
00625         
00626         
00627 
00628         string application;
00629 
00630         
00631         
00632         
00633 
00634         
00635         // ===> Attribute cliCommand
00636         
00637         
00638 
00639         string cliCommand;
00640 
00641         
00642         
00643         
00644 
00645         
00646         // ===> Attribute appParms
00647         
00648         
00649 
00650         string appParms;
00651 
00652         
00653         
00654         
00655 
00657         // Extrinsic Table Attributes //
00659         
00660         
00661         // ===> Attribute execBlockId
00662         
00663         
00664 
00665         Tag execBlockId;
00666 
00667         
00668         
00669         
00670 
00672         // Links //
00674         
00675         
00676                 
00677 
00678          
00679 
00680         
00681 
00682         
00684         // binary-deserialization material//
00686         map<string, HistoryAttributeFromBin> fromBinMethods;
00687 void execBlockIdFromBin( EndianISStream& eiss);
00688 void timeFromBin( EndianISStream& eiss);
00689 void messageFromBin( EndianISStream& eiss);
00690 void priorityFromBin( EndianISStream& eiss);
00691 void originFromBin( EndianISStream& eiss);
00692 void objectIdFromBin( EndianISStream& eiss);
00693 void applicationFromBin( EndianISStream& eiss);
00694 void cliCommandFromBin( EndianISStream& eiss);
00695 void appParmsFromBin( EndianISStream& eiss);
00696 
00697                 
00698         
00703          void toBin(EndianOSStream& eoss);
00704                  
00712          static HistoryRow* fromBin(EndianISStream& eiss, HistoryTable& table, const vector<string>& attributesSeq);     
00713 
00714 };
00715 
00716 } // End namespace asdm
00717 
00718 #endif /* History_CLASS */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines