1 // Copyright (C) 2002-2012 Nikolaus Gebhardt
\r
2 // This file is part of the "Irrlicht Engine".
\r
3 // For conditions of distribution and use, see copyright notice in irrlicht.h
\r
5 #ifndef __C_OS_OPERATOR_H_INCLUDED__
\r
6 #define __C_OS_OPERATOR_H_INCLUDED__
\r
8 #include "IOSOperator.h"
\r
13 class CIrrDeviceLinux;
\r
15 //! The Operating system operator provides operation system specific methods and information.
\r
16 class COSOperator : public IOSOperator
\r
21 #if defined(_IRR_COMPILE_WITH_X11_DEVICE_)
\r
22 COSOperator(const core::stringc& osversion, CIrrDeviceLinux* device);
\r
24 COSOperator(const core::stringc& osversion);
\r
26 //! returns the current operation system version as string.
\r
27 const core::stringc& getOperatingSystemVersion() const override;
\r
29 //! copies text to the clipboard
\r
30 //! \param text: text in utf-8
\r
31 void copyToClipboard(const c8 *text) const override;
\r
33 //! gets text from the clipboard
\r
34 //! \return Returns 0 if no string is in there, otherwise an utf-8 string.
\r
35 const c8* getTextFromClipboard() const override;
\r
37 //! gets the total and available system RAM in kB
\r
38 //! \param Total: will contain the total system memory
\r
39 //! \param Avail: will contain the available memory
\r
40 //! \return Returns true if successful, false if not
\r
41 bool getSystemMemory(u32* Total, u32* Avail) const override;
\r
45 core::stringc OperatingSystem;
\r
47 #if defined(_IRR_COMPILE_WITH_X11_DEVICE_)
\r
48 CIrrDeviceLinux * IrrDeviceLinux;
\r
51 #ifdef _IRR_WINDOWS_API_
\r
52 mutable core::stringc ClipboardBuf;
\r