Initial checkin. Build statstics class.

git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5670 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Tyler Dauwalder 2003-12-16 10:04:43 +00:00
parent 429ed0178f
commit 251ce36f28
2 changed files with 89 additions and 0 deletions

View File

@ -0,0 +1,37 @@
//----------------------------------------------------------------------
// This software is part of the OpenBeOS distribution and is covered
// by the OpenBeOS license.
//
// Copyright (c) 2003 Tyler Dauwalder, tyler@dauwalder.net
//----------------------------------------------------------------------
/*! \file Statistics.h
BDataIO wrapper around a given attribute for a file. (implementation)
*/
#include "Statistics.h"
/*! \brief Creates a new statistics object and sets the start time
for the duration timer.
*/
Statistics::Statistics()
: fDirectories(0)
, fFiles(0)
, fSymlinks(0)
, fAttributes(0)
, fDirectoryBytes(0)
, fFileBytes(0)
, fStartTime(real_time_clock())
{
}
/*! \brief Resets all statistics fields, including the start time of
the duration timer.
*/
void
Statistics::Reset()
{
Statistics null;
*this = null;
}

View File

@ -0,0 +1,52 @@
//----------------------------------------------------------------------
// This software is part of the OpenBeOS distribution and is covered
// by the OpenBeOS license.
//
// Copyright (c) 2003 Tyler Dauwalder, tyler@dauwalder.net
//----------------------------------------------------------------------
/*! \file Statistics.h
BDataIO wrapper around a given attribute for a file. (declarations)
*/
#ifndef _STATISTICS_H
#define _STATISTICS_H
#include <OS.h>
#include <SupportDefs.h>
class Statistics {
public:
Statistics();
void Reset();
time_t StartTime() const { return fStartTime; }
time_t ElapsedTime() const { return real_time_clock() - fStartTime; }
void AddDirectory() { fDirectories++; }
void AddFile() { fFiles++; }
void AddSymlink() { fSymlinks++; }
void AddAttribute() { fAttributes++; }
void AddDirectoryBytes(uint32 count) { fDirectoryBytes += count; }
void AddFileBytes(uint32 count) { fFileBytes += count; }
uint64 Directories() const { return fDirectories; }
uint64 Files() const { return fFiles; }
uint64 Symlinks() const { return fSymlinks; }
uint64 Attributes() const { return fAttributes; }
uint64 DirectoryBytes() const { return fDirectoryBytes; }
uint64 FileBytes() const { return fFileBytes; }
private:
uint64 fDirectories;
uint64 fFiles;
uint64 fSymlinks;
uint64 fAttributes;
uint64 fDirectoryBytes;
uint64 fFileBytes;
time_t fStartTime;
};
#endif // _STATISTICS_H