![]() |
MAK RTIspy API Documentation for HLA 1.3
|
00001 //File RTI.hh 00002 00003 #ifndef RTI_hh 00004 #define RTI_hh 00005 00006 #if defined(_WIN32) 00007 // disable warning about exceptions not being part of a method's signature 00008 #pragma warning(disable: 4290) 00009 // disable warnings about deriving a "dllexport" class from a regular class 00010 #pragma warning(disable: 4275) 00011 #pragma warning(disable: 4251) 00012 #if defined(BUILDING_RTI) 00013 // define the proper qualifiers to import/export symbols from/to DLL 00014 #define RTI_EXPORT __declspec(dllexport) 00015 #else // !BUILDING_RTI 00016 #define RTI_EXPORT __declspec(dllimport) 00017 #endif // BUILDING_RTI 00018 #if defined(BUILDING_FEDTIME) 00019 // define the proper qualifiers to import/export symbols from/to DLL 00020 #define RTI_EXPORT_FEDTIME __declspec(dllexport) 00021 #else // !BUILDING_RTI 00022 #define RTI_EXPORT_FEDTIME __declspec(dllimport) 00023 #endif // BUILDING_FEDTIME 00024 #else // !WIN32 00025 // no special qualfifers are necessary on non-WIN32 platforms 00026 #define RTI_EXPORT 00027 #define RTI_EXPORT_FEDTIME 00028 #endif 00029 00030 00031 // 00032 // This was modified for the RTI 1.3NG to allow the use the Standard C++ fstream 00033 // header file or to use of the legacy fstream.h header file. The issue 00034 // concerns whether ostream is in the global namespace or in namespace std. 00035 // 00036 #ifdef RTI_USES_STD_FSTREAM 00037 #include <fstream> 00038 #define RTI_STD std 00039 #else 00040 #include <fstream.h> 00041 #define RTI_STD /* nothing */ 00042 #endif 00043 00044 // 00045 // This has been commented out for the RTI 1.3NG due to an inconvenient naming 00046 // collision between struct exception {}; in math.h and the common 00047 // implementation of the standard C++ exception class with the Sun 4.2 C++ 00048 // compiler 00049 // 00050 // #include <math.h> 00051 00052 struct RTIambPrivateRefs; 00053 struct RTIambPrivateData; 00054 00055 class RTI { 00056 00057 public: 00058 #include "baseTypes.hh" 00059 #include "RTItypes.hh" 00060 00061 class RTI_EXPORT RTIambassador { 00062 public: 00063 #include "RTIambServices.hh" 00064 RTIambPrivateData* privateData; 00065 private: 00066 RTIambPrivateRefs* privateRefs; 00067 }; 00068 00069 class RTI_EXPORT FederateAmbassador { 00070 public: 00071 #include "federateAmbServices.hh" 00072 }; 00073 }; 00074 00075 // 00076 // RTI_STD was added for the RTI 1.3NG to allow the use of the Standard C++ 00077 // ostream or to use the legacy ostream. The issue concerns whether ostream 00078 // is in the global namespace or in namespace std. 00079 // 00080 // Moved from basetypes.hh to this file in order to avoid the 'using' statement 00081 // for these operators 00082 00083 RTI_STD::ostream RTI_EXPORT & 00084 operator << (RTI_STD::ostream &, RTI::Exception *); 00085 00086 RTI_STD::ostream RTI_EXPORT & 00087 operator << (RTI_STD::ostream &, RTI::Exception const &); 00088 00089 #endif