sl@0: Release 016 sl@0: ----------- sl@0: By NicholaT 1st October 2001 sl@0: sl@0: * Fix for defect "Task Scheduler asserts that new schedules are inserted at the end of the list" (EXT-4ZT8K9) sl@0: sl@0: Release 015 sl@0: ----------- sl@0: By NicholaT 15th August 2001 sl@0: sl@0: * Fix for defect "Main, KERN-EXEC, 3" (WIR-4Z7J5T) sl@0: sl@0: Release 014 sl@0: ----------- sl@0: By AlexW 1st June 2001 sl@0: sl@0: * Fix for defect "Schedules.dat reserves all disk space although messages were sent" (WIR-4WPENB) sl@0: * Fix for defect "SchSvr: Too many unnecessary TNames on the heap" (WIR-4WPEPX) sl@0: * Fix for defect "SchSvr: Deleting a schedule doesn't cancel the schedule timer" (WIR-4WKD42) sl@0: * Fix for defect "Wins specific task scheduler start up problem" (WIR-4WXHU4) sl@0: * Fix for defect "A short message cannot be sent immeditely if there is a scheduled sms message in outbox." (WIR-4WYLUZ) sl@0: sl@0: Release 013 sl@0: ----------- sl@0: By ChrisD 6th April 2001 sl@0: sl@0: * Fix for defect "SMS sending during bidirectional cable data transfer HSCSD v.120 2+2" (EDNTPAN-4VHHMP) sl@0: sl@0: Release 012 sl@0: ----------- sl@0: By AlexW 28th February 2001 sl@0: sl@0: * Fixed for defect "Messages with "Resend" status are not sent after reboot" (EDNHLJT-4TRAAE) sl@0: sl@0: Release 011 sl@0: ----------- sl@0: By AlexW 9th June 2000 sl@0: sl@0: * Fix for defect "Task files are not created by the task scheduler" (EDNPHAR-4L3P6N) sl@0: * Fixed the task file creation code so that RFs are not leaked anymore sl@0: sl@0: Release 010 sl@0: ----------- sl@0: By AlexW 1st June 2000 sl@0: sl@0: * Fix for defect "Schedule server should use the cleanup stack more" (EDNCDUG-4KVJYF) sl@0: sl@0: Release 009 sl@0: ----------- sl@0: By ChrisD 6 April 2000 sl@0: sl@0: Remove unused variable warnings in schman.cpp. sl@0: sl@0: Release 008 sl@0: ----------- sl@0: By ChrisD 28 March 2000 sl@0: sl@0: Minor changes to fix build warnings in source & testcode. Reordered testcode sl@0: in bld.inf to build in dependency order. Updated testcode to accomodate new sl@0: Base API for RThread::Create and RProcess::CommandLine which has changed sl@0: in recent base releases. sl@0: sl@0: All tests run successfully in wins udeb except TTASKLAUNCHING which is not sl@0: complete yet. sl@0: sl@0: Release 007 sl@0: ----------- sl@0: By AlexW 29 February 2000 sl@0: sl@0: * More boiler plating updates sl@0: * Test code reorganised - all test code now placed in "Test" subdirectory. sl@0: * New test code project to verify fixes for defects sl@0: * Update to TYear2000 so that it now builds properly sl@0: * Added minimal task handler as used by TScheduling test project and TYear2000 sl@0: * Fix for defect "CTaskExecutor::DoCancelL() does nothing" (EDNAWIR-4FWKPR) sl@0: * Fix for defect "SCHSVR missing trailing L on internal server calls (and test code)" sl@0: (EDNAWIR-4GRLA4) sl@0: sl@0: sl@0: Release 006 sl@0: ----------- sl@0: By AlexW 24 January 2000 sl@0: sl@0: sl@0: Summary sl@0: ======= sl@0: o Implemented change request AALR-4EDG75 (GT Change Requests). This required adding additional sl@0: parameters to two RScheduler methods. sl@0: o Fixed defect EDNAWIR-4FQJ6A - "Registering twice with the task scheduler causes a memory leak" sl@0: (Symbian Defect Tracking v3.0) sl@0: o Fixed defect EDNAWIR-4FRFR6 - "Can't retrieve task data when target buffer is too big to hold sl@0: the data" (Symbian Defect Tracking v3.0) sl@0: o Fixed defect EDNAWIR-4FQGXP - "Cannot schedule new tasks when schedule server data file is sl@0: missing" (Symbian Defect Tracking v3.0) sl@0: o Fixed defect EDNAWIR-4GQN48 - "CClientProxy leaves with a "count" value" (Symbian Defect sl@0: Tracking v3.0) sl@0: sl@0: sl@0: API Changes sl@0: =========== sl@0: sl@0: TTime& aNextDue is new - This returns the next time a task/shedule is due. sl@0: sl@0: TInt RScheduler::GetScheduleL(const TInt aScheduleHandle, TScheduleState& aState, sl@0: CArrayFixFlat& aEntries, sl@0: CArrayFixFlat& aTasks, sl@0: TTime& aNextDue); sl@0: sl@0: sl@0: TTime& aNextDue, TSchedulerItemRef& aRef are new - This returns the Schedule reference sl@0: for the taskId provided as parameter one, and also the next due time for this schedule. sl@0: sl@0: TInt RScheduler::GetTaskInfoL(const TInt aTaskId, TTaskInfo& aTaskInfo, TPtr8& aTaskData, sl@0: TSchedulerItemRef& aRef, TTime& aNextDue); sl@0: sl@0: sl@0: Source Changes sl@0: ============== sl@0: sl@0: o Added TScheduleBackup::OpenStoreOrCreateLC(...) which attempts to open the schedule sl@0: store, or if it doesn't exist, recreates it (schstore.cpp/h). sl@0: Updated TScheduleBackup to use this new method rather than opening the store explicitly. sl@0: sl@0: o Amended CSchSession::RegisterClientL(...) to delete any existing iClient instance should sl@0: the client session have already registered previously (fixes memory leak). sl@0: sl@0: o Added two new tests to tsch.cpp project, one to check the added Change Request functionality, sl@0: and the other, an additional task Id test. sl@0: sl@0: o Added THelpers.cpp/h to provide support methods for the TSch test project. sl@0: sl@0: sl@0: Testing sl@0: ======= sl@0: All tests pass under WINS. sl@0: sl@0: sl@0: Building sl@0: ======== sl@0: All projects for this component build for all platforms. sl@0: sl@0: sl@0: To Do sl@0: ===== sl@0: o testOOM<...> is bugged and no longer works due to the addition of error logging. This is not sl@0: a defect in the logging, but a defect in the test code. sl@0: o The tests are based heavily on timing. This prevents satisfactory testing on a target device. sl@0: Update the test exe and test code to use a semaphore to indicate successful exection rather than sl@0: relying on a timed delay. sl@0: sl@0: sl@0: Release 005 sl@0: ----------- sl@0: By AlexW 22 November 1999 sl@0: sl@0: Added functionality to report and store task launching, and return value errors sl@0: to the log engine by implementing CClientProxy::FailedToExecute(). sl@0: sl@0: Changes sl@0: ------- sl@0: 1) Renamed FailedToExecute() to FailedToExecuteL() as this method allocates memory and sl@0: may potentially leave. sl@0: sl@0: 2) Added new mixin MExecutorErrorHandler to the task executor header file (schexec.h). sl@0: The CClientProxy now implements the virtual function defined within this class, and sl@0: the task executor now requires a reference to this class during construction (this is sl@0: not an optional mixin). Should an error be returned by the launched task, then the sl@0: virtual function implemented by this mixin is called and error cleanup may occur. sl@0: sl@0: 3) Added new (private) active object, CLogSubmitter, to the CClientProxy class which sl@0: manages the submission of the log event to the log server (submission occurs sl@0: asynchronously). The active object waits for the completion of the submission, and sl@0: after completion has occurred, the CLogEvent object is destroyed. sl@0: sl@0: In order to start the submission process, the active scheduler must be started. sl@0: Due to the nature of the task manager, the next active object to have its RunL sl@0: called is not necessarily the CLogSubmitter (another task may be scheduled to run sl@0: instead). sl@0: sl@0: Because potentially many tasks may be executed in parallel, multiple errors may sl@0: occur at the same time for any single client. This therefore requires a nested sl@0: start of the active scheduler when the CClientProxy::iLogSubmitter is already active. sl@0: sl@0: 4) In order to store a contextual error message in the log, FailedToExecuteL() now sl@0: has another overload. This simply takes two parameters, the first being the error sl@0: code, and the second the error message to write to the log. sl@0: sl@0: As the contextual error message can only be defined at the point in time immediately sl@0: before the tasks are executed, the error message is prepared by the CClientProxy sl@0: class (in CClientProxy::BuildTaskErrorMessageL(...)) and is subsequently 'given' sl@0: to the CTaskExecutor so that (should an error occur) it can inform the CClientProxy, sl@0: by way of the MExecutorErrorHandler mixin, of the error that occurred and the appropriate sl@0: message to write to the log. sl@0: sl@0: Changed a lot of source files to use _LIT rather than #defined'd _Ls sl@0: sl@0: Also correctly capitalized full paths in some source files (i.e. "C:\system" => "C:\System"). sl@0: sl@0: sl@0: Release 004 sl@0: --------- sl@0: Steve Etherington 26 October 1999 sl@0: Builds under current system. sl@0: No significant changes sl@0: sl@0: Release 001 sl@0: ----------- sl@0: Built by WilliamB 26 June 1998 sl@0: sl@0: Uses e32 128, e32tools 091, e32toolp 091, e32utils 018, f32 095, bafl 078, store 049 sl@0: sl@0: Release valids on a clean drive. sl@0: sl@0: First release of task scheduler. sl@0: sl@0: Deb/Rel interoperable. sl@0: sl@0: Test code run and passed for all builds, except Y2K test code (tschy2k.exe) which sl@0: hasn't been run because the test plan hasn't been approved yet sl@0: since 003