Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'features/org.eclipse.equinox.executable.feature/library/eclipseCommon.h')
-rw-r--r--features/org.eclipse.equinox.executable.feature/library/eclipseCommon.h106
1 files changed, 106 insertions, 0 deletions
diff --git a/features/org.eclipse.equinox.executable.feature/library/eclipseCommon.h b/features/org.eclipse.equinox.executable.feature/library/eclipseCommon.h
new file mode 100644
index 000000000..655f90122
--- /dev/null
+++ b/features/org.eclipse.equinox.executable.feature/library/eclipseCommon.h
@@ -0,0 +1,106 @@
+/*******************************************************************************
+ * Copyright (c) 2006, 2009 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ * Andrew Niefer
+ *******************************************************************************/
+
+#ifndef ECLIPSE_COMMON_H
+#define ECLIPSE_COMMON_H
+
+#include "eclipseUnicode.h"
+
+/* Variables and Methods that will be needed by both the executable and the library */
+
+#define MAX_PATH_LENGTH 2000
+
+#ifdef UNICODE
+#define run runW
+#define setInitialArgs setInitialArgsW
+#define RUN_METHOD _T_ECLIPSE("runW")
+#define SET_INITIAL_ARGS _T_ECLIPSE("setInitialArgsW")
+#else
+#define RUN_METHOD _T_ECLIPSE("run")
+#define SET_INITIAL_ARGS _T_ECLIPSE("setInitialArgs")
+#endif
+
+#define DEFAULT_EQUINOX_STARTUP _T_ECLIPSE("org.eclipse.equinox.launcher")
+
+#ifdef _WIN32
+#define IS_ABSOLUTE(path) (path[0] == _T_ECLIPSE('/') || path[0] == _T_ECLIPSE('\\') || (path[0] != 0 && path[1] == _T_ECLIPSE(':')))
+#define IS_DIR_SEPARATOR(c) (c == _T_ECLIPSE('/') || c == _T_ECLIPSE('\\'))
+#else
+#define IS_ABSOLUTE(path) (path[0] == dirSeparator)
+#define IS_DIR_SEPARATOR(c) (c == dirSeparator)
+#endif
+
+extern _TCHAR* osArg;
+extern _TCHAR* osArchArg;
+extern _TCHAR* wsArg;
+
+extern _TCHAR dirSeparator; /* '/' or '\\' */
+extern _TCHAR pathSeparator; /* separator used in PATH variable */
+extern _TCHAR* eclipseLibrary; /* path the the eclipse_<ver>.so shared library */
+
+extern char *toNarrow(const _TCHAR* src);
+
+ /*
+ * Find the absolute pathname to where a command resides.
+ *
+ * The string returned by the function must be freed.
+ * Symlinks are resolved
+ */
+extern _TCHAR* findCommand( _TCHAR* command );
+
+/*
+ * Same as findCommand but optionally resolve symlinks
+ */
+extern _TCHAR* findSymlinkCommand( _TCHAR* command, int resolve );
+
+extern _TCHAR* findFile( _TCHAR* path, _TCHAR* prefix);
+
+extern _TCHAR* getProgramDir();
+
+extern _TCHAR* getOfficialName();
+
+extern void setOfficialName(_TCHAR * name);
+
+extern _TCHAR* getProgramPath();
+
+extern void setProgramPath(_TCHAR* name);
+
+extern _TCHAR* resolveSymlinks( _TCHAR* path );
+
+/** Display a Message
+ *
+ * This method is called to display an error message to the user before exiting.
+ * The method should not return until the user has acknowledged
+ * the message. This method may be called before the window
+ * system has been initialized. The program should exit after calling this method.
+ */
+extern void displayMessage( _TCHAR* title, _TCHAR* message );
+
+/* Load the specified shared library
+ */
+extern void * loadLibrary( _TCHAR * library );
+
+/* Unload the shared library
+ */
+extern void unloadLibrary( void * handle );
+
+/* Find the given symbol in the shared library
+ */
+extern void * findSymbol( void * handle, _TCHAR * symbol );
+
+/* check the given path and attempt to make it absolute if it is relative */
+extern _TCHAR* checkPath( _TCHAR* path, _TCHAR* programDir, int reverseOrder );
+
+extern _TCHAR * lastDirSeparator(_TCHAR* str);
+
+extern _TCHAR * firstDirSeparator(_TCHAR* str);
+#endif

Back to the top