VR-Forces 4.0.4 Class Documentation
include/vrvVrl/DtVrlinkRadioTransmitterStateInterceptor.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/DtVrlinkRadioTransmitterStateListener.h>
00017 
00018 #include <vl/radioXmitSR.h>
00019 
00020 namespace makVrv
00021 {
00022 
00023    namespace DT_PROTOCOL_NAMESPACE
00024    {
00025 
00026       class DtVrlinkConnection;
00027       class DtVrlinkRadioTransmitterStateListener;
00028 
00031       class DL_DLL_IGCONVRLINK DtVrlinkRadioTransmitterStateInterceptor
00032          : public DtRadioTransmitterRepository
00033       {
00034       public:
00035 
00037          virtual ~DtVrlinkRadioTransmitterStateInterceptor();
00038 
00040          virtual DtVrlinkRadioTransmitterStateListener* transmitterStateListener();
00041 
00042          // @name DtRadioTransmitterRepository functions
00043          // @{
00044 
00046          virtual void setAntennaPattern( const DtAntennaPatternRecord& rec );
00047 
00049          virtual void setAntennaPatternType( DtAntennaPatternType pattern );
00050 
00052          virtual void setCryptoKeyId( DtU16 key );
00053 
00055          virtual void setCryptoMode( DtCryptoMode mode );
00056 
00058          virtual void setCryptoSystem( DtRadioCryptoSystem system );
00059 
00061          virtual void setDetailedModulationType( DtDetailedModulationType modulation );
00062 
00064          virtual void setFrequency( unsigned long upper, unsigned long lower );
00065          virtual void setFrequency( unsigned long freq );
00066 
00068          virtual void setStreamTag( unsigned long upper, unsigned long lower );
00069          virtual void setStreamTag( unsigned long st );
00070 
00072          virtual void setFrequencyBandwidth( DtFloat32 bandwidth );
00073 
00075          virtual void setFrequencyHopInUse( bool hopInUse );
00076 
00078          virtual void setInputSource( DtRadioInputSource source );
00079 
00081          virtual void setModulationParams( const void *networkRepresentation, DtU8 size );
00082 
00084          virtual void setMajorModulationType( DtRadioMajorModulation modulation );
00085 
00087          virtual void setModulationSystemType( DtRadioSystem system );
00088 
00090          virtual void setPower( DtFloat32 power );
00091 
00093          virtual void setPseudoNoiseSpectrumInUse( bool inUse );
00094 
00096          virtual void setRadioId( unsigned int number );
00097 
00099          virtual void setRadioEntityType( const DtRadioEntityType& type );
00100 
00102          virtual void setTimeHopInUse( bool inUse );
00103 
00105          virtual void setTransmitState( DtRadioTransmitState state );
00106 
00108          virtual void setWorldAntennaLoc( const DtVector& location );
00109 
00112          virtual void setRelativeAntennaLoc( const DtVector& location );
00113 
00117          virtual void setSpreadSpectrumType( DtSpreadSpectrumType ty );
00118 
00120          virtual void setFHNetId( DtU16 id );
00121 
00123          virtual void setHopSetId( DtU16 id );
00124 
00126          virtual void setLockoutSetId( DtU16 id );
00127 
00129          virtual void setTransmissionSecurityKey( DtU16 key );
00130 
00132          virtual void setFHSynchronizationTimeOffset( DtU32 id );
00133 
00135          virtual void setClearChannel( DtU8 chan );
00136 
00138          virtual void setStartOfMessage( DtStartMessage mess );
00139 
00141          virtual void setFidelityLevel( DtU16 level );
00142 
00146          virtual void setCommunicationMode( DtLink16CommunicationMode mode );
00147 
00149          virtual void setPrimaryMode( DtU16 mode );
00150 
00152          virtual void setSecondaryMode( DtU16 mode );
00153 
00155          virtual void setSynchronizationState( DtU16 val );
00156 
00158          virtual void setNetworkSynchronizationId( int val );
00159 
00160          // @}
00161 
00162          // @name DtEmbeddedSystemRepository functions
00163          // @{
00164 
00166          virtual void setEntityId( const DtEntityIdentifier& id );
00167 
00169          virtual void setHostId( const DtGlobalObjectDesignator& id );
00170 
00172          virtual void setRelativePosition( const DtVector& position );
00173 
00174          // @}
00175 
00176       private:
00177 
00179          DtVrlinkRadioTransmitterStateInterceptor( const DtVrlinkRadioTransmitterStateInterceptor& orig );
00180 
00182          DtVrlinkRadioTransmitterStateInterceptor& operator = ( const DtVrlinkRadioTransmitterStateInterceptor& orig );
00183 
00186          virtual DtStateRepository* clone( bool copy = false ) const;
00187 
00188       protected:
00189 
00190          friend class DtVrlinkRadioTransmitterStateInterceptorCreator;
00191 
00194          DtVrlinkRadioTransmitterStateInterceptor( DtVrlinkRadioTransmitterStateListener* listener );
00195 
00196       protected:
00197 
00198          DtVrlinkRadioTransmitterStateListener* myRadioTransmitterStateListener;
00199 
00200       };
00201 
00202 
00205       class DL_DLL_IGCONVRLINK DtVrlinkRadioTransmitterStateInterceptorCreator
00206          : public DtVirtualBaseClass
00207       {
00208       public:
00209 
00211          static DtVrlinkRadioTransmitterStateInterceptorCreator& instance(
00212             DtVrlinkConnection& sim );
00213 
00215          virtual ~DtVrlinkRadioTransmitterStateInterceptorCreator();
00216 
00218          virtual DtVrlinkRadioTransmitterStateInterceptor* create(
00219             DtVrlinkRadioTransmitterStateListener* listener );
00220 
00221       protected:
00222 
00224          DtVrlinkRadioTransmitterStateInterceptorCreator();
00225 
00226       };
00227 
00228    }
00229 }

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)