MAK RTIspy API Documentation for HLA 1516
RTI.hh
Go to the documentation of this file.
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

Document ID: Generated on Thu Jun 14 14:15:04 EDT 2012 from SVN revision 116116
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)