// Created on: 2011-10-05
// Created by: Kirill GAVRILOV
-// Copyright (c) 2012 OPEN CASCADE SAS
+// Copyright (c) 2013-2014 OPEN CASCADE SAS
//
-// The content of this file is subject to the Open CASCADE Technology Public
-// License Version 6.5 (the "License"). You may not use the content of this file
-// except in compliance with the License. Please obtain a copy of the License
-// at http://www.opencascade.org and read it completely before using this file.
+// This file is part of Open CASCADE Technology software library.
//
-// The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
-// main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
+// This library is free software; you can redistribute it and/or modify it under
+// the terms of the GNU Lesser General Public License version 2.1 as published
+// by the Free Software Foundation, with special exception defined in the file
+// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
+// distribution for complete text of the license and disclaimer of any warranty.
//
-// The Original Code and all software distributed under the License is
-// distributed on an "AS IS" basis, without warranty of any kind, and the
-// Initial Developer hereby disclaims all such warranties, including without
-// limitation, any warranties of merchantability, fitness for a particular
-// purpose or non-infringement. Please see the License for the specific terms
-// and conditions governing the rights and limitations under the License.
+// Alternatively, this file may be used under the terms of Open CASCADE
+// commercial license or contractual agreement.
#ifndef _OSD_MemInfo_H__
#define _OSD_MemInfo_H__
-#include <Standard_Transient.hxx>
#include <TCollection_AsciiString.hxx>
//! This class provide information about memory utilized by current process.
//!
//! This also means that these values should not be used for intellectual
//! memory management by application itself.
-class OSD_MemInfo : public Standard_Transient
+class OSD_MemInfo
{
public:
public:
//! Create and initialize
- Standard_EXPORT OSD_MemInfo();
+ Standard_EXPORT OSD_MemInfo (const Standard_Boolean theImmediateUpdate = Standard_True);
+
+ //! Clear counters
+ Standard_EXPORT void Clear();
//! Update counters
Standard_EXPORT void Update();
//! Return the string representation for all available counter.
Standard_EXPORT TCollection_AsciiString ToString() const;
- //! Return value or specified counter in bytes.
+ //! Return value of specified counter in bytes.
//! Notice that NOT all counters are available on various systems.
//! Standard_Size(-1) means invalid (unavailable) value.
Standard_EXPORT Standard_Size Value (const OSD_MemInfo::Counter theCounter) const;
- //! Return value or specified counter in MiB.
+ //! Return value of specified counter in MiB.
//! Notice that NOT all counters are available on various systems.
//! Standard_Size(-1) means invalid (unavailable) value.
Standard_EXPORT Standard_Size ValueMiB (const OSD_MemInfo::Counter theCounter) const;
+ //! Return floating value of specified counter in MiB.
+ //! Notice that NOT all counters are available on various systems.
+ //! Standard_Real(-1) means invalid (unavailable) value.
+ Standard_EXPORT Standard_Real ValuePreciseMiB (const OSD_MemInfo::Counter theCounter) const;
+
public:
//! Return the string representation for all available counter.