javaruntimes/jvmargmodifier/default/inc/jvmargsmodifier.h
author hgs
Mon, 04 Oct 2010 11:29:25 +0300
changeset 78 71ad690e91f5
parent 21 2a9601315dfc
permissions -rw-r--r--
v2.2.17_1

/*
* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of "Eclipse Public License v1.0"
* which accompanies this distribution, and is available
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
*
* Initial Contributors:
* Nokia Corporation - initial contribution.
*
* Contributors:
*
* Description:  A method for modifying the JVM args.
*
*/


#ifndef JVMARGSMODIFIER_H
#define JVMARGSMODIFIER_H

#include "javaoslayer.h"

#include <string>
#include <list>

namespace java // codescanner::namespace
{

namespace runtime // codescanner::namespace
{

/**
 * Provides a way for modifying the JVM arguments from some external
 * source. In the rom there will be an empty implementation of this method
 * which can be overridden by eclipsing javajvmargsmodifier.dll having this
 * method in ordinal 1. The modifier has full control of each argument passed
 * to the JVM. The arguments are divided into two categories - the arguments
 * for the JVM and the arguments for the application. Both are modifyable by
 * the external source modifier.
 * @param identifier An idetifier that can be used to distinguish different
 *                   runtimes.
 * @param jvmArgs    A list of Jvm args. This list contains all the arguments
 *                   before the main class.
 * @param applicationAndArgs A list that contains the main class as a first
 *                           item in the list. The leading item(s) in the
 *                           list are the arguments for the main method of
 *                           the main class.
 */
OS_IMPORT void modifyJvmArguments(const std::wstring& identifier,
                                  std::list<std::wstring>& jvmArgs,
                                  std::list<std::wstring>& applicationAndArgs);
} // end namespace runtime
} // end namespace java


#endif // JVMARGSMODIFIER_H