|
Blender
V2.59
|
00001 /* 00002 * $Id: GHOST_ISystemPaths.cpp 35152 2011-02-25 11:28:33Z jesterking $ 00003 * ***** BEGIN GPL LICENSE BLOCK ***** 00004 * 00005 * This program is free software; you can redistribute it and/or 00006 * modify it under the terms of the GNU General Public License 00007 * as published by the Free Software Foundation; either version 2 00008 * of the License, or (at your option) any later version. 00009 * 00010 * This program is distributed in the hope that it will be useful, 00011 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00013 * GNU General Public License for more details. 00014 * 00015 * You should have received a copy of the GNU General Public License 00016 * along with this program; if not, write to the Free Software Foundation, 00017 * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 00018 * 00019 * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV. 00020 * All rights reserved. 00021 * 00022 * The Original Code is: all of this file. 00023 * 00024 * Contributor(s): none yet. 00025 * 00026 * ***** END GPL LICENSE BLOCK ***** 00027 */ 00028 00042 #include "GHOST_ISystemPaths.h" 00043 00044 #ifdef WIN32 00045 # include "GHOST_SystemPathsWin32.h" 00046 #else 00047 # ifdef __APPLE__ 00048 # ifdef GHOST_COCOA 00049 # include "GHOST_SystemPathsCocoa.h" 00050 # else 00051 # include "GHOST_SystemPathsCarbon.h" 00052 # endif 00053 # else 00054 # include "GHOST_SystemPathsX11.h" 00055 # endif 00056 #endif 00057 00058 00059 GHOST_ISystemPaths* GHOST_ISystemPaths::m_systemPaths = 0; 00060 00061 00062 GHOST_TSuccess GHOST_ISystemPaths::create() 00063 { 00064 GHOST_TSuccess success; 00065 if (!m_systemPaths) { 00066 #ifdef WIN32 00067 m_systemPaths = new GHOST_SystemPathsWin32 (); 00068 #else 00069 # ifdef __APPLE__ 00070 # ifdef GHOST_COCOA 00071 m_systemPaths = new GHOST_SystemPathsCocoa (); 00072 # else 00073 m_systemPaths = new GHOST_SystemPathsarbon (); 00074 # endif 00075 # else 00076 m_systemPaths = new GHOST_SystemPathsX11 (); 00077 # endif 00078 #endif 00079 success = m_systemPaths != 0 ? GHOST_kSuccess : GHOST_kFailure; 00080 } 00081 else { 00082 success = GHOST_kFailure; 00083 } 00084 return success; 00085 } 00086 00087 GHOST_TSuccess GHOST_ISystemPaths::dispose() 00088 { 00089 GHOST_TSuccess success = GHOST_kSuccess; 00090 if (m_systemPaths) { 00091 delete m_systemPaths; 00092 m_systemPaths = 0; 00093 } 00094 else { 00095 success = GHOST_kFailure; 00096 } 00097 return success; 00098 } 00099 00100 GHOST_ISystemPaths* GHOST_ISystemPaths::get() 00101 { 00102 if (!m_systemPaths) { 00103 create(); 00104 } 00105 return m_systemPaths; 00106 } 00107 00108 00109