0022904: Clean up sccsid variables
[occt.git] / src / OSD / OSD_EnvironmentIterator.cxx
CommitLineData
7fd59977 1
2#ifndef WNT
3
4//---------- All Systems except windowsNT : ----------------------------------
5
6#include <OSD_EnvironmentIterator.ixx>
7#include <OSD_WhoAmI.hxx>
8
9//const OSD_WhoAmI Iam = OSD_WEnvironmentIterator;
10#ifdef __APPLE__
11#include <crt_externs.h>
12#define environ (*_NSGetEnviron())
13#else
14extern char **environ;
15#endif
16
17OSD_EnvironmentIterator::OSD_EnvironmentIterator(){
18 myCount = 0;
19}
20
21// For Windows NT compatibility
22
23void OSD_EnvironmentIterator::Destroy () {}
24
25// Is there another environment variable entry ?
26
27Standard_Boolean OSD_EnvironmentIterator::More(){
28 if (environ[myCount+1] == NULL) return(Standard_False);
29 else return(Standard_True);
30}
31
32// Find next environment variable
33
34void OSD_EnvironmentIterator::Next(){
35 if (More()) myCount++;
36}
37
38
39OSD_Environment OSD_EnvironmentIterator::Values(){
40 TCollection_AsciiString name,value;
41
42 name = environ[myCount]; // Copy environment variable
43
44// Pour DEBUG cout << name << endl;
45
46 value = &environ[myCount][name.Search("=")]; // Gets its value
47 if (name.Length() != 0){
48 name = name.Token("="); // Gets its name
49 }
50
51 OSD_Environment result(name,value);
52 return(result);
53}
54
55
56void OSD_EnvironmentIterator::Reset(){
57 myError.Reset();
58}
59
60Standard_Boolean OSD_EnvironmentIterator::Failed()const{
61 return( myError.Failed());
62}
63
64void OSD_EnvironmentIterator::Perror() {
65 myError.Perror();
66}
67
68
69Standard_Integer OSD_EnvironmentIterator::Error()const{
70 return( myError.Error());
71}
72
73#else
74
75//------------------------------------------------------------------------
76//------------------- Windows NT sources for OSD_Directory --------------
77//------------------------------------------------------------------------
78
79#define STRICT
80#include <windows.h>
81
82#include <OSD_EnvironmentIterator.ixx>
83
84OSD_EnvironmentIterator :: OSD_EnvironmentIterator () {
85
86 myEnv = GetEnvironmentStrings ();
87 myCount = ( Standard_Integer )myEnv;
88
89} // end constructor
90
91void OSD_EnvironmentIterator :: Destroy () {
92
93 FreeEnvironmentStrings ( ( LPTSTR )myEnv );
94
95} // end OSD_EnvironmentIterator :: Destroy
96
97Standard_Boolean OSD_EnvironmentIterator :: More () {
98
99 return *( ( Standard_CString )myCount ) ? Standard_True : Standard_False;
100
101} // end OSD_EnvironmentIterator :: More
102
103void OSD_EnvironmentIterator :: Next () {
104
105 if ( More () ) {
106
107 while ( *( Standard_CString )myCount ) ++myCount;
108
109 ++myCount;
110
111 } // end if
112
113} // end OSD_EnvironmentIterator :: Next
114
115OSD_Environment OSD_EnvironmentIterator :: Values () {
116
117 TCollection_AsciiString env, name, value;
118
119 env = ( Standard_CString )myCount;
120
121 name = env.Token ( TEXT( "=" ), 1 );
122 value = env.Token ( TEXT( "=" ), 2 );
123
124 if ( env.Value ( 1 ) == TEXT( '=' ) ) name.Insert ( 1, TEXT( '=' ) );
125
126 return OSD_Environment ( name, value );
127
128} // end OSD_EnvironmentIterator :: Values
129
130Standard_Boolean OSD_EnvironmentIterator :: Failed () const {
131
132 return myError.Failed ();
133
134} // end OSD_EnvironmentIterator :: Failed
135
136void OSD_EnvironmentIterator :: Reset () {
137
138 myError.Reset ();
139
140} // end OSD_EnvironmentIterator :: Reset
141
142void OSD_EnvironmentIterator :: Perror () {
143
144 myError.Perror ();
145
146} // end OSD_EnvironmentIterator :: Perror
147
148Standard_Integer OSD_EnvironmentIterator :: Error () const {
149
150 return myError.Error ();
151
152} // end OSD_EnvironmentIterator :: Error
153
154#endif