- galaxysource.zip
- Galaxy
- Common
- CSharpFileSystem
- Galaxy.sln
- GalaxyExplorer
- GalaxyFilePidl
- GalaxyPIDLManager
- GalaxyToolkit
- GalaxyToolkit.vdproj
- Release
- galaxyjavasrc.zip
- GalaxyJavaSrc
- galaxy
- jars
- log4j.README
- log4j-1.2.8.jar
- oncrpc.jar
|
/*
Copyright 2005 Chad Yoshikawa
http://www.ececs.uc.edu/~yoshikco
yoshikco@ececs.uc.edu
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include "stdafx.h"
#include "GalaxyUtils.h"
LPSTR CGalaxyUtils::ConvertWideToMultiByte(LPWSTR s) {
size_t length = (wcslen(s)+1)*sizeof(OLECHAR);
char *dest = new char[length];
wcstombs(dest,s,length);
return dest; // to be freed by caller
}
void CGalaxyUtils::FreeString(LPSTR s) {
delete[] s;
}
double CGalaxyUtils::TraceTime(const char* msg) {
double time = getRawTime();
TimeStampedMessage t(msg,time);
myMessages.push_back(t);
if (myMessages.size() > MAX_NUM_MESSAGES) {
PrintTrace(); // have to flush things
}
return (time);
}
std::vector<TimeStampedMessage> CGalaxyUtils::myMessages;
void CGalaxyUtils::PrintTrace(bool send_to_stdout) {
for (unsigned int i=0;i<myMessages.size();i++) {
TimeStampedMessage t = myMessages[i];
if (send_to_stdout) {
printf("%lf %s\n",t.Time,t.Message.c_str());
} else {
AtlTrace2(atlTraceGalaxy,0,"%lf %s\n",t.Time,t.Message.c_str());
}
}
myMessages.clear();
}
void CGalaxyUtils::ClearTrace() {
myMessages.clear();
}
// declaring space for the static variable...
double CGalaxyUtils::m_scale=0;
// initialize the timer code
void CGalaxyUtils::InitTimers() {
LARGE_INTEGER freq;
if (CGalaxyUtils::m_scale == 0) {
QueryPerformanceFrequency(&freq); // do this once
CGalaxyUtils::m_scale = 1000.0/freq.QuadPart;
}
}
// return the raw time in ms since the system started
double CGalaxyUtils::getRawTime() {
LARGE_INTEGER time;
QueryPerformanceCounter(&time);
return time.QuadPart*CGalaxyUtils::m_scale;
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.