blob: 30cdda7904bf502efef5a82288307b65a00ee171 [file] [log] [blame]
eZ publish Enterprise Component: SystemInformation, Design
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Introduction
============
Purpose of the SystemInformation package
----------------------------------------
A set of classes that provides access to information about the underlying
Operating System, such as installed Memory and CPU speed and type as well
as platform dependent items such as system temporary directory, backup
filename and EOL style. Covers the things which are not immediately
handled by PHP constants and functions, those that are handled
by PHP are properly explained.
Current implementation
----------------------
The current implementation is limited to get system
information only for unix systems.
Design
======
There is one singleton class that provides public API to information
about the underlying Operating System. Running OS detected during singleton
initialization and corresponding specific ezcSystemInfoReader
class attached to do work for system info retrieval.
ezcSystemInfo
-------------
The main class that provides a public API for this package.
This class is implemented as a singleton to make sure only
one ezcSystemInfo object exists and to get easily a reference
of this object.
ezcSystemInfoReader
-------------------
Interface that guarantees that subclasses implement the methods
for retrieving information about underlying system.
ezcSystemInfoUnix
-----------------
Provides the basic implementation of the unix system info retrieval.
ezcSystemInfoWin
----------------
Provides the basic implementation of the win32 system info retrieval.
ezcSystemInfoMac
----------------
Provides the basic implementation of the Mac system info retrieval.
..
Local Variables:
mode: rst
fill-column: 79
End:
vim: et syn=rst tw=79