Show
Ignore:
Timestamp:
05/28/09 15:29:20 (4 years ago)
Author:
robert
Message:

From Gregory Jaegy and Robert Osfield, added support for static linking of OpenFlight? plugin

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • OpenSceneGraph/trunk/src/osgPlugins/OpenFlight/Registry.h

    r8003 r10283  
    123123}; 
    124124 
     125////////////////////////////////////////////////////////////////////////// 
     126 
     127extern "C" 
     128{ 
     129    typedef void (* CRecordFunction) (void); 
     130} 
     131 
     132struct RecordFunctionProxy 
     133{ 
     134    RecordFunctionProxy(CRecordFunction function) { (function)(); } 
     135}; 
     136 
     137#define USE_FLTRECORD(recname, opcode) \ 
     138    extern "C" void osgfltrec_##recname_##opcode(void); \ 
     139    static flt::RecordFunctionProxy proxy_fltrecord_##recname_##opcode(osgfltrec_##recname_##opcode); 
     140 
     141#define REGISTER_FLTRECORD(recname, opcode) \ 
     142    extern "C" void osgfltrec_##recname_##opcode(void) {} \ 
     143    static flt::RegisterRecordProxy<recname> g_proxy_fltrecord_##recname_##opcode(opcode); 
     144 
     145 
    125146} // end namespace 
    126147