(file) Return to System.cpp CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / Common

 1 mike  1.6 //%/////////////////////////////////////////////////////////////////////////////
 2           //
 3 kumpf 1.11 // Copyright (c) 2000, 2001, 2002 BMC Software, Hewlett-Packard Company, IBM,
 4            // The Open Group, Tivoli Systems
 5 mike  1.6  //
 6            // Permission is hereby granted, free of charge, to any person obtaining a copy
 7 kumpf 1.11 // of this software and associated documentation files (the "Software"), to
 8            // deal in the Software without restriction, including without limitation the
 9            // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
10 mike  1.6  // sell copies of the Software, and to permit persons to whom the Software is
11            // furnished to do so, subject to the following conditions:
12            // 
13 kumpf 1.11 // THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
14 mike  1.6  // ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
15            // "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
16 kumpf 1.11 // LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
17            // PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
18            // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
19 mike  1.6  // ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20            // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21            //
22            //==============================================================================
23            //
24            // Author: Mike Brasher (mbrasher@bmc.com)
25            //
26 mike  1.7  // Modified By: Rudy Schuet (rudy.schuet@compaq.com) 11/12/01
27 ramnath 1.9  //					added nsk platform support
28              //				Ramnath Ravindran (Ramnath.Ravindran@compaq.com) 03/21/2002
29              //					replaced instances of "| ios::binary" with 
30              //					PEGASUS_OR_IOS_BINARY
31 mike    1.6  //
32              //%/////////////////////////////////////////////////////////////////////////////
33 mike    1.8  
34 sage    1.12 #if defined(PEGASUS_PLATFORM_ZOS_ZSERIES_IBM)
35              #include <Pegasus/Common/Config.h>           
36              #endif                                       
37              
38              
39 mike    1.8  #include <fstream>
40 kumpf   1.13 #include <cctype>  // for tolower()
41 kumpf   1.14 #include <cstring>
42 mike    1.6  #include "System.h"
43              
44 kumpf   1.10 #include <Pegasus/Common/PegasusVersion.h>
45              
46 mike    1.6  #if defined(PEGASUS_OS_TYPE_WINDOWS)
47              # include "SystemWindows.cpp"
48              #elif defined(PEGASUS_OS_TYPE_UNIX)
49              # include "SystemUnix.cpp"
50 mike    1.7  #elif defined(PEGASUS_OS_TYPE_NSK)
51              # include "SystemNsk.cpp"
52 mike    1.6  #else
53              # error "Unsupported platform"
54              #endif
55 mike    1.8  
56              PEGASUS_USING_STD;
57              
58              PEGASUS_NAMESPACE_BEGIN
59              
60              Boolean System::copyFile(const char* fromPath, const char* toPath)
61              {
62 ramnath 1.9      ifstream is(fromPath PEGASUS_IOS_BINARY);
63                  ofstream os(toPath PEGASUS_IOS_BINARY);
64 mike    1.8  
65                  char c;
66              
67                  while (is.get(c))
68                  {
69              	if (!os.put(c))
70              	    return false;
71                  }
72              
73                  return true;
74 kumpf   1.13 }
75              
76              // ATTN: Move to platform-specific System implementation files and call
77              // strcasecmp where it is available.
78              Sint32 System::strcasecmp(const char* s1, const char* s2)
79              {
80                  while (*s1 && *s2)
81                  {
82                      int r = tolower(*s1++) - tolower(*s2++);
83              
84                      if (r)
85                          return r;
86                  }
87              
88                  if (*s2)
89                      return -1;
90                  else if (*s1)
91                      return 1;
92              
93                  return 0;
94 mike    1.8  }
95              
96              PEGASUS_NAMESPACE_END

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2