1 /********************************************************************** 2 3 Audacity: A Digital Audio Editor 4 5 PlatformCompatibility.h 6 7 Platform-specific compatibility functions 8 9 This file implements functions needed to work around 10 platform-specific problems and which cannot be solved by a simple 11 #ifdef/#endif plus two or three lines additional code. Wherever 12 possible, the implementation should be such, that the function is 13 implemented on every platform, but is a dummy for those platforms 14 on which it is not needed, so additional #ifdef's are unnecessary. 15 16 Markus Meyer 17 18 **********************************************************************/ 19 20 #ifndef __AUDACITY_COMPATIBILITY__ 21 #define __AUDACITY_COMPATIBILITY__ 22 23 #include "Identifier.h" 24 25 class FILES_API PlatformCompatibility 26 { 27 public: 28 // 29 // On Win32, this function gets the long file name (like 30 // "C:\Program Files\Project.aup3") from a short file name like 31 // "C:\PROGRA~1\PROJEC~1.AUP. On other systems, the function 32 // just returns the exact string it is given. 33 // 34 static FilePath GetLongFileName(const FilePath& shortFileName); 35 36 // 37 // Get filename and path of executable (e.g. "/usr/bin/audacity" on 38 // Linux or "C:\Program Files\Audacity\Audacity.exe" on Windows) 39 // This string is unchanging 40 // 41 static const FilePath &GetExecutablePath(); 42 }; 43 44 #endif 45