| /******************************************************************************* |
| * Copyright (c) 2000, 2010 IBM Corporation and others. |
| * |
| * This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License 2.0 |
| * which accompanies this distribution, and is available at |
| * https://www.eclipse.org/legal/epl-2.0/ |
| * |
| * SPDX-License-Identifier: EPL-2.0 |
| * |
| * Contributors: |
| * IBM Corporation - initial API and implementation |
| *******************************************************************************/ |
| |
| #ifndef ECLIPSE_CONFIG_H |
| #define ECLIPSE_CONFIG_H |
| |
| /* Configuration file reading utilities */ |
| |
| /** |
| * Reads a configuration file for the corresponding |
| * program argument. |
| * e.g if the program argument contains "c:/folder/eclipse.exe" |
| * then the config file "c:/folder/eclipse.ini" will be parsed. |
| * On a Unix like platform, for a program argument "/usr/eclipse/eclipse" |
| * should correspond a configuration file "/usr/eclipse/eclipse.ini" |
| * |
| * This method will call readConfigFile to read the actual ini file |
| * |
| * This method will use getIniFile with a value for consoleLauncher that |
| * is determined at compile time. Clients who are not the actual |
| * win32 console executable should instead use getIniFile and readConfigFile. |
| * |
| * Returns 0 if success. |
| */ |
| extern int readIniFile(_TCHAR* program, int *argc, _TCHAR ***argv); |
| |
| /** |
| * Return the path to the launcher ini file for the corresponding program |
| * argument. On win32, an "eclipsec.exe' console launcher can use the "eclipse.ini" |
| * ini file. |
| * consoleLauncher : whether or not we are using the win32 "eclipsec" console launcher |
| * has no affect on other platforms |
| */ |
| extern _TCHAR* getIniFile(_TCHAR* program, int consoleLauncher); |
| |
| /** |
| * Reads the given configuration file |
| * The argument argv refers to a newly allocated array of strings. |
| * The first entry is the program name to mimic the expectations |
| * from a typical argv list. |
| * The last entry of that array is NULL. |
| * Each non NULL entry in that array must be freed by the caller |
| * as well as the array itself, using freeConfig(). |
| * The argument argc contains the number of string allocated. |
| * |
| * Returns 0 if success. |
| */ |
| extern int readConfigFile( _TCHAR * config_file, int *argc, _TCHAR ***argv ); |
| /** |
| * Free the memory allocated by readConfigFile(). |
| */ |
| extern void freeConfig(_TCHAR **args); |
| |
| #endif /* ECLIPSE_CONFIG_H */ |