/* ----------------------------------------------------------------------------- GSFramework Copyright 2001-2013 Emmanuel Julien. All Rights Reserved. ----------------------------------------------------------------------------- */ #ifndef __SHARED_SYSTEMS__ #define __SHARED_SYSTEMS__ namespace GS { class Platform; class AudioIO; class PictureIO; class LogSystem; class SharedSystems { Platform *platform; LogSystem *log_system; PictureIO *picture_io; AudioIO *audio_io; public: /// Call from the master module responsible for instantiating plugins. void Get(); /// Call from a dynamically module to share the master module systems. void Set(); SharedSystems() : platform(0), log_system(0), picture_io(0), audio_io(0) { Get(); } }; } // GS #endif // __SHARED_SYSTEMS__