VR-Forces 4.0.4 Class Documentation
include/vrfExtObjects/vrfAggregatePub.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 2006 MAK Technologies, Inc.
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: vrfAggregatePub.h,v $ $Revision: 1.6 $ $State: Exp $
00007 *******************************************************************************/
00008 
00009 #ifndef VRFAGGREGATEPUB_H
00010 #define VRFAGGREGATEPUB_H
00011 
00012 #include <vl/aggPub.h>
00013 #include <vrfExtObjects/vrfExtObjectsDefines.h>
00014 #include <vrfExtObjects/vrfObjIdGen.h>
00015 
00016 #ifdef DtDIS
00017 typedef DtAggregateStateEncoder DtAggPublisherEncoder;
00018 typedef DtAggregateStateDecoder DtAggPublisherDecoder;
00019 #elif DtHLA
00020 typedef DtHlaStateEncoder DtAggPublisherEncoder;
00021 typedef DtHlaStateDecoder DtAggPublisherDecoder;
00022 #endif
00023 
00024 class DtExtAggregateStateRepository;
00025 class DtEntityType;
00026 class DtBaseEntityStateRepository;
00027 
00032 class DT_DLL_vrfExtObjects DtVrfAggregatePublisher
00033 {
00034 public:
00035    typedef DtAggregateStateRepository* (*MyStateRepCreator)();
00036 
00037 public:
00044    DtVrfAggregatePublisher(
00045       const DtEntityType& type,
00046       DtExerciseConn* conn,
00047       const DtGlobalObjectDesignator& id = DtVrfObjectIdGenerator::nullId()
00048       );
00049 
00051    virtual ~DtVrfAggregatePublisher();
00052 
00053 public:
00056    virtual void addEntity(const DtBaseEntityStateRepository*);
00057    virtual void removeEntity(const DtBaseEntityStateRepository*);
00058 
00059    virtual void addAggregate(const DtBaseEntityStateRepository*);
00060    virtual void removeAggregate(const DtBaseEntityStateRepository*);
00061 
00062 public:
00069    virtual void tick();
00070 
00073    virtual DtExtAggregateStateRepository* aggregateProcessStateRep();
00074    virtual DtExtAggregateStateRepository* aggregateStateRep();
00075 
00077    virtual DtExtAggregateStateRepository* agsr();
00078 
00079 #ifdef DtHLA
00080 
00081 
00082 
00083    virtual DtAggPublisherDecoder* decoder();
00084 
00087    virtual DtAggPublisherEncoder* encoder();
00088 #endif
00089 
00091    virtual const DtObjectId& id() const;
00092 
00094    virtual const DtObjectId& localId() const;
00095 
00097    virtual const DtGlobalObjectDesignator& globalId() const;
00098 
00101    virtual void forceUpdate();
00102 
00103 protected:
00104 #ifdef DtDIS
00105 
00106 
00107    virtual void sendFinalPdu();
00108 #endif
00109 
00110 private:
00112    DtVrfAggregatePublisher(const DtVrfAggregatePublisher&);
00113    DtVrfAggregatePublisher& operator=(const DtVrfAggregatePublisher&);
00114 
00115 protected:
00116    DtAggregatePublisher*   myPublisher;
00117 };
00118 
00119 #endif

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)