MAK RTIspy API Documentation for HLA 1.3
RTI13.h
Go to the documentation of this file.
00001 //File RTI13.h
00002 
00003 #ifndef RTI13_h
00004 #define RTI13_h
00005 
00006 // Identification of the API version number.  
00007 #define HLA_SPECIFICATION_NAME "1.3"     
00008 #define HLA_API_MAJOR_VERSION 7   
00009 #define HLA_API_MINOR_VERSION 0   
00010 
00011 #if defined(_WIN32)
00012 #if defined(_MSC_VER) && defined(RTI_DISABLE_WARNINGS)
00013 // disable warning about exceptions not being part of a method's signature
00014 #pragma warning(disable: 4290)
00015 // disable warnings about a "dllexport" class using a regular class
00016 #pragma warning(disable: 4251)
00017 #endif
00018 //
00019 // On Windows, BUILDING_RTI should be defined only when compiling 
00020 // the RTI DLL (i.e. by RTI developers).  BUILDING_FEDTIME should 
00021 // be defined only when building a libfedtime DLL.  STATIC_RTI
00022 // should be defined when building a static (non-DLL) RTI library,
00023 // or when building a federate that wants to statically link to
00024 // an RTI library.  STATIC_FEDTIME should be defined when building 
00025 // a static (non-DLL) fedtime library, or when building a federate 
00026 // that wants to statically link to a fedtime library.
00027 //
00028 #if defined(STATIC_RTI)
00029 #define RTI_EXPORT
00030 #else
00031 #if defined(BUILDING_RTI)
00032 // define the proper qualifiers to import/export symbols from/to DLL
00033 #define RTI_EXPORT __declspec(dllexport)
00034 #else // !BUILDING_RTI
00035 #define RTI_EXPORT __declspec(dllimport)
00036 #endif // BUILDING_RTI
00037 #endif // STATIC_RTI
00038 
00039 #if defined(STATIC_FEDTIME)
00040 #define RTI_EXPORT_FEDTIME
00041 #else
00042 #if defined(BUILDING_FEDTIME)
00043 // define the proper qualifiers to import/export symbols from/to DLL
00044 #define RTI_EXPORT_FEDTIME __declspec(dllexport)
00045 #else // !BUILDING_FEDTIME
00046 #define RTI_EXPORT_FEDTIME __declspec(dllimport)
00047 #endif // BUILDING_FEDTIME
00048 #endif // STATIC_FEDTIME
00049 
00050 #else // !WIN32
00051 // no special qualfifers are necessary on non-WIN32 platforms
00052 #define RTI_EXPORT
00053 #define RTI_EXPORT_FEDTIME
00054 #endif
00055 
00056 //
00057 // On platforms that support both the standard C++ version of 
00058 // ostream (std::ostream), and the legacy ostream in the global 
00059 // namespace, an RTI library will contain two versions of each 
00060 // RTI function that relies on the ostream class.  This allows 
00061 // federates to work with either new or old ostreams.  When a 
00062 // federate includes RTI header files, it should define 
00063 // RTI_USES_STD_FSTREAM if and only if it is using std::ostream,
00064 // and therefore wishes to use the std::ostream versions of these 
00065 // RTI functions.
00066 //
00067 #ifdef RTI_USES_STD_FSTREAM
00068 #include <fstream>
00069 #define RTI_STD std
00070 #else
00071 #include <fstream.h>
00072 #define RTI_STD /* nothing */
00073 #endif
00074 
00075 #include "baseTypes13.h"
00076 #include "RTItypes13.h"
00077 
00078 namespace rti13 
00079 {
00080   struct RTIambPrivateRefs;
00081   struct RTIambPrivateData;
00082 
00083 // Vendor-specific name and version of the RTI implementation
00084   const char *RTIname(); 
00085   const char *RTIversion(); // identical to MOM attributes of same name
00086 
00087   class RTI_EXPORT RTIambassador {
00088   public:
00089 #include "RTIambServices13.h"
00090     RTIambPrivateData* privateData;
00091   private:
00092     RTIambPrivateRefs* privateRefs;
00093   };
00094 
00095   class RTI_EXPORT FederateAmbassador {
00096   public:
00097 #include "federateAmbServices13.h"
00098   };
00099 } // End of namespace rti13
00100 
00101 RTI_STD::ostream RTI_EXPORT & 
00102 operator << (RTI_STD::ostream &, rti13::Exception *);
00103 
00104 RTI_STD::ostream RTI_EXPORT & 
00105 operator << (RTI_STD::ostream &, rti13::Exception const &);
00106 
00107 RTI_STD::ostream RTI_EXPORT & 
00108 operator << (RTI_STD::ostream &, const rti13::FedTime &);
00109 
00110 #endif // RTI13_h

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)