00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #include "BasicUsageEnvironment.hh"
00021 #include <stdio.h>
00022
00024
00025 #if defined(__WIN32__) || defined(_WIN32)
00026 extern "C" int initializeWinsockIfNecessary();
00027 #endif
00028
00029 BasicUsageEnvironment::BasicUsageEnvironment(TaskScheduler& taskScheduler)
00030 : BasicUsageEnvironment0(taskScheduler) {
00031 #if defined(__WIN32__) || defined(_WIN32)
00032 if (!initializeWinsockIfNecessary()) {
00033 setResultErrMsg("Failed to initialize 'winsock': ");
00034 reportBackgroundError();
00035 abort();
00036 }
00037 #endif
00038 }
00039
00040 BasicUsageEnvironment::~BasicUsageEnvironment() {
00041 }
00042
00043 BasicUsageEnvironment*
00044 BasicUsageEnvironment::createNew(TaskScheduler& taskScheduler) {
00045 return new BasicUsageEnvironment(taskScheduler);
00046 }
00047
00048 int BasicUsageEnvironment::getErrno() const {
00049 #if defined(__WIN32__) || defined(_WIN32) || defined(_WIN32_WCE)
00050 return WSAGetLastError();
00051 #else
00052 return errno;
00053 #endif
00054 }
00055
00056 UsageEnvironment& BasicUsageEnvironment::operator<<(char const* str) {
00057 if (str == NULL) str = "(NULL)";
00058 fprintf(stderr, "%s", str);
00059 return *this;
00060 }
00061
00062 UsageEnvironment& BasicUsageEnvironment::operator<<(int i) {
00063 fprintf(stderr, "%d", i);
00064 return *this;
00065 }
00066
00067 UsageEnvironment& BasicUsageEnvironment::operator<<(unsigned u) {
00068 fprintf(stderr, "%u", u);
00069 return *this;
00070 }
00071
00072 UsageEnvironment& BasicUsageEnvironment::operator<<(double d) {
00073 fprintf(stderr, "%f", d);
00074 return *this;
00075 }
00076
00077 UsageEnvironment& BasicUsageEnvironment::operator<<(void* p) {
00078 fprintf(stderr, "%p", p);
00079 return *this;
00080 }