VR-Link API Documentation for DIS
hSignalInter.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 1992-2010 VT MAK
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 
00006 #ifndef hSignalInter_H_
00007 #define hSignalInter_H_
00008 
00009 #if DtHLA 
00010 
00011 
00012 #include <vlutil/vlMachineTypes.h>
00013 #include "hIntWEncDec.h"
00014 #include "hostStructs.h"
00015 
00019 
00020 class DtSignalInteraction;
00021 class DtExerciseConn;
00022 
00023 #ifndef DT_ENUM_LONG_WORD_PORTION
00024 #define DT_ENUM_LONG_WORD_PORTION
00025 enum DtLongWordPortion
00026 {
00027    DtUpperWord,
00028    DtLowerWord
00029 };
00030 #endif
00031 
00032 
00033 
00035 typedef void (*DtSignalInteractionCb)
00036    (DtSignalInteraction* inter, void* usr);
00037 
00042 class DT_DLL_VL DtSignalInteraction : public DtInteractionWithEncDec
00043 {
00044 public:
00046    DtSignalInteraction();
00047 
00049    virtual ~DtSignalInteraction();
00050 
00052    DtSignalInteraction(const DtSignalInteraction& orig);
00053 
00055    DtSignalInteraction& operator=(const DtSignalInteraction& orig);
00056 
00058    virtual void printData() const;
00059 
00061    virtual void printDataToStream(std::ostream& stream) const;
00062 
00064 
00065 
00066 
00067 
00068    virtual void setRadioId(const DtGlobalObjectDesignator& id);
00069    virtual const DtGlobalObjectDesignator& radioId() const;
00071 
00073 
00074    virtual void setSampleRate(DtU32 rate);
00075    virtual DtU32 sampleRate() const;
00077 
00079    virtual void setNumSamples(DtU32 count);
00080    virtual DtU32 numSamples() const;
00081 
00083 
00084    virtual void setNumDataBytes(DtU16 len);
00085    virtual DtU16 numDataBytes() const;
00087 
00089 
00090    virtual void setNumDataBits(DtU16 len);
00091    virtual DtU16 numDataBits() const;
00093 
00095 
00096    virtual void setData(const void* data, int numBytes);
00097    virtual const void* data() const;
00099 
00101 
00102    virtual DtU8 dataByte(int byteNum) const;
00103    virtual void setDataByte(int byteNum, DtU8 data);
00105 
00107    virtual void setTdlType(DtTacticalDataLinkType link);
00108    virtual DtTacticalDataLinkType tdlType() const;
00109   
00111 
00112    virtual void setEncodingType(DtEncodingType encoding);
00113    virtual DtEncodingType encodingType() const;
00115 
00117 
00118 
00119    virtual DtEncodingClass encodingClass() const;
00120    virtual void setEncodingClass(DtEncodingClass encodingClass);
00122 
00124 
00125 
00126 
00127    virtual void setTdlMessageCount(DtU16 count);
00128    virtual DtU16 tdlMessageCount() const;
00130 
00132 
00133 
00134 
00135 
00136 
00137    virtual void setProtocolId(DtUserProtocol id);
00138    virtual DtUserProtocol protocolId() const;
00140 
00142 
00143 
00144 
00145 
00146    virtual void setDatabaseIndex(DtU32 index);
00147    virtual DtU32 databaseIndex() const;
00149 
00151 
00152 
00153 
00154 
00155    virtual void setDuration(DtU32 duration);
00156    virtual DtU32 duration() const;
00158 
00160 
00161 
00162 
00163 
00164 
00165    virtual void setStartOffset(DtU32 offset);
00166    virtual DtU32 startOffset() const;
00168 
00170 
00171 
00172 
00173    virtual void setStreamTag(unsigned long upper, unsigned long lower);
00174    virtual void setStreamTag(unsigned long st);
00176  
00180    virtual unsigned long streamTag(
00181       DtLongWordPortion upperLower = DtLowerWord) const;
00182 
00184    virtual const char* name() const;
00185 
00186 public:
00187 
00190    static DtInteraction* create();
00191 
00194    static void addCallback(DtExerciseConn* conn,
00195       DtSignalInteractionCb cb, void* usr,
00196       DtDDMRegionSP region = DtDDMRegionSP());
00197    static void removeCallback(DtExerciseConn* conn,
00198       DtSignalInteractionCb cb, void* usr,
00199       DtDDMRegionSP region = DtDDMRegionSP());
00200 
00201 protected:
00202 
00203    DtGlobalObjectDesignator     myHostRadioId;
00204    DtU16          mySignalDataLength;   
00205    DtU8*          mySignalData;
00206    DtTacticalDataLinkType  myTacticalDataLink;
00207    DtU16          myTDLMessageCount;
00208    DtUserProtocol myUserProtocolId;
00209    DtU32          myDatabaseIndex;
00210    DtU32          myDuration;
00211    DtU32          myStartOffset;
00212    DtEncodingType myEncodingType;
00213    DtEncodingClass myEncodingClass;
00214    DtU32          mySampleRate;
00215    DtU32          mySampleCount;
00216 
00218    DtU32   myStreamTagHi;
00219    DtU32   myStreamTagLo;
00220 };
00221 
00222 #endif   //DtHLA
00223 
00224 #endif   //DtSignalInteraction_H_
00225 

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)