Merge 1. Pull in cpp files in the performance enhanced Khronos RI OVG files which are newly added. I've ignored platform-specific cpp files for linux, macosx, and null operating systems because this local solution has its own platform glue (i.e. facility to target Bitmaps but no full windowing support). I've ignored sfEGLInterface.cpp because this is used as a bridge to go from EGL to Nokia's Platsim which offers an EGL service. That's not relevant to this implementation because this is ARM side code, not Intel side. I just left a comment to sfEGLInterface.cpp in case we need to pick up this later on. The current code compiles on winscw. Prior to this fix, the code works on winscw, and can launch the SVG tiger (tiger.exe). That takes about 20 seconds to render. I hope to always be able to show this icon on each commit, and the plan is for the render time to reduce with this series of submissions. On this commit, the tiger renders ok in 20 seconds.
// Copyright (c) 2005-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:
// SSCForStartupMode0.rss
// Modified default resource file to test graphics
// Modifications:
// - addition of eshell
//
//
#include "startup.rh"
//
// ENTRY POINT
//
// THIS MUST BE THE FIRST RESOURCE. The system relies on
// this having a resource ID of 1
RESOURCE STARTUP_ENTRY_POINT r_entry_point
{
entry_point = r_startup_state_critical_static;
}
//
//
// CRITICAL-STATIC startup state
//
RESOURCE STATE_INFO r_startup_state_critical_static
{
id = EStartupStateCriticalStatic;
name = "Critical Static";
command_list = r_critical_static_commands;
next = r_startup_state_critical_dynamic;
}
RESOURCE COMMAND_ARRAY r_critical_static_commands
{
commands =
{
START_PROCESS_INFO
{
path = "Z:\\sys\\bin\\SysAgt2Svr.exe";
start_method = EWaitForStart;
no_of_retries_on_failure = 2;
},
START_PROCESS_INFO
{
path = "Z:\\sys\\bin\\fbserv.exe";
start_method = EWaitForStart;
no_of_retries_on_failure = 1;
},
START_PROCESS_INFO
{
path = "Z:\\sys\\bin\\ewsrv.exe";
args = "-NoShell";
start_method = EWaitForStart;
},
SPLASH_SCREEN
{
path = "Z:\\sys\\bin\\splash.exe";
},
START_PROCESS_INFO
{
path = "Z:\\sys\\bin\\eiksrvs.exe";
args = "-OnlyStartDependentServers";
start_method = EWaitForStart;
},
START_PROCESS_INFO
{
path = "Z:\\sys\\bin\\tzserver.exe";
start_method = EWaitForStart;
}
};
}
//
// CRITICAL-DYNAMIC startup state
//
RESOURCE STATE_INFO r_startup_state_critical_dynamic
{
id = EStartupStateCriticalDynamic;
name = "Critical Dynamic";
command_list = r_critical_dynamic_commands;
next = r_startup_state_networking_critical;
}
RESOURCE COMMAND_ARRAY r_critical_dynamic_commands
{
commands =
{
START_PROCESS_INFO
{
path = "Z:\\sys\\bin\\initialiselocale.exe";
start_method = EWaitForStart;
fail_on_error = EIgnoreCommandFailure;
},
START_PROCESS_INFO
{
path = "Z:\\sys\\bin\\apsexe.exe";
start_method = EWaitForStart; // this is the only method allowable for apsexe.exe
},
START_APP_INFO
{
path = "Z:\\sys\\bin\\shell.exe"; // Requires apparc to be properly started
start_method = EDeferredWaitForStart;
viewless = 1;
},
MULTIPLE_WAIT
{
timeout = 0;
fail_on_error = EPanicOnCommandFailure;
},
SPLASH_SCREEN
{
kill = 1;
}
};
}
//
// Networking-CRITICAL startup state
//
RESOURCE STATE_INFO r_startup_state_networking_critical
{
id = EStartupStateNetworkingCritical;
name = "Networking-Critical";
command_list = r_networking_critical_commands;
next = r_startup_state_non_critical;
}
RESOURCE COMMAND_ARRAY r_networking_critical_commands
{
commands =
{
START_PROCESS_INFO
{
path = "Z:\\sys\\bin\\c32start.exe";
start_method = EWaitForStart;
},
START_PROCESS_INFO
{
path = "Z:\\sys\\bin\\msexe.exe";
start_method = EWaitForStart;
},
START_PROCESS_INFO
{
path = "Z:\\sys\\bin\\watcher.exe";
start_method = EWaitForStart;
}
};
}
//
// NON-CRITICAL startup state
//
RESOURCE STATE_INFO r_startup_state_non_critical
{
id = EStartupStateNonCritical;
name = "Non-critical";
command_list = r_non_critical_commands;
next = 0; // No more state transitions
}
RESOURCE COMMAND_ARRAY r_non_critical_commands
{
commands =
{
START_APP_INFO
{
path = "Z:\\sys\\bin\\eshell.exe";
viewless = 1;
},
START_PROCESS_INFO
{
path = "Z:\\sys\\bin\\SystemAMS.exe";
args = "-boot";
fail_on_error = EIgnoreCommandFailure;
},
START_PROCESS_INFO
{
path = "Z:\\sys\\bin\\swidaemon.exe";
start_method = EWaitForStart;
},
START_PROCESS_INFO
{
path = "Z:\\sys\\bin\\cntsrv.exe";
args = "-nontransient";
fail_on_error = 0;
},
START_PROCESS_INFO
{
path = "Z:\\sys\\bin\\agsvexe.exe";
args = "-nontransient";
fail_on_error = 0;
},
START_PROCESS_INFO
{
path = "Z:\\sys\\bin\\fotaagent.exe";
fail_on_error = EIgnoreCommandFailure;
},
START_PROCESS_INFO
{
path = "z:\\sys\\bin\\Fepswitch.exe";
start_method = EFireAndForget;
fail_on_error = EIgnoreCommandFailure;
},
START_PROCESS_INFO
{
path = "Z:\\sys\\bin\\schexe.exe";
args = "sysstartschexe"; // Command line parameter passed to schexe.exe
fail_on_error = EIgnoreCommandFailure; //Task Scheduler may have already been started by a client
}
};
}