IOSOperator.h 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. // Copyright (C) 2002-2012 Nikolaus Gebhardt
  2. // This file is part of the "Irrlicht Engine".
  3. // For conditions of distribution and use, see copyright notice in irrlicht.h
  4. #ifndef IRR_I_OS_OPERATOR_H_INCLUDED
  5. #define IRR_I_OS_OPERATOR_H_INCLUDED
  6. #include "IReferenceCounted.h"
  7. #include "irrString.h"
  8. namespace irr
  9. {
  10. //! The Operating system operator provides operation system specific methods and information.
  11. class IOSOperator : public virtual IReferenceCounted
  12. {
  13. public:
  14. //! Get the current operation system version as string.
  15. virtual const core::stringc& getOperatingSystemVersion() const = 0;
  16. //! Get the current operation system version as string.
  17. /** \deprecated Use getOperatingSystemVersion instead. This method will be removed in Irrlicht 1.9. */
  18. IRR_DEPRECATED const wchar_t* getOperationSystemVersion() const
  19. {
  20. return core::stringw(getOperatingSystemVersion()).c_str();
  21. }
  22. //! Copies text to the clipboard
  23. virtual void copyToClipboard(const c8* text) const = 0;
  24. //! Get text from the clipboard
  25. /** \return Returns 0 if no string is in there. */
  26. virtual const c8* getTextFromClipboard() const = 0;
  27. //! Get the processor speed in megahertz
  28. /** \param MHz The integer variable to store the speed in.
  29. \return True if successful, false if not */
  30. virtual bool getProcessorSpeedMHz(u32* MHz) const = 0;
  31. //! Get the total and available system RAM
  32. /** \param totalBytes: will contain the total system memory in Kilobytes (1024 B)
  33. \param availableBytes: will contain the available memory in Kilobytes (1024 B)
  34. \return True if successful, false if not */
  35. virtual bool getSystemMemory(u32* totalBytes, u32* availableBytes) const = 0;
  36. };
  37. } // end namespace
  38. #endif