]> git.saurik.com Git - wxWidgets.git/blob - src/palmos/utils.cpp
Start more than minimal TLW support.
[wxWidgets.git] / src / palmos / utils.cpp
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: palmos/utils.cpp
3 // Purpose: Various utilities
4 // Author: William Osborne
5 // Modified by:
6 // Created: 10/13/04
7 // RCS-ID: $Id:
8 // Copyright: (c) William Osborne
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
11
12 // ============================================================================
13 // declarations
14 // ============================================================================
15
16 // ----------------------------------------------------------------------------
17 // headers
18 // ----------------------------------------------------------------------------
19
20 // For compilers that support precompilation, includes "wx.h".
21 #include "wx/wxprec.h"
22
23 #ifdef __BORLANDC__
24 #pragma hdrstop
25 #endif
26
27 #ifndef WX_PRECOMP
28 #include "wx/utils.h"
29 #include "wx/app.h"
30 #include "wx/intl.h"
31 #include "wx/log.h"
32 #endif //WX_PRECOMP
33
34 #include "wx/apptrait.h"
35 #include "wx/dynload.h"
36 #include "wx/confbase.h"
37 #include "wx/timer.h"
38
39 #include <MemoryMgr.h>
40 #include <DLServer.h>
41 #include <SoundMgr.h>
42
43 // ============================================================================
44 // implementation
45 // ============================================================================
46
47 // ----------------------------------------------------------------------------
48 // get host name and related
49 // ----------------------------------------------------------------------------
50
51 // Get hostname only (without domain name)
52 bool wxGetHostName(wxChar *buf, int maxSize)
53 {
54 return false;
55 }
56
57 // get full hostname (with domain name if possible)
58 bool wxGetFullHostName(wxChar *buf, int maxSize)
59 {
60 return false;
61 }
62
63 // Get user ID e.g. jacs
64 bool wxGetUserId(wxChar *buf, int maxSize)
65 {
66 return wxGetUserName(buf, maxSize);
67 }
68
69 // Get user name e.g. Julian Smart
70 bool wxGetUserName(wxChar *buf, int maxSize)
71 {
72 *buf = wxT('\0');
73
74 // buffer allocation
75 MemHandle handle = MemHandleNew(maxSize-1);
76 if( handle == NULL )
77 return false;
78
79 // lock the buffer
80 char *id = (char *)MemHandleLock(handle);
81 if( id == NULL )
82 return false;
83
84 // get user's name
85 if( DlkGetSyncInfo(NULL, NULL, NULL, id, NULL, NULL) != errNone )
86 {
87 MemPtrUnlock(id);
88 return false;
89 }
90
91 wxStrncpy (buf, wxConvertMB2WX(id), maxSize - 1);
92
93 // free the buffer
94 MemPtrUnlock(id);
95
96 return true;
97 }
98
99 const wxChar* wxGetHomeDir(wxString *pstr)
100 {
101 return NULL;
102 }
103
104 wxChar *wxGetUserHome(const wxString& WXUNUSED(user))
105 {
106 return NULL;
107 }
108
109 bool wxDirExists(const wxString& dir)
110 {
111 return false;
112 }
113
114 bool wxGetDiskSpace(const wxString& path, wxLongLong *pTotal, wxLongLong *pFree)
115 {
116 return false;
117 }
118
119 // ----------------------------------------------------------------------------
120 // env vars
121 // ----------------------------------------------------------------------------
122
123 bool wxGetEnv(const wxString& var, wxString *value)
124 {
125 return false;
126 }
127
128 bool wxSetEnv(const wxString& var, const wxChar *value)
129 {
130 return false;
131 }
132
133 // ----------------------------------------------------------------------------
134 // process management
135 // ----------------------------------------------------------------------------
136
137 int wxKill(long pid, wxSignal sig, wxKillError *krc, int flags)
138 {
139 return 0;
140 }
141
142 // Execute a program in an Interactive Shell
143 bool wxShell(const wxString& command)
144 {
145 return false;
146 }
147
148 // Shutdown or reboot the PC
149 bool wxShutdown(wxShutdownFlags wFlags)
150 {
151 return false;
152 }
153
154 wxPowerType wxGetPowerType()
155 {
156 return wxPOWER_BATTERY;
157 }
158
159 wxBatteryState wxGetBatteryState()
160 {
161 // TODO
162 return wxBATTERY_UNKNOWN_STATE;
163 }
164
165 // ----------------------------------------------------------------------------
166 // misc
167 // ----------------------------------------------------------------------------
168
169 // Get free memory in bytes, or -1 if cannot determine amount (e.g. on UNIX)
170 wxMemorySize wxGetFreeMemory()
171 {
172 uint32_t freeTotal = 0;
173 uint32_t freeHeap;
174 uint32_t freeChunk;
175
176 // executed twice: for the dynamic heap, and for the non-secure RAM storage heap
177 for ( uint16_t i=0; i<MemNumRAMHeaps(); i++)
178 {
179 status_t err = MemHeapFreeBytes(i, &freeHeap, &freeChunk);
180 if( err != errNone )
181 return -1;
182 freeTotal+=freeHeap;
183 }
184
185 return (wxMemorySize)freeTotal;
186 }
187
188 unsigned long wxGetProcessId()
189 {
190 return 0;
191 }
192
193 // Emit a beeeeeep
194 void wxBell()
195 {
196 SndPlaySystemSound(sndWarning);
197 }
198
199 wxString wxGetOsDescription()
200 {
201 wxString strOS = _T("PalmOS");
202
203 char *version = SysGetOSVersionString();
204 if(version)
205 {
206 wxString str = wxString::FromAscii(version);
207 if(!str.empty())
208 {
209 strOS << _(" ") << str;
210 }
211 }
212
213 return strOS;
214 }
215
216 wxToolkitInfo& wxAppTraits::GetToolkitInfo()
217 {
218 static wxToolkitInfo info;
219 info.name = _T("wxBase");
220 return info;
221 }
222
223 // ----------------------------------------------------------------------------
224 // sleep functions
225 // ----------------------------------------------------------------------------
226
227 void wxMilliSleep(unsigned long milliseconds)
228 {
229 }
230
231 void wxMicroSleep(unsigned long microseconds)
232 {
233 }
234
235 void wxSleep(int nSecs)
236 {
237 }
238
239 // ----------------------------------------------------------------------------
240 // font encoding <-> Win32 codepage conversion functions
241 // ----------------------------------------------------------------------------
242
243 extern WXDLLIMPEXP_BASE long wxEncodingToCharset(wxFontEncoding encoding)
244 {
245 return 0;
246 }
247
248 // we have 2 versions of wxCharsetToCodepage(): the old one which directly
249 // looks up the vlaues in the registry and the new one which is more
250 // politically correct and has more chances to work on other Windows versions
251 // as well but the old version is still needed for !wxUSE_FONTMAP case
252 #if wxUSE_FONTMAP
253
254 #include "wx/fontmap.h"
255
256 extern WXDLLIMPEXP_BASE long wxEncodingToCodepage(wxFontEncoding encoding)
257 {
258 return 0;
259 }
260
261 extern long wxCharsetToCodepage(const wxChar *name)
262 {
263 return 0;
264 }
265
266 #else // !wxUSE_FONTMAP
267
268 // this should work if Internet Exploiter is installed
269 extern long wxCharsetToCodepage(const wxChar *name)
270 {
271 return 0;
272 }
273
274 #endif // wxUSE_FONTMAP/!wxUSE_FONTMAP
275