lgrAggregatePduEncoder.h
Go to the documentation of this file.
00001 /******************************************************************************
00002 ** Copyright (c) 1992-2010 VT MAK
00003 ** All rights reserved.
00004 ******************************************************************************/
00005 
00008 
00009 #if DtDIS
00010 #ifndef lgrAggregatePduEncoder_H_
00011 #define lgrAggregatePduEncoder_H_
00012 
00013 #include "lgrPduDatabaseEncoder.h"
00014 
00015 namespace MAKLogger
00016 {
00017 
00019 class DT_DLL_SQLEXPORTER DtLgrAggregatePduEncoder : public DtLgrPduDatabaseEncoder
00020 {
00021 public:
00023    DtLgrAggregatePduEncoder();
00024 
00026    virtual ~DtLgrAggregatePduEncoder();
00027 
00029    static DtPduKind pduKind();
00030 
00032    virtual const DtString& pduName() const;
00033 
00034 protected:
00037    virtual void encodePdu(const DtPdu& pdu,std::vector<DtDatabaseTableSP>& tables) const;
00038 
00039 public:
00042    virtual std::vector<DtDatabaseTableSP> getTableDefinitions() const;
00043 
00044 protected:
00045    DtString myTableName;
00046 
00047    DtDatabaseColumn* myAggregateIdColumn;
00048    DtDatabaseColumn* myAggregateIdSiteColumn;
00049    DtDatabaseColumn* myAggregateIdAppColumn;
00050    DtDatabaseColumn* myAggregateIdEntityColumn;
00051 
00052    DtDatabaseColumn* myForceIdColumn;
00053    DtDatabaseColumn* myAggregateStateColumn;
00054 
00055    DtDatabaseColumn* myAggregateTypeColumn;
00056    DtDatabaseColumn* myAggregateTypeEntityKindColumn;
00057    DtDatabaseColumn* myAggregateTypeDomainColumn;
00058    DtDatabaseColumn* myAggregateTypeCountryColumn;
00059    DtDatabaseColumn* myAggregateTypeCategoryColumn;
00060    DtDatabaseColumn* myAggregateTypeSubcategoryColumn;
00061    DtDatabaseColumn* myAggregateTypeSpecificColumn;
00062    DtDatabaseColumn* myAggregateTypeExtraColumn;
00063 
00064    DtDatabaseColumn* myFormationColumn;
00065 
00066    DtDatabaseColumn* myAggregateMarkingCharacterSetColumn;
00067    DtDatabaseColumn* myAggregateMarkingCharacterTextColumn;
00068 
00069    DtDatabaseColumn* myDimensionsXColumn;
00070    DtDatabaseColumn* myDimensionsYColumn;
00071    DtDatabaseColumn* myDimensionsZColumn;
00072 
00073    DtDatabaseColumn* myOrientationPsiColumn;
00074    DtDatabaseColumn* myOrientationThetaColumn;
00075    DtDatabaseColumn* myOrientationPhiColumn;
00076 
00077    DtDatabaseColumn* myCenterOfMassXColumn;
00078    DtDatabaseColumn* myCenterOfMassYColumn;
00079    DtDatabaseColumn* myCenterOfMassZColumn;
00080 
00081    DtDatabaseColumn* myVelocityXColumn;
00082    DtDatabaseColumn* myVelocityYColumn;
00083    DtDatabaseColumn* myVelocityZColumn;
00084 
00085    DtDatabaseColumn* myNumberOfAggregatesColumn;
00086    DtDatabaseColumn* myNumberOfEntitiesColumn;
00087    DtDatabaseColumn* myNumberOfSilentAggregateTypesColumn;
00088    DtDatabaseColumn* myNumberOfSilentEntityTypesColumn;
00089    DtDatabaseColumn* myNumberOfVariableDatumRecordsColumn;
00090 
00091    // SubTable 1
00092    DtString myAggregateIdTableName;
00093    mutable size_t myAggregateIDListTableIndex;
00094    //Reuse aggregate ID columns
00095 
00096    // Subtable 2
00097    DtString myEntityIdTableName;
00098    mutable size_t myEntityIDListTableIndex;
00099    DtDatabaseColumn* myEntityIdColumn;
00100    DtDatabaseColumn* myEntityIdSiteColumn;
00101    DtDatabaseColumn* myEntityIdAppColumn;
00102    DtDatabaseColumn* myEntityIdEntityColumn;
00103 
00104    // Subtable 3
00105    DtString mySilentAggregateTableName;
00106    mutable size_t mySilentAggregateTableIndex;
00107    DtDatabaseColumn* mySilentAggregateCountColumn;
00108    //Reuse aggregate type columns
00109 
00110    // Subtable 4
00111    DtString mySilentEntityTableName;
00112    mutable size_t mySilentEntityTableIndex;
00113    DtDatabaseColumn* mySilentEntityCountColumn;
00114    DtDatabaseColumn* mySilentEntityAppearanceCountColumn;
00115    DtDatabaseColumn* mySilentEntityTypeColumn;
00116    DtDatabaseColumn* mySilentEntityTypeEntityKindColumn;
00117    DtDatabaseColumn* mySilentEntityTypeDomainColumn;
00118    DtDatabaseColumn* mySilentEntityTypeCountryColumn;
00119    DtDatabaseColumn* mySilentEntityTypeCategoryColumn;
00120    DtDatabaseColumn* mySilentEntityTypeSubcategoryColumn;
00121    DtDatabaseColumn* mySilentEntityTypeSpecificColumn;
00122    DtDatabaseColumn* mySilentEntityTypeExtraColumn;
00123 
00124    // SubTable 5
00125    DtString mySilentEntityAppearanceTableName;
00126    mutable size_t mySilentEntityAppearanceTableIndex;
00127    //Reuse silent entity type.
00128    DtDatabaseColumn* myAppearanceColumn;
00129 
00130    // Subtable 6
00131    DtString myVariableDatumTableName;
00132    mutable size_t myVarDatumTableIndex;
00133    DtDatabaseColumn* myVariableDatumIdColumn;
00134    DtDatabaseColumn* myVariableDatumLengthColumn;
00135    DtDatabaseColumn* myVariableDatumValueColumn;
00136 
00137 };
00138 
00139 }
00140 
00141 #endif
00142 #endif

Document ID: Generated on Tue Oct 11 19:41:03 EDT 2011 from SVN revision 107422
Copyright © 2005-2011 VT MÄK Inc. All Rights Reserved (www.mak.com)