Sourceforge.net - The VCF's Project Host
   The VCF Website Home   |   Online Discussion Forums   |   Sourceforge.net Project Page   

VCF::SystemToolkit Class Reference

The SystemToolkit is and abstract class used to create or get access to basic system peer instances, like threads, processes, etc. More...

#include <vcf/FoundationKit/SystemToolkit.h>

Inheritance diagram for VCF::SystemToolkit:

VCF::LinuxSystemToolkit VCF::OSXSystemToolkit VCF::Win32SystemToolkit List of all members.

Static Public Member Functions

static SystemToolkitcreate ()
static void terminate ()
static ProcessPeercreateProcessPeer (Process *process)
 creates a new ProcessPeer instance
static ProcessIORedirectionPeercreateProcessIORedirectionPeer (ProcessWithRedirectedIO *process)
static ThreadPeercreateThreadPeer (Thread *thread, bool mainThread)
 creates a new ThreadPeer instance
static ThreadManagerPeercreateThreadManagerPeer ()
static RunLoopPeercreateRunLoopPeer (RunLoop *runLoop)
static RunLoopTimerPeercreateRunLoopTimerPeer (RunLoopTimer *timer)
static RunLoopSourcePeercreateRunLoopSourcePeer (RunLoopSource *source)
static SystemPeercreateSystemPeer ()
 creates a new system peer
static SemaphorePeercreateSemaphorePeer (int32 initialCount=1, int32 maxCount=1)
static RegistryPeercreateRegistryPeer (Registry *registry)
static MutexPeercreateMutexPeer (Mutex *mutex)
static ConditionPeercreateConditionPeer (Condition *condition)
static LibraryPeercreateLibraryPeer (Library *library)
static FilePeercreateFilePeer (File *file)
static FileStreamPeercreateFileStreamPeer (const String &filename, const FileStreamAccessType &accessType)
static FileStreamPeercreateFileStreamPeer (File *file)
static LocalePeercreateLocalePeer ()
static ResourceBundlePeercreateResourceBundlePeer ()

Protected Member Functions

 SystemToolkit ()
virtual ~SystemToolkit ()
virtual ProcessPeerinternal_createProcessPeer (Process *process)=0
 creates a new ProcessPeer instance.
virtual ProcessIORedirectionPeerinternal_createProcessIORedirectionPeer (ProcessWithRedirectedIO *process)=0
 A port of the FoundationKit to a new platform requires a new class that derives from the SystemToolkit and implements this method.
virtual ThreadPeerinternal_createThreadPeer (Thread *thread, bool mainThread)=0
 creates a new ThreadPeer instance.
virtual ThreadManagerPeerinternal_createThreadManagerPeer ()=0
virtual RunLoopPeerinternal_createRunLoopPeer (RunLoop *runLoop)=0
virtual RunLoopTimerPeerinternal_createRunLoopTimerPeer (RunLoopTimer *timer)=0
virtual RunLoopSourcePeerinternal_createRunLoopSourcePeer (RunLoopSource *source)=0
virtual SystemPeerinternal_createSystemPeer ()=0
 creates a new system peer A port of the FoundationKit to a new platform requires a new class that derives from the SystemToolkit and implements this method.
virtual SemaphorePeerinternal_createSemaphorePeer (int32 initialCount=1, int32 maxCount=1)=0
 A port of the FoundationKit to a new platform requires a new class that derives from the SystemToolkit and implements this method.
virtual RegistryPeerinternal_createRegistryPeer (Registry *registry)=0
 A port of the FoundationKit to a new platform requires a new class that derives from the SystemToolkit and implements this method.
virtual MutexPeerinternal_createMutexPeer (Mutex *mutex)=0
 A port of the FoundationKit to a new platform requires a new class that derives from the SystemToolkit and implements this method.
virtual ConditionPeerinternal_createConditionPeer (Condition *condition)=0
 A port of the FoundationKit to a new platform requires a new class that derives from the SystemToolkit and implements this method.
virtual LibraryPeerinternal_createLibraryPeer (Library *library)=0
 A port of the FoundationKit to a new platform requires a new class that derives from the SystemToolkit and implements this method.
virtual FilePeerinternal_createFilePeer (File *file)=0
 A port of the FoundationKit to a new platform requires a new class that derives from the SystemToolkit and implements this method.
virtual FileStreamPeerinternal_createFileStreamPeer (const String &filename, const FileStreamAccessType &accessType)=0
 A port of the FoundationKit to a new platform requires a new class that derives from the SystemToolkit and implements this method.
virtual FileStreamPeerinternal_createFileStreamPeer (File *file)=0
 A port of the FoundationKit to a new platform requires a new class that derives from the SystemToolkit and implements this method.
virtual LocalePeerinternal_createLocalePeer ()=0
 A port of the FoundationKit to a new platform requires a new class that derives from the SystemToolkit and implements this method.
virtual ResourceBundlePeerinternal_createResourceBundlePeer ()=0

Static Protected Member Functions

static SystemToolkitgetSystemToolkit ()
 returns the one and only instance of the system toolkit

Static Protected Attributes

static SystemToolkitsystemToolkitInstance

Detailed Description

The SystemToolkit is and abstract class used to create or get access to basic system peer instances, like threads, processes, etc.

It is a singleton factory for the various platform specific peers that are required for the FoundationKit.

The SystemToolkit is a singleton and is not intended to be created or deleted directly. It is created as part of the FoundationKit::init() and deleted as part of the FoundationKit::terminate() call.

If you are porting to a new platform you will need to derive a new class from this one and provide implementations of the various internal_createXXXPeer methods.


Constructor & Destructor Documentation

VCF::SystemToolkit::SystemToolkit  )  [protected]
 

virtual VCF::SystemToolkit::~SystemToolkit  )  [protected, virtual]
 


Member Function Documentation

static SystemToolkit* VCF::SystemToolkit::create  )  [static]
 

static ConditionPeer* VCF::SystemToolkit::createConditionPeer Condition condition  )  [static]
 

static FilePeer* VCF::SystemToolkit::createFilePeer File file  )  [static]
 

static FileStreamPeer* VCF::SystemToolkit::createFileStreamPeer File file  )  [static]
 

static FileStreamPeer* VCF::SystemToolkit::createFileStreamPeer const String filename,
const FileStreamAccessType accessType
[static]
 

static LibraryPeer* VCF::SystemToolkit::createLibraryPeer Library library  )  [static]
 

static LocalePeer* VCF::SystemToolkit::createLocalePeer  )  [static]
 

static MutexPeer* VCF::SystemToolkit::createMutexPeer Mutex mutex  )  [static]
 

static ProcessIORedirectionPeer* VCF::SystemToolkit::createProcessIORedirectionPeer ProcessWithRedirectedIO process  )  [static]
 

static ProcessPeer* VCF::SystemToolkit::createProcessPeer Process process  )  [static]
 

creates a new ProcessPeer instance

static RegistryPeer* VCF::SystemToolkit::createRegistryPeer Registry registry  )  [static]
 

static ResourceBundlePeer* VCF::SystemToolkit::createResourceBundlePeer  )  [static]
 

static RunLoopPeer* VCF::SystemToolkit::createRunLoopPeer RunLoop runLoop  )  [static]
 

static RunLoopSourcePeer* VCF::SystemToolkit::createRunLoopSourcePeer RunLoopSource source  )  [static]
 

static RunLoopTimerPeer* VCF::SystemToolkit::createRunLoopTimerPeer RunLoopTimer timer  )  [static]
 

static SemaphorePeer* VCF::SystemToolkit::createSemaphorePeer int32  initialCount = 1,
int32  maxCount = 1
[static]
 

static SystemPeer* VCF::SystemToolkit::createSystemPeer  )  [static]
 

creates a new system peer

static ThreadManagerPeer* VCF::SystemToolkit::createThreadManagerPeer  )  [static]
 

static ThreadPeer* VCF::SystemToolkit::createThreadPeer Thread thread,
bool  mainThread
[static]
 

creates a new ThreadPeer instance

static SystemToolkit* VCF::SystemToolkit::getSystemToolkit  )  [static, protected]
 

returns the one and only instance of the system toolkit

virtual ConditionPeer* VCF::SystemToolkit::internal_createConditionPeer Condition condition  )  [protected, pure virtual]
 

A port of the FoundationKit to a new platform requires a new class that derives from the SystemToolkit and implements this method.

Implemented in VCF::LinuxSystemToolkit, VCF::OSXSystemToolkit, and VCF::Win32SystemToolkit.

virtual FilePeer* VCF::SystemToolkit::internal_createFilePeer File file  )  [protected, pure virtual]
 

A port of the FoundationKit to a new platform requires a new class that derives from the SystemToolkit and implements this method.

Implemented in VCF::LinuxSystemToolkit, VCF::OSXSystemToolkit, and VCF::Win32SystemToolkit.

virtual FileStreamPeer* VCF::SystemToolkit::internal_createFileStreamPeer File file  )  [protected, pure virtual]
 

A port of the FoundationKit to a new platform requires a new class that derives from the SystemToolkit and implements this method.

Implemented in VCF::LinuxSystemToolkit, VCF::OSXSystemToolkit, and VCF::Win32SystemToolkit.

virtual FileStreamPeer* VCF::SystemToolkit::internal_createFileStreamPeer const String filename,
const FileStreamAccessType accessType
[protected, pure virtual]
 

A port of the FoundationKit to a new platform requires a new class that derives from the SystemToolkit and implements this method.

Implemented in VCF::LinuxSystemToolkit, VCF::OSXSystemToolkit, and VCF::Win32SystemToolkit.

virtual LibraryPeer* VCF::SystemToolkit::internal_createLibraryPeer Library library  )  [protected, pure virtual]
 

A port of the FoundationKit to a new platform requires a new class that derives from the SystemToolkit and implements this method.

Implemented in VCF::LinuxSystemToolkit, VCF::OSXSystemToolkit, and VCF::Win32SystemToolkit.

virtual LocalePeer* VCF::SystemToolkit::internal_createLocalePeer  )  [protected, pure virtual]
 

A port of the FoundationKit to a new platform requires a new class that derives from the SystemToolkit and implements this method.

Implemented in VCF::LinuxSystemToolkit, VCF::OSXSystemToolkit, and VCF::Win32SystemToolkit.

virtual MutexPeer* VCF::SystemToolkit::internal_createMutexPeer Mutex mutex  )  [protected, pure virtual]
 

A port of the FoundationKit to a new platform requires a new class that derives from the SystemToolkit and implements this method.

Implemented in VCF::LinuxSystemToolkit, VCF::OSXSystemToolkit, and VCF::Win32SystemToolkit.

virtual ProcessIORedirectionPeer* VCF::SystemToolkit::internal_createProcessIORedirectionPeer ProcessWithRedirectedIO process  )  [protected, pure virtual]
 

A port of the FoundationKit to a new platform requires a new class that derives from the SystemToolkit and implements this method.

Implemented in VCF::LinuxSystemToolkit, VCF::OSXSystemToolkit, and VCF::Win32SystemToolkit.

virtual ProcessPeer* VCF::SystemToolkit::internal_createProcessPeer Process process  )  [protected, pure virtual]
 

creates a new ProcessPeer instance.

A port of the FoundationKit to a new platform requires a new class that derives from the SystemToolkit and implements this method.

Implemented in VCF::LinuxSystemToolkit, VCF::OSXSystemToolkit, and VCF::Win32SystemToolkit.

virtual RegistryPeer* VCF::SystemToolkit::internal_createRegistryPeer Registry registry  )  [protected, pure virtual]
 

A port of the FoundationKit to a new platform requires a new class that derives from the SystemToolkit and implements this method.

Implemented in VCF::LinuxSystemToolkit, VCF::OSXSystemToolkit, and VCF::Win32SystemToolkit.

virtual ResourceBundlePeer* VCF::SystemToolkit::internal_createResourceBundlePeer  )  [protected, pure virtual]
 

Implemented in VCF::LinuxSystemToolkit, VCF::OSXSystemToolkit, and VCF::Win32SystemToolkit.

virtual RunLoopPeer* VCF::SystemToolkit::internal_createRunLoopPeer RunLoop runLoop  )  [protected, pure virtual]
 

Implemented in VCF::LinuxSystemToolkit, VCF::OSXSystemToolkit, and VCF::Win32SystemToolkit.

virtual RunLoopSourcePeer* VCF::SystemToolkit::internal_createRunLoopSourcePeer RunLoopSource source  )  [protected, pure virtual]
 

Implemented in VCF::LinuxSystemToolkit, VCF::OSXSystemToolkit, and VCF::Win32SystemToolkit.

virtual RunLoopTimerPeer* VCF::SystemToolkit::internal_createRunLoopTimerPeer RunLoopTimer timer  )  [protected, pure virtual]
 

Implemented in VCF::LinuxSystemToolkit, VCF::OSXSystemToolkit, and VCF::Win32SystemToolkit.

virtual SemaphorePeer* VCF::SystemToolkit::internal_createSemaphorePeer int32  initialCount = 1,
int32  maxCount = 1
[protected, pure virtual]
 

A port of the FoundationKit to a new platform requires a new class that derives from the SystemToolkit and implements this method.

Implemented in VCF::LinuxSystemToolkit, VCF::OSXSystemToolkit, and VCF::Win32SystemToolkit.

virtual SystemPeer* VCF::SystemToolkit::internal_createSystemPeer  )  [protected, pure virtual]
 

creates a new system peer A port of the FoundationKit to a new platform requires a new class that derives from the SystemToolkit and implements this method.

Implemented in VCF::LinuxSystemToolkit, VCF::OSXSystemToolkit, and VCF::Win32SystemToolkit.

virtual ThreadManagerPeer* VCF::SystemToolkit::internal_createThreadManagerPeer  )  [protected, pure virtual]
 

Implemented in VCF::LinuxSystemToolkit, VCF::OSXSystemToolkit, and VCF::Win32SystemToolkit.

virtual ThreadPeer* VCF::SystemToolkit::internal_createThreadPeer Thread thread,
bool  mainThread
[protected, pure virtual]
 

creates a new ThreadPeer instance.

A port of the FoundationKit to a new platform requires a new class that derives from the SystemToolkit and implements this method.

Implemented in VCF::LinuxSystemToolkit, VCF::OSXSystemToolkit, and VCF::Win32SystemToolkit.

static void VCF::SystemToolkit::terminate  )  [static]
 


Member Data Documentation

SystemToolkit* VCF::SystemToolkit::systemToolkitInstance [static, protected]
 


The documentation for this class was generated from the following file:
   Comments or Suggestions?    License Information