![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 1999 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: msgTypes.h,v $ $Revision: 1.46 $ $State: Exp $ 00007 *******************************************************************************/ 00008 #ifndef msgTypes_H_ 00009 #define msgTypes_H_ 00010 00011 // 00012 // \file msgTypes.h 00013 // \brief Defines constants for names of message related types. 00014 // 00015 00016 #include <vlpi/disEnums.h> 00017 #include <vrfExtProtocol/vrfExtProtocolDefines.h> 00018 00019 // Defines the safe range of values toolkit users can use for their own custom 00020 // interface messages (derived DtSimInterfaceContent types). 00021 #define MIN_USER_INTERFACE_MESSAGE_TYPE 200 00022 #define MAX_USER_INTERFACE_MESSAGE_TYPE 900 00023 00024 // Basic message types - these are used to distinguish radio messages 00025 // from interface messages. 00026 const int DtUnknownMessageType = 0; 00027 const int DtVrfObjectMessageType = 1; 00028 // \deprecated Same as DtVrfObjectMessageType. 00029 const int DtRadioMessageType = DtVrfObjectMessageType; 00030 const int DtInterfaceMessageType = 2; 00031 00032 // Radio message types - these are used to distinguish task radio messages 00033 // from report radio messages. 00034 const int DtUnknownRadioMessageType = 0; 00035 const int DtTaskMessageType = 1; 00036 const int DtReportMessageType = 2; 00037 const int DtSetDataRequestMessageType = 3; 00038 const int DtAdminMessageType = 4; 00039 00040 // The DtDatumParam enum is used to specify either an interface message kind or a 00041 // session ID inside a DataInteraction. For interface messages, the enum value 00042 // will be between 260000 and 261000. For the session ID, we will use 261001. For 00043 // the message version, we will use 361002 00044 00045 const DtDatumParam DtDatumSessionId = DtDatumParam(261001); 00046 const DtDatumParam DtDatumVrfMessageVersionId = DtDatumParam(261002); 00047 00048 // Interface content message names; for all intents and purposes, interface 00049 // messages are named after their content, so we call these mesage names, not 00050 // just content names. Use interface content message names to register 00051 // callbacks with interface message executives. 00052 00053 // The DtDatumParam used to specify interface message types in Data 00054 // Interactions is the message type plus this base. These two constants together 00055 // define a range of dataum params reserved to VR-Forces. 00056 00057 const DtDatumParam DtInterfaceMessageTypeDatumParamBase = DtDatumParam(260000); 00058 const DtDatumParam DtInterfaceMessageTypeDatumParamLast = DtDatumParam(261000); 00059 00060 const int DtUnknownInterfaceMessageType = 0; 00061 00062 const int DtCreateVrfObjectMessageType = 5; 00063 const int DtModifyVrfObjectMessageType = 6; 00064 const int DtDeleteVrfObjectMessageType = 7; 00065 const int DtVrfObjectCreatedMessageType = 8; 00066 const int DtRequestVrfObjectCreatedMessageType = 9; 00067 const int DtVrfObjectDeletedMessageType = 10; 00068 00069 const int DtDuplicateNameDetectedMessageType = 19; 00070 const int DtControlMessageType = 20; 00071 const int DtOverlayOpMessageType = 21; 00072 const int DtPlanOpMessageType = 22; 00073 const int DtOrderOfBattleOpMessageType = 23; 00074 // \deprecated DtSimTaskManager now calls DtVrfObjectPlanManager::awaitingTask 00075 const int DtAwaitingTaskMessageType__obsolete__ = 25; 00076 const int DtSkipTaskMessageType = 26; 00077 const int DtDeliverVrfObjectMessageType = 27; 00078 // \deprecated Use DtDeliverVrfObjectMessageType instead. 00079 const int DtDeliverRadioMessageType = DtDeliverVrfObjectMessageType; 00080 const int DtSetTimeMultiplierMessageType = 28; 00081 const int DtSetFrameModeMessageType = 29; 00082 const int DtSetRandomSeedMessageType = 30; 00083 const int DtFrameRateRequestMessageType = 31; 00084 const int DtFrameRateResponseMessageType = 32; 00085 const int DtAutoReorganizeMessageType = 33; 00086 const int DtReorganizeMessageType = 34; 00087 const int DtObsoleteAggregateAsMessageType = 35; // not used 00088 const int DtRequestPlanMessageType = 36; 00089 const int DtPlanMessageType = 37; 00090 const int DtRequestPlanStatementMessageType = 38; 00091 const int DtPlanStatementMessageType = 39; 00092 const int DtPlanCurStatementMessageType = 41; 00093 const int DtAbandonPlanMessageType = 42; 00094 const int DtSetBatchNumberMessageType = 43; // not used 00095 const int DtIfJoyDeviceRequestType = 44; 00096 const int DtExitMessageType = 45; 00097 const int DtObjectParametersOpMessageType = 46; 00098 const int DtTerrainOpMessageType = 47; 00099 const int DtLoadScenarioMessageType = 48; 00100 const int DtStatusRequestMessageType = 49; 00101 const int DtStatusMessageType = 50; 00102 const int DtCloseScenarioMessageType = 51; 00103 const int DtModifyOrganizationType = 52; 00104 const int DtOrganizationModifiedType = 53; 00105 const int DtAddToOrganizationType = 54; 00106 const int DtRemoveFromOrganizationType = 55; 00107 #ifndef UNDOCUMENTED 00108 // ~~~~~~~~Engineering Addition 00109 const int DtSpawnBreachMessageType = 56; 00110 #endif /* UNDOCUMENTED */ 00111 const int DtPlanResponseMessageType = 57; 00112 const int DtVrfObjectDataMessageType = 58; 00113 const int DtParentChangedMessageType = 59; 00114 const int DtInitConnectionMessageType = 60; 00115 const int DtObsoleteLoadScenarioMessageType = 61; 00116 const int DtLoadCompleteMessageType = 62; 00117 const int DtSaveScenarioMessageType = 63; 00118 const int DtSaveCompleteMessageType = 64; 00119 const int DtDeleteVrfObjectByIdMessageType = 65; 00120 const int DtAggregateAsMessageType = 66; 00121 const int DtModifyVrfOverlayMessageType = 67; 00122 const int DtSetThresholdsMessageType = 68; 00123 // Stealth messages are obsolete after VRF 3.9. 69-72 are here for legacy reasons only. 00124 const int DtStealthCompassMessageType = 69; 00125 const int DtStealthMimicMessageType = 70; 00126 const int DtStealthDetachMessageType = 71; 00127 const int DtStealthGroupMessageType = 72; 00128 const int DtResourceMonitorRequestMessageType = 73; 00129 const int DtCurrentResourceRequestMessageType = 74; 00130 const int DtResourceMonitorResponseMessageType = 75; 00131 const int DtEntityResourceResponseMessageType = 76; 00132 const int DtResourceNamesRequestMessageType = 77; 00133 const int DtResourceNamesResponseMessageType = 78; 00134 const int DtResourceMonitorEnableMessageType = 79; 00135 const int DtVrfObjectStateMessageType = 80; 00136 const int DtSetSubordinateOrderType = 81; 00137 const int DtQuerySpatialSubdivisionConfigurationType = 82; 00138 const int DtSpatialSubdivisionConfigurationType = 83; 00139 const int DtSetSpatialSubdivisionConfigurationType = 84; 00140 const int DtEmbarkObjectMessageType = 85; 00141 const int DtDisembarkObjectMessageType = 86; 00142 const int DtEmbarkationInformationRequestType = 87; 00143 const int DtEmbarkationInformationType = 88; 00144 const int DtSensorDataMessageType = 89; 00145 const int DtSensorDataRequestMessageType = 90; 00146 const int DtSensorDataUnsubscribeMessageType = 91; 00147 // Not used. 00149 const int DtObsoleteSetObjectNotifyLevelType = 92; 00150 const int DtObsoleteLogObjectConsoleToFileType = 93; 00151 const int DtObsoleteStopLogObjectConsoleToFileType = 94; 00153 const int DtCapableTaskAndSetQueryType = 95; 00154 const int DtCapableTaskAndSetResponseType = 96; 00155 // New type for old created message 00156 const int DtVrfObjectCreatedV2MessageType = 97; 00157 const int DtRequestGlobalPlanListMessageType = 98; 00158 const int DtGlobalPlanListMessageType = 99; 00159 const int DtRequestGlobalPlanMessageType = 100; 00160 const int DtDeletePlanMessageType = 101; 00161 const int DtRadioMessageReceivedMessageType = 102; 00162 00163 const int DtMultiplePlanRequestMessageType = 103; 00164 const int DtMultiplePlanResponseMessageType = 104; 00165 const int DtMultiplePlanSetMessageType = 105; 00166 const int DtPluginDataMessageType = 106; 00167 const int DtPluginDataRequestMessageType = 107; 00168 const int DtRestartPlanMessageType = 108; 00169 00170 const int DtDIGuyAppearAndAnimationsQueryType = 109; 00171 const int DtDIGuyAppearAndAnimationsResponseType = 110; 00172 00173 const int DtIndirectArtilleryMessageType = 111; 00174 00175 const int DtRequestHostilityMatrixMessageType=112; 00176 const int DtSetHostilityMatrixMessageType=113; 00177 const int DtHostilityMatrixMessageType=114; 00178 const int DtRequestForceHostilityMessageType=115; 00179 const int DtSetForceHostilityMessageType=116; 00180 const int DtForceHostilityMessageType=117; 00181 const int DtExecuteSimCommandMessageType=118; 00182 00183 const int DtModifySettingMessageType = 119; 00184 const int DtRequestSettingMessageType = 120; 00185 const int DtSettingMessageType = 121; 00186 00187 const int DtSubordinateListMessageType = 122; 00188 const int DtSubordinateListRequestMessageType = 123; 00189 00190 const int DtSplitContentType = 124; 00191 00192 const int DtSwitchSystemResponseMessageType = 125; 00193 00194 const int DtIfObjectIndexMessageType = 126; 00195 00197 const int DtServerMessageType = 127; 00198 00201 //const int DtScenarioDescriptionMessageType = 128; 00202 00203 // This integer is only used by the entity publisher and entity reflected list to handle 00204 // requests for object data messages 00205 const int DtRequestVrfObjectData = 24326; 00206 const int DtVrfObjectDataType = 24327; 00207 00208 // These are aliases for back compatibility 00209 const int DtModifyControlObjectMessageType = DtModifyVrfObjectMessageType; 00210 const int DtModifyControlAreaMessageType = DtModifyVrfObjectMessageType; 00211 const int DtModifyControlPointMessageType = DtModifyVrfObjectMessageType; 00212 const int DtModifyRouteMessageType = DtModifyVrfObjectMessageType; 00213 const int DtModifyPhaseLineMessageType = DtModifyVrfObjectMessageType; 00214 const int DtModifyGroundObstacleMessageType = DtModifyVrfObjectMessageType; 00215 const int DtRemoveEntityMessageType = DtDeleteVrfObjectMessageType; 00216 const int DtRemoveControlObjectMessageType = DtDeleteVrfObjectMessageType; 00217 const int DtEntityNameMessageType = DtVrfObjectCreatedMessageType; 00218 const int DtCreateEntityMessageType = DtCreateVrfObjectMessageType; 00219 const int DtCreateControlObjectMessageType = DtCreateVrfObjectMessageType; 00220 const int DtCreatePhaseLineMessageType = DtCreateVrfObjectMessageType; 00221 const int DtCreateRouteMessageType = DtCreateVrfObjectMessageType; 00222 const int DtCreateControlAreaMessageType = DtCreateVrfObjectMessageType; 00223 const int DtCreateControlPointMessageType = DtCreateVrfObjectMessageType; 00224 const int DtCreateGroundObstacleMessageType = DtCreateVrfObjectMessageType; 00225 const int DtCreateTargetPointMessageType = DtCreateVrfObjectMessageType; 00226 const int DtRequestEntityNameMessageType = DtRequestVrfObjectCreatedMessageType; 00227 const int DtEntityParametersOpMessageType = DtObjectParametersOpMessageType; 00228 00229 // Control messages contain a control type; more will probably be added. 00230 const int DtUnknownControlType = 0; 00231 const int DtPauseControlType = 1; 00232 const int DtRunControlType = 2; 00233 const int DtRunDurationControlType = 3; 00234 const int DtRunCompleteControlType = 4; 00235 const int DtRewindControlType = 5; 00236 const int DtStepControlType = 6; 00237 00238 // These are used in the different file operation messages; more will probably 00239 // be added. 00240 const int DtUnknownFileOpType = 0; 00241 const int DtReadFileOpType = 1; 00242 const int DtWriteFileOpType = 2; 00243 00244 // These are used for the different frame modes in the frame mode message. 00245 enum DtFrameMode 00246 { 00247 DtUnknownFrameModeType, 00248 DtVariableFrameModeType, 00249 DtFixedFrameModeType, 00250 DtFixedFrameRunToCompleteModeType 00251 }; 00252 00253 const char DtUnknownFrameModeTypeString[] = "unknown-frame"; 00254 const char DtVariableFrameModeTypeString[] = "variable-frame"; 00255 const char DtFixedFrameModeTypeString[] = "fixed-frame"; 00256 const char DtFixedFrameRunToCompleteModeTypeString[] = "fixed-frame-run-to-complete"; 00257 00258 // Task message contents are tasks, whose names are defined in taskTypes.h. 00259 00260 // Type printing functions 00261 DT_DLL_vrfExtProtocol extern const char* DtFrameModeTypeString(DtFrameMode type); 00262 DT_DLL_vrfExtProtocol extern const char* DtFileOpTypeString(int type); 00263 DT_DLL_vrfExtProtocol extern const char* DtInterfaceContentTypeString(int type); 00264 DT_DLL_vrfExtProtocol extern const char* DtControlTypeString(int type); 00265 DT_DLL_vrfExtProtocol extern const char* DtRadioMessageTypeString(int type); 00266 DT_DLL_vrfExtProtocol extern const char* DtMessageTypeString(int type); 00267 00268 #endif 00269