Advertisement
Guest User

Untitled

a guest
Nov 15th, 2017
395
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.95 KB | None | 0 0
  1. /*----------------------------------------------------------------------------*/
  2. /* */
  3. /* StatTimer.h: interface for the CStatTimer class. */
  4. /* */
  5. /* Author: Mark Carrier (mark@carrierlabs.com) */
  6. /* */
  7. /*----------------------------------------------------------------------------*/
  8. /* Copyright (c) 2006 CarrierLabs, LLC. All rights reserved.
  9. *
  10. * Redistribution and use in source and binary forms, with or without
  11. * modification, are permitted provided that the following conditions
  12. * are met:
  13. *
  14. * 1. Redistributions of source code must retain the above copyright
  15. * notice, this list of conditions and the following disclaimer.
  16. *
  17. * 2. Redistributions in binary form must reproduce the above copyright
  18. * notice, this list of conditions and the following disclaimer in
  19. * the documentation and/or other materials provided with the
  20. * distribution.
  21. *
  22. * 3. The name of the author may not be used to endorse or promote products
  23. * derived from this software without specific prior written permission.
  24. *
  25. * 4. The name "CarrierLabs" must not be used to
  26. * endorse or promote products derived from this software without
  27. * prior written permission. For written permission, please contact
  28. * mark@carrierlabs.com.
  29. *
  30. * THIS SOFTWARE IS PROVIDED BY MARK CARRIER ``AS IS'' AND ANY
  31. * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  32. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  33. * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL MARK CARRIER OR
  34. * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  35. * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
  36. * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
  37. * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  38. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
  39. * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  40. * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
  41. * OF THE POSSIBILITY OF SUCH DAMAGE.
  42. *----------------------------------------------------------------------------*/
  43. #ifndef __CSTATTIMER_H__
  44. #define __CSTATTIMER_H__
  45.  
  46. #include <string.h>
  47.  
  48. #if defined(WIN32) || defined(_WIN32)
  49. #include <Winsock2.h>
  50. #include <time.h>
  51. #endif
  52.  
  53. #if defined(_LINUX) || defined(__MACH__) || defined(MACH)
  54. #include <stdio.h>
  55. #include <sys/time.h>
  56. #endif
  57.  
  58. #include "Host.h"
  59.  
  60. #if defined(WIN32) || defined(_WIN32)
  61. #define GET_CLOCK_COUNT(x) QueryPerformanceCounter((LARGE_INTEGER *)x)
  62. #else
  63. #define GET_CLOCK_COUNT(x) gettimeofday(x, NULL)
  64. #endif
  65.  
  66. #define MILLISECONDS_CONVERSION 1000
  67. #define MICROSECONDS_CONVERSION 1000000
  68.  
  69. #if __cplusplus >= 201103L
  70. #include <cstdint>
  71. #define int8 int8_t
  72. #define int16 int16_t
  73. #define int32 int32_t
  74. #define uint8 uint8_t
  75. #define uint16 uint16_t
  76. #define uint32 uint32_t
  77. #endif
  78.  
  79. /// Class to abstract socket communications in a cross platform manner.
  80. /// This class is designed
  81. class CStatTimer {
  82. public:
  83. CStatTimer()
  84. {
  85. };
  86.  
  87. ~CStatTimer()
  88. {
  89. };
  90.  
  91. void Initialize()
  92. {
  93. //memset(&m_startTime, 0, sizeof(struct timeval));
  94. //memset(&m_endTime, 0, sizeof(struct timeval));
  95. };
  96.  
  97. struct timeval GetStartTime() {timeval tmp; return tmp; };
  98. void SetStartTime() { /*GET_CLOCK_COUNT(&m_startTime); */};
  99.  
  100. struct timeval GetEndTime() {timeval tmp; return tmp; };
  101. void SetEndTime() { /*GET_CLOCK_COUNT(&m_endTime); */};
  102.  
  103. uint32 GetMilliSeconds() { return 0;};
  104. uint32 GetMicroSeconds() { return 0;};
  105. uint32 GetSeconds() { return 0;};
  106.  
  107. uint32 GetCurrentTime()
  108. {
  109. return 0;
  110. };
  111.  
  112. };
  113.  
  114. #endif // __CSTATTIMER_H__
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement