From: Michael Wetherell Date: Mon, 25 Apr 2005 09:54:06 +0000 (+0000) Subject: Add skeleton utils, dir and mimetype for dos. X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/81d9e625564a18de11df7270b689e6e5ae6c2e58 Add skeleton utils, dir and mimetype for dos. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33873 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/src/msdos/dir.cpp b/src/msdos/dir.cpp new file mode 100644 index 0000000000..7ae2827cfd --- /dev/null +++ b/src/msdos/dir.cpp @@ -0,0 +1,119 @@ +///////////////////////////////////////////////////////////////////////////// +// Name: src/palmos/dir.cpp +// Purpose: wxDir implementation for PalmOS +// Author: William Osborne - minimal working wxPalmOS port +// Modified by: +// Created: 10.13.04 +// RCS-ID: $Id$ +// Copyright: (c) William Osborne +// Licence: wxWindows licence +///////////////////////////////////////////////////////////////////////////// + +// ============================================================================ +// declarations +// ============================================================================ + +// ---------------------------------------------------------------------------- +// headers +// ---------------------------------------------------------------------------- + +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) + #pragma implementation "dir.h" +#endif + +// For compilers that support precompilation, includes "wx.h". +#include "wx/wxprec.h" + +#ifdef __BORLANDC__ + #pragma hdrstop +#endif + +#ifndef WX_PRECOMP + #include "wx/intl.h" + #include "wx/log.h" +#endif // PCH + +#include "wx/dir.h" +#include "wx/filefn.h" // for wxDirExists() + +// ---------------------------------------------------------------------------- +// define the types and functions used for file searching +// ---------------------------------------------------------------------------- + +// ---------------------------------------------------------------------------- +// constants +// ---------------------------------------------------------------------------- + +#ifndef MAX_PATH + #define MAX_PATH 260 // from VC++ headers +#endif + +// ---------------------------------------------------------------------------- +// macros +// ---------------------------------------------------------------------------- + +#define M_DIR ((wxDirData *)m_data) + +// ---------------------------------------------------------------------------- +// private classes +// ---------------------------------------------------------------------------- + +// ============================================================================ +// implementation +// ============================================================================ + +// ---------------------------------------------------------------------------- +// wxDir helpers +// ---------------------------------------------------------------------------- + +/* static */ +bool wxDir::Exists(const wxString& dir) +{ + return false; +} + +// ---------------------------------------------------------------------------- +// wxDir construction/destruction +// ---------------------------------------------------------------------------- + +wxDir::wxDir(const wxString& dirname) +{ +} + +bool wxDir::Open(const wxString& dirname) +{ + return false; +} + +bool wxDir::IsOpened() const +{ + return false; +} + +wxString wxDir::GetName() const +{ + wxString name; + + return name; +} + +wxDir::~wxDir() +{ +} + +// ---------------------------------------------------------------------------- +// wxDir enumerating +// ---------------------------------------------------------------------------- + +bool wxDir::GetFirst(wxString *filename, + const wxString& filespec, + int flags) const +{ + return false; +} + +bool wxDir::GetNext(wxString *filename) const +{ + return false; +} + diff --git a/src/msdos/mimetype.cpp b/src/msdos/mimetype.cpp new file mode 100644 index 0000000000..51ac44f6b9 --- /dev/null +++ b/src/msdos/mimetype.cpp @@ -0,0 +1,230 @@ +///////////////////////////////////////////////////////////////////////////// +// Name: mac/mimetype.cpp +// Purpose: classes and functions to manage MIME types +// Author: Vadim Zeitlin +// Modified by: +// Created: 23.09.98 +// RCS-ID: $Id$ +// Copyright: (c) 1998 Vadim Zeitlin +// Licence: wxWindows licence (part of wxExtra library) +///////////////////////////////////////////////////////////////////////////// + +#ifdef __GNUG__ +#pragma implementation "mimetype.h" +#endif + +// for compilers that support precompilation, includes "wx.h". +#include "wx/wxprec.h" + +#ifdef __BORLANDC__ + #pragma hdrstop +#endif + +#ifndef WX_PRECOMP + #include "wx/defs.h" +#endif + +#ifndef WX_PRECOMP + #include "wx/string.h" + #if wxUSE_GUI + #include "wx/icon.h" + #endif +#endif //WX_PRECOMP + +#if wxUSE_MIMETYPE + +#include "wx/log.h" +#include "wx/file.h" +#include "wx/intl.h" +#include "wx/dynarray.h" +#include "wx/confbase.h" + +#include "wx/msdos/mimetype.h" + +// other standard headers +#include + +// in case we're compiling in non-GUI mode +class WXDLLEXPORT wxIcon; + +bool wxFileTypeImpl::SetCommand(const wxString& cmd, const wxString& verb, bool overwriteprompt) +{ + return FALSE; +} + +bool wxFileTypeImpl::SetDefaultIcon(const wxString& strIcon, int index) +{ + return FALSE; +} + +bool wxFileTypeImpl::GetCommand(wxString *command, const char *verb) const +{ + return FALSE; +} + +// @@ this function is half implemented +bool wxFileTypeImpl::GetExtensions(wxArrayString& extensions) +{ + return FALSE; +} + +bool wxFileTypeImpl::GetMimeType(wxString *mimeType) const +{ + if ( m_strFileType.Length() > 0 ) + { + *mimeType = m_strFileType ; + return TRUE ; + } + else + return FALSE; +} + +bool wxFileTypeImpl::GetMimeTypes(wxArrayString& mimeTypes) const +{ + wxString s; + + if (GetMimeType(&s)) + { + mimeTypes.Clear(); + mimeTypes.Add(s); + return TRUE; + } + else + return FALSE; +} + +bool wxFileTypeImpl::GetIcon(wxIconLocation *WXUNUSED(icon)) const +{ + // no such file type or no value or incorrect icon entry + return FALSE; +} + +bool wxFileTypeImpl::GetDescription(wxString *desc) const +{ + return FALSE; +} + +size_t +wxFileTypeImpl::GetAllCommands(wxArrayString * verbs, wxArrayString * commands, + const wxFileType::MessageParameters& params) const +{ + wxFAIL_MSG( _T("wxFileTypeImpl::GetAllCommands() not yet implemented") ); + return 0; +} + +void +wxMimeTypesManagerImpl::Initialize(int mailcapStyles, const wxString& extraDir) +{ + wxFAIL_MSG( _T("wxMimeTypesManagerImpl::Initialize() not yet implemented") ); +} + +void +wxMimeTypesManagerImpl::ClearData() +{ + wxFAIL_MSG( _T("wxMimeTypesManagerImpl::ClearData() not yet implemented") ); +} + +// extension -> file type +wxFileType * +wxMimeTypesManagerImpl::GetFileTypeFromExtension(const wxString& e) +{ + wxString ext = e ; + ext = ext.Lower() ; + if ( ext == wxT("txt") ) + { + wxFileType *fileType = new wxFileType; + fileType->m_impl->SetFileType(wxT("text/text")); + fileType->m_impl->SetExt(ext); + return fileType; + } + else if ( ext == wxT("htm") || ext == wxT("html") ) + { + wxFileType *fileType = new wxFileType; + fileType->m_impl->SetFileType(wxT("text/html")); + fileType->m_impl->SetExt(ext); + return fileType; + } + else if ( ext == wxT("gif") ) + { + wxFileType *fileType = new wxFileType; + fileType->m_impl->SetFileType(wxT("image/gif")); + fileType->m_impl->SetExt(ext); + return fileType; + } + else if ( ext == wxT("png" )) + { + wxFileType *fileType = new wxFileType; + fileType->m_impl->SetFileType(wxT("image/png")); + fileType->m_impl->SetExt(ext); + return fileType; + } + else if ( ext == wxT("jpg" )|| ext == wxT("jpeg") ) + { + wxFileType *fileType = new wxFileType; + fileType->m_impl->SetFileType(wxT("image/jpeg")); + fileType->m_impl->SetExt(ext); + return fileType; + } + else if ( ext == wxT("bmp") ) + { + wxFileType *fileType = new wxFileType; + fileType->m_impl->SetFileType(wxT("image/bmp")); + fileType->m_impl->SetExt(ext); + return fileType; + } + else if ( ext == wxT("tif") || ext == wxT("tiff") ) + { + wxFileType *fileType = new wxFileType; + fileType->m_impl->SetFileType(wxT("image/tiff")); + fileType->m_impl->SetExt(ext); + return fileType; + } + else if ( ext == wxT("xpm") ) + { + wxFileType *fileType = new wxFileType; + fileType->m_impl->SetFileType(wxT("image/xpm")); + fileType->m_impl->SetExt(ext); + return fileType; + } + else if ( ext == wxT("xbm") ) + { + wxFileType *fileType = new wxFileType; + fileType->m_impl->SetFileType(wxT("image/xbm")); + fileType->m_impl->SetExt(ext); + return fileType; + } + + // unknown extension + return NULL; +} + +// MIME type -> extension -> file type +wxFileType * +wxMimeTypesManagerImpl::GetFileTypeFromMimeType(const wxString& mimeType) +{ + return NULL; +} + +size_t wxMimeTypesManagerImpl::EnumAllFileTypes(wxArrayString& mimetypes) +{ + // VZ: don't know anything about this for Mac + wxFAIL_MSG( _T("wxMimeTypesManagerImpl::EnumAllFileTypes() not yet implemented") ); + + return 0; +} + +wxFileType * +wxMimeTypesManagerImpl::Associate(const wxFileTypeInfo& ftInfo) +{ + wxFAIL_MSG( _T("wxMimeTypesManagerImpl::Associate() not yet implemented") ); + + return NULL; +} + +bool +wxMimeTypesManagerImpl::Unassociate(wxFileType *ft) +{ + return FALSE; +} + +#endif // wxUSE_MIMETYPE diff --git a/src/msdos/utilsdos.cpp b/src/msdos/utilsdos.cpp new file mode 100644 index 0000000000..81771cf700 --- /dev/null +++ b/src/msdos/utilsdos.cpp @@ -0,0 +1,176 @@ +///////////////////////////////////////////////////////////////////////////// +// Name: utils.cpp +// Purpose: DOS implementations of utility functions +// Author: Vaclav Slavik +// Id: $Id$ +// Copyright: (c) 2001-2002 SciTech Software, Inc. (www.scitechsoft.com) +// Licence: wxWindows licence +///////////////////////////////////////////////////////////////////////////// + +// For compilers that support precompilation, includes "wx.h". +#include "wx/wxprec.h" + +#ifdef __BORLANDC__ + #pragma hdrstop +#endif + +#include "wx/utils.h" +#include "wx/string.h" + +#include "wx/intl.h" +#include "wx/apptrait.h" +#include "wx/log.h" +#include "wx/process.h" + +#include +#include +#include +#include +#include +#include + +//---------------------------------------------------------------------------- +// misc. +//---------------------------------------------------------------------------- + +void wxSleep(int nSecs) +{ + wxMilliSleep(1000 * nSecs); +} + +void wxMilliSleep(unsigned long milliseconds) +{ +#if HAVE_USLEEP || defined __DJGPP__ + usleep(milliseconds * 1000); +#elif defined __WATCOMC__ + delay(milliseconds); +#else + clock_t start = clock(); + while ((clock() - start) * 1000 / CLOCKS_PER_SEC < (clock_t)milliseconds) + ; // FIXME: need to yield here +#endif +} + +void wxMicroSleep(unsigned long microseconds) +{ +#if HAVE_USLEEP || defined __DJGPP__ + usleep(microseconds); +#else + wxMilliSleep(microseconds/1000); +#endif +} + +// Get Process ID +unsigned long wxGetProcessId() +{ + return (unsigned long)getpid(); +} + +bool wxGetEnv(const wxString& var, wxString *value) +{ + // wxGetenv is defined as getenv() + wxChar *p = wxGetenv(var); + if ( !p ) + return FALSE; + + if ( value ) + *value = p; + + return TRUE; +} + +bool wxSetEnv(const wxString& variable, const wxChar *value) +{ + wxString s = variable; + if ( value ) + s << _T('=') << value; + + // transform to ANSI + const char *p = s.mb_str(); + + // the string will be free()d by libc + char *buf = (char *)malloc(strlen(p) + 1); + strcpy(buf, p); + + return putenv(buf) == 0; +} + +const wxChar* wxGetHomeDir(wxString *home) +{ + *home = wxT("."); + return home->c_str(); +} + +const wxChar* wxGetUserHomeDir(wxString *home) +{ + *home = wxT("."); + return home->c_str(); +} + +wxChar *wxGetUserHome(const wxString &user) +{ + return wxT("."); +} + +#if WXWIN_COMPATIBILITY_2_2 +void wxFatalError(const wxString &msg, const wxString &title) +{ + wxFprintf( stderr, _("Error ") ); + if (!title.IsNull()) wxFprintf( stderr, wxT("%s "), WXSTRINGCAST(title) ); + if (!msg.IsNull()) wxFprintf( stderr, wxT(": %s"), WXSTRINGCAST(msg) ); + wxFprintf( stderr, wxT(".\n") ); + exit(3); // the same exit code as for abort() +} +#endif // WXWIN_COMPATIBILITY_2_2 + +bool wxGetUserId(wxChar *WXUNUSED(buf), int WXUNUSED(sz)) +{ + wxFAIL_MSG( wxT("wxGetUserId not implemented under MS-DOS!") ); + return FALSE; +} + +bool wxGetUserName(wxChar *WXUNUSED(buf), int WXUNUSED(sz)) +{ + wxFAIL_MSG( wxT("wxGetUserName not implemented under MS-DOS!") ); + return FALSE; +} + +bool wxGetHostName(wxChar *WXUNUSED(buf), int WXUNUSED(sz)) +{ + wxFAIL_MSG( wxT("wxGetHostName not implemented under MS-DOS!") ); + return FALSE; +} + +bool wxGetFullHostName(wxChar *WXUNUSED(buf), int WXUNUSED(sz)) +{ + wxFAIL_MSG( wxT("wxGetFullHostName not implemented under MS-DOS!") ); + return FALSE; +} + +int wxKill(long WXUNUSED(pid), wxSignal WXUNUSED(sig), wxKillError *WXUNUSED(rc), int WXUNUSED(flags)) +{ + wxFAIL_MSG( wxT("wxKill not implemented under MS-DOS!") ); + return 0; +} + +long wxExecute(const wxString& WXUNUSED(command), int WXUNUSED(flags), wxProcess *WXUNUSED(process)) +{ + wxFAIL_MSG( wxT("wxExecute not implemented under MS-DOS!") ); + return 0; +} + +long wxExecute(char **WXUNUSED(argv), int WXUNUSED(flags), wxProcess *WXUNUSED(process)) +{ + wxFAIL_MSG( wxT("wxExecute not implemented under MS-DOS!") ); + return 0; +} + +wxToolkitInfo& wxConsoleAppTraits::GetToolkitInfo() +{ + static wxToolkitInfo info; + info.versionMajor = -1; // FIXME + info.versionMinor = -1; + info.name = _T("wxBase"); + info.os = wxDOS; + return info; +}