]> git.saurik.com Git - wxWidgets.git/blame - src/palmos/utils.cpp
Reenable wxPalmOS status bar after recent changes. Start transition from faked drawin...
[wxWidgets.git] / src / palmos / utils.cpp
CommitLineData
ffecfa5a
JS
1/////////////////////////////////////////////////////////////////////////////
2// Name: palmos/utils.cpp
3// Purpose: Various utilities
4// Author: William Osborne
5// Modified by:
6// Created: 10/13/04
9d8aca48 7// RCS-ID: $Id:
ffecfa5a
JS
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"
d1df2399 36#include "wx/confbase.h"
ffecfa5a
JS
37#include "wx/timer.h"
38
d1df2399
WS
39#include <MemoryMgr.h>
40#include <DLServer.h>
41#include <SoundMgr.h>
ffecfa5a
JS
42
43// ============================================================================
44// implementation
45// ============================================================================
46
47// ----------------------------------------------------------------------------
48// get host name and related
49// ----------------------------------------------------------------------------
50
51// Get hostname only (without domain name)
52bool wxGetHostName(wxChar *buf, int maxSize)
53{
54 return false;
55}
56
57// get full hostname (with domain name if possible)
58bool wxGetFullHostName(wxChar *buf, int maxSize)
59{
60 return false;
61}
62
63// Get user ID e.g. jacs
64bool wxGetUserId(wxChar *buf, int maxSize)
65{
d1df2399 66 return wxGetUserName(buf, maxSize);
ffecfa5a
JS
67}
68
69// Get user name e.g. Julian Smart
70bool wxGetUserName(wxChar *buf, int maxSize)
71{
d1df2399
WS
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
9d8aca48 93 // free the buffer
d1df2399
WS
94 MemPtrUnlock(id);
95
96 return true;
ffecfa5a
JS
97}
98
99const wxChar* wxGetHomeDir(wxString *pstr)
100{
101 return NULL;
102}
103
104wxChar *wxGetUserHome(const wxString& WXUNUSED(user))
105{
106 return NULL;
107}
108
109bool wxDirExists(const wxString& dir)
110{
111 return false;
112}
113
114bool wxGetDiskSpace(const wxString& path, wxLongLong *pTotal, wxLongLong *pFree)
115{
116 return false;
117}
118
119// ----------------------------------------------------------------------------
120// env vars
121// ----------------------------------------------------------------------------
122
123bool wxGetEnv(const wxString& var, wxString *value)
124{
125 return false;
126}
127
128bool wxSetEnv(const wxString& var, const wxChar *value)
129{
130 return false;
131}
132
133// ----------------------------------------------------------------------------
134// process management
135// ----------------------------------------------------------------------------
136
e0f6b731 137int wxKill(long pid, wxSignal sig, wxKillError *krc, int flags)
ffecfa5a
JS
138{
139 return 0;
140}
141
142// Execute a program in an Interactive Shell
143bool wxShell(const wxString& command)
144{
145 return false;
146}
147
148// Shutdown or reboot the PC
149bool wxShutdown(wxShutdownFlags wFlags)
150{
151 return false;
152}
153
8ea92b4d
WS
154wxPowerType wxGetPowerType()
155{
156 return wxPOWER_BATTERY;
157}
158
159wxBatteryState wxGetBatteryState()
160{
161 // TODO
162 return wxBATTERY_UNKNOWN_STATE;
163}
164
ffecfa5a
JS
165// ----------------------------------------------------------------------------
166// misc
167// ----------------------------------------------------------------------------
168
169// Get free memory in bytes, or -1 if cannot determine amount (e.g. on UNIX)
9d8aca48 170wxMemorySize wxGetFreeMemory()
ffecfa5a 171{
d1df2399
WS
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
9d8aca48 185 return (wxMemorySize)freeTotal;
ffecfa5a
JS
186}
187
188unsigned long wxGetProcessId()
189{
190 return 0;
191}
192
193// Emit a beeeeeep
194void wxBell()
195{
d1df2399 196 SndPlaySystemSound(sndWarning);
ffecfa5a
JS
197}
198
199wxString wxGetOsDescription()
200{
cc2c11e2 201 wxString strOS = _T("PalmOS");
ffecfa5a 202
cc2c11e2
WS
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;
ffecfa5a
JS
214}
215
216wxToolkitInfo& wxAppTraits::GetToolkitInfo()
217{
218 static wxToolkitInfo info;
219 info.name = _T("wxBase");
220 return info;
221}
222
223// ----------------------------------------------------------------------------
224// sleep functions
225// ----------------------------------------------------------------------------
226
227void wxMilliSleep(unsigned long milliseconds)
228{
229}
230
231void wxMicroSleep(unsigned long microseconds)
232{
233}
234
235void wxSleep(int nSecs)
236{
237}
238
239// ----------------------------------------------------------------------------
240// font encoding <-> Win32 codepage conversion functions
241// ----------------------------------------------------------------------------
242
243extern 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
256extern WXDLLIMPEXP_BASE long wxEncodingToCodepage(wxFontEncoding encoding)
257{
258 return 0;
259}
260
261extern long wxCharsetToCodepage(const wxChar *name)
262{
263 return 0;
264}
265
266#else // !wxUSE_FONTMAP
267
ffecfa5a
JS
268// this should work if Internet Exploiter is installed
269extern long wxCharsetToCodepage(const wxChar *name)
270{
271 return 0;
272}
273
274#endif // wxUSE_FONTMAP/!wxUSE_FONTMAP
275