VR-Link API Documentation for HLA 1516
hFedDec.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 1992-2010 VT MAK
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 
00006 #ifndef hFedDec_H_
00007 #define hFedDec_H_
00008 
00009 #if DtHLA
00010 
00014 
00015 #include <vlutil/vlString.h>
00016 #include <vlutil/vlTime.h>
00017 #include "hStateDecoder.h"
00018 
00019 class DtFederateStateRepository;
00020 
00023 #define DtDECLARE_FEDERATE_ATTR_DECODER(attrName) \
00024    DtDECLARE_ATTR_DECODER(DtFederateStateRepository, attrName) 
00025 
00031 class DT_DLL_VL DtFederateDecoder : public DtHlaStateDecoder
00032 {
00033 public:
00035    DtFederateDecoder(
00036       DtExerciseConn* exConn,
00037       DtObjClassDesc* classDesc);
00038 
00040    virtual ~DtFederateDecoder();
00041 
00043    DtFederateDecoder(const DtFederateDecoder& orig);
00044 
00046    DtFederateDecoder& operator=(const DtFederateDecoder& orig);
00047 
00048 public:
00050    static DtHlaStateDecoder* create(
00051       DtExerciseConn* exConn,
00052       DtObjClassDesc* classDesc);
00053 
00054 
00055 protected:
00056    DtDECLARE_FEDERATE_ATTR_DECODER(FederateHandle);
00057    DtDECLARE_FEDERATE_ATTR_DECODER(FederateType);
00058 #if DtHLA_1516
00059    DtDECLARE_FEDERATE_ATTR_DECODER(ConveyRegionDesignatorSets);
00060 #endif
00061 #if DtHLA_1516_EVOLVED
00062    DtDECLARE_FEDERATE_ATTR_DECODER(FederateName);
00063    DtDECLARE_FEDERATE_ATTR_DECODER(FomModuleDesignatorList);
00064    DtDECLARE_FEDERATE_ATTR_DECODER(ConveyProducingFederate);
00065 #else
00066    DtDECLARE_FEDERATE_ATTR_DECODER(FedId);  
00067 #endif
00068    DtDECLARE_FEDERATE_ATTR_DECODER(FederateHost);
00069    DtDECLARE_FEDERATE_ATTR_DECODER(RtiVersion);
00070    DtDECLARE_FEDERATE_ATTR_DECODER(TimeConstrained);
00071    DtDECLARE_FEDERATE_ATTR_DECODER(TimeRegulating);
00072    DtDECLARE_FEDERATE_ATTR_DECODER(AsynchronousDelivery);
00073    DtDECLARE_FEDERATE_ATTR_DECODER(FederateState);
00074    DtDECLARE_FEDERATE_ATTR_DECODER(TimeManagerState);
00075    DtDECLARE_FEDERATE_ATTR_DECODER(FederateTime);
00076    DtDECLARE_FEDERATE_ATTR_DECODER(Lookahead);
00077    DtDECLARE_FEDERATE_ATTR_DECODER(Lbts);
00078    DtDECLARE_FEDERATE_ATTR_DECODER(MinNextEventTime);
00079    DtDECLARE_FEDERATE_ATTR_DECODER(RoLength);
00080    DtDECLARE_FEDERATE_ATTR_DECODER(TsoLength);
00081    DtDECLARE_FEDERATE_ATTR_DECODER(ReflectionsReceived);
00082    DtDECLARE_FEDERATE_ATTR_DECODER(UpdatesSent);
00083    DtDECLARE_FEDERATE_ATTR_DECODER(InteractionsReceived);
00084    DtDECLARE_FEDERATE_ATTR_DECODER(InteractionsSent);
00085    DtDECLARE_FEDERATE_ATTR_DECODER(ObjectsOwned);
00086    DtDECLARE_FEDERATE_ATTR_DECODER(ObjectsUpdated);
00087    DtDECLARE_FEDERATE_ATTR_DECODER(ObjectsReflected);
00088 #if DtHLA_1516
00089    DtDECLARE_FEDERATE_ATTR_DECODER(ObjectsDeleted);
00090    DtDECLARE_FEDERATE_ATTR_DECODER(ObjectsRemoved);
00091    DtDECLARE_FEDERATE_ATTR_DECODER(ObjectsRegistered);
00092    DtDECLARE_FEDERATE_ATTR_DECODER(ObjectsDiscovered);
00093    DtDECLARE_FEDERATE_ATTR_DECODER(TimeGrantedTime);
00094    DtDECLARE_FEDERATE_ATTR_DECODER(TimeAdvancingTime);
00095 #endif
00096 
00097    static DtString stringFromBuffer(char* buffer);
00098    static std::vector<DtString> momStringListFromBuffer(char* buffer, int len);
00099 
00100    static bool boolFromBuffer(char* buffer);
00101    static int intFromBuffer(char* buffer);
00102    static DtString stringFromTime(char* buffer);
00103    static DtString stringFromTimeInterval(char* buffer);
00104 };
00105 
00106 
00107 #endif
00108 #endif

Document ID: Generated on Mon May 14 08:06:18 EDT 2012 from SVN revision 114750
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)