38 lines
809 B
C++
38 lines
809 B
C++
/* -----------------------------------------------------------------------------
|
|
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__
|