Friday, 24 November 2017
arrow DiceLockTime 4.0.0.1 arrow counterTime.cpp
counterTime.cpp Print E-mail
Get C++ DiceLock cipher architecture source code packages of DiceLock for Microsoft Visual Studio 2013 and DiceLock-x for Linux with Test Driver Programs and Response Test Vector files to verify that both them work as expected.
DiceLock for Windows and Linux
DiceLock Security governing software licenses are Free/Libre Source Code License and Educational and Research License
Get FREE C++ Source Code  
Get Visual C++ 2008 project and source files !!! visual-studio-2008.png

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
//
// Creator:    http://www.dicelocksecurity.com
// Version:    vers.4.0.0.1
//
// Copyright  2010 DiceLock Security, LLC. All rights reserved.
//
//                               DISCLAIMER
//
// THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES,
// INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
// AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
// REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
// 
// DICELOCK IS A REGISTERED TRADEMARK OR TRADEMARK OF THE OWNERS
// 
 
#include "counterTime.h"
 
 
// using namespace std;
 
 
namespace DiceLockSecurity {
  
  namespace Time {
  
  // Constructor, default
  CounterTime::CounterTime() {
 
    this->startTime.QuadPart = 0;
    this->stopTime.QuadPart = 0;
    QueryPerformanceFrequency(&this->frequency);
  }
 
  // Destructor
  CounterTime::~CounterTime() {
 
    this->startTime.QuadPart = 0;
    this->stopTime.QuadPart = 0;
    this->frequency.QuadPart = 0;
  }
 
  // Translates from LARGE_INTEGER to seconds
  double CounterTime::LARGE_INTEGERToSecs(LARGE_INTEGER time) {
 
    return ((double)time.QuadPart / (double)this->frequency.QuadPart);
  }
 
  // Starts timer
  void CounterTime::StartTimer(void) {
 
    QueryPerformanceCounter(&this->startTime);
  }
 
  // Starts timer
  void CounterTime::StopTimer(void) {
 
    QueryPerformanceCounter(&this->stopTime); 
  }
 
  // Gets the elapsed time between StartTiem & StopTimer memebers
  double CounterTime::GetElapsedTime(void) {
    LARGE_INTEGER time;
     
    time.QuadPart = this->stopTime.QuadPart - this->startTime.QuadPart;
    return LARGE_INTEGERToSecs(time) ;
  }
  }
}