VR-Forces 4.0.4 Class Documentation
include/vrvVrl/DtVrlinkEmitterStateInterceptor.h
Go to the documentation of this file.
00001 /*****************************************************************************
00002  * Copyright (c) 2012 MAK Technologies, Inc.
00003  * All rights reserved.
00004  *****************************************************************************/
00005 
00009 
00010 #pragma once
00011 
00012 #ifndef DT_PROTOCOL_NAMESPACE
00013 #error Namespace Protocol Macro DT_PROTOCOL_NAMESPACE not defined.
00014 #endif
00015 
00016 #include <vrvVrl/DtVrlinkEmitterStateListener.h>
00017 
00018 #include <vl/emitterSysSR.h>
00019 
00020 namespace makVrv
00021 {
00022 
00023    namespace DT_PROTOCOL_NAMESPACE
00024    {
00025 
00026       class DtVrlinkConnection;
00027       class DtVrlinkEmitterStateListener;
00028 
00033       class DL_DLL_IGCONVRLINK DtVrlinkEmitterStateInterceptor
00034          : public DtEmitterSystemRepository
00035       {
00036       public:
00037 
00039          virtual ~DtVrlinkEmitterStateInterceptor();
00040 
00042          virtual DtVrlinkEmitterStateListener* emitterStateListener();
00043 
00044          // @name DtEmitterSystemRepository functions
00045          // @{
00046 
00048          virtual void setEmitterFunction( DtEmissionFunc function );
00049 
00051          virtual void setEmitterName( DtEmitterSysName name );
00052 
00054          virtual void setEmitterNumber( DtU8 number );
00055 
00057          virtual void setEventId( const DtEventId& id );
00058 
00060          virtual DtEmitterBeamRepository* addBeam( DtU8 beamId, DtBeamType type, DtEmitterSysRetCode *retcode );
00061 
00063          virtual DtEmitterSysRetCode removeBeam( DtU8 beamId );
00064 
00065 #if DtHLA
00066 
00067          virtual DtEmitterSysRetCode removeBeam( const DtGlobalObjectDesignator& id );
00068 #endif
00069 
00070          // @}
00071 
00072          // @name DtEmbeddedSystemRepository functions
00073          // @{
00074 
00076          virtual void setEntityId( const DtEntityIdentifier& id );
00077 
00079          virtual void setHostId( const DtGlobalObjectDesignator& id );
00080 
00082          virtual void setRelativePosition( const DtVector& position );
00083 
00084          // @}
00085 
00086       protected:
00087 
00089          virtual void beamRemovedByDelete( DtEmitterBeamRepository* );
00090 
00091       private:
00092 
00094          DtVrlinkEmitterStateInterceptor( const DtVrlinkEmitterStateInterceptor& orig );
00095 
00097          DtVrlinkEmitterStateInterceptor& operator = ( const DtVrlinkEmitterStateInterceptor& orig );
00098 
00101          virtual DtStateRepository* clone( bool copy = false ) const;
00102 
00103       protected:
00104 
00105          friend class DtVrlinkEmitterStateInterceptorCreator;
00106 
00109          DtVrlinkEmitterStateInterceptor( DtVrlinkEmitterStateListener* listener );
00110 
00111       protected:
00112 
00113          DtVrlinkEmitterStateListener* myEmitterStateListener;
00114 
00115       };
00116 
00117 
00120       class DL_DLL_IGCONVRLINK DtVrlinkEmitterStateInterceptorCreator : public DtVirtualBaseClass
00121       {
00122       public:
00123 
00125          static DtVrlinkEmitterStateInterceptorCreator& instance( DtVrlinkConnection& sim );
00126 
00128          virtual ~DtVrlinkEmitterStateInterceptorCreator();
00129 
00131          virtual DtVrlinkEmitterStateInterceptor* create( DtVrlinkEmitterStateListener* listener );
00132 
00133       protected:
00134 
00135          DtVrlinkEmitterStateInterceptorCreator();
00136 
00137       };
00138 
00139    }
00140 }

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)