* This file is part of LyX, the document processor.
* Licence details can be found in the file COPYING.
*
- * \author Lars Gullik Bjønnes
+ * \author Lars Gullik Bjønnes
*
* Full author contact details are available in file CREDITS.
*/
#include "support/FileName.h"
-#include <boost/noncopyable.hpp>
-
-#include <string>
namespace lyx {
namespace support {
* change to a directory as the cwd, for example :
*
* if (blah) {
- * Path p("/tmp/blah");
+ * FileName pp("/tmp/blah");
+ * PathChanger p(pp);
* ...
* }
*
* At the end of p's scope the cwd is reset to its previous value.
*/
-class Path : boost::noncopyable {
+class PathChanger {
public:
/// change to the given directory
- explicit Path(FileName const & path);
+ explicit PathChanger(FileName const & path);
/// set cwd to the previous value if needed
- ~Path();
+ ~PathChanger();
/// set cwd to the previous value if needed
int pop();
private:
+ /// noncopyable
+ PathChanger(PathChanger const &);
+ void operator=(PathChanger const &);
+
/// whether we are in the new cwd or not
bool popped_;
/// the previous cwd
};
// To avoid the wrong usage:
-// Path("/tmp"); // wrong
-// Path p("/tmp"); // right
+// PathChanger("/tmp"); // wrong
+// PathChanger p("/tmp"); // right
// we add this macro:
-///
-// With boost 1.34 this is not usable anymore
-//#ifndef PATH_C
-//#define Path(x) unnamed_Path;
-//#endif
+#define PathChanger(x) unnamed_PathChanger;
// Tip gotten from Bobby Schmidt's column in C/C++ Users Journal
} // namespace support
} // namespace lyx
+#ifdef __APPLE__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+int getPrivateFrameworkPathName(char * buf, unsigned len, char const * framework);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+
+
#endif // PATH_H