![]() |
VR-Forces 4.0.4 Class Documentation
|
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 }