Update contrib.
3 By NicholaT 1st October 2001
5 * Fix for defect "Task Scheduler asserts that new schedules are inserted at the end of the list" (EXT-4ZT8K9)
9 By NicholaT 15th August 2001
11 * Fix for defect "Main, KERN-EXEC, 3" (WIR-4Z7J5T)
15 By AlexW 1st June 2001
17 * Fix for defect "Schedules.dat reserves all disk space although messages were sent" (WIR-4WPENB)
18 * Fix for defect "SchSvr: Too many unnecessary TNames on the heap" (WIR-4WPEPX)
19 * Fix for defect "SchSvr: Deleting a schedule doesn't cancel the schedule timer" (WIR-4WKD42)
20 * Fix for defect "Wins specific task scheduler start up problem" (WIR-4WXHU4)
21 * Fix for defect "A short message cannot be sent immeditely if there is a scheduled sms message in outbox." (WIR-4WYLUZ)
25 By ChrisD 6th April 2001
27 * Fix for defect "SMS sending during bidirectional cable data transfer HSCSD v.120 2+2" (EDNTPAN-4VHHMP)
31 By AlexW 28th February 2001
33 * Fixed for defect "Messages with "Resend" status are not sent after reboot" (EDNHLJT-4TRAAE)
37 By AlexW 9th June 2000
39 * Fix for defect "Task files are not created by the task scheduler" (EDNPHAR-4L3P6N)
40 * Fixed the task file creation code so that RFs are not leaked anymore
44 By AlexW 1st June 2000
46 * Fix for defect "Schedule server should use the cleanup stack more" (EDNCDUG-4KVJYF)
50 By ChrisD 6 April 2000
52 Remove unused variable warnings in schman.cpp.
56 By ChrisD 28 March 2000
58 Minor changes to fix build warnings in source & testcode. Reordered testcode
59 in bld.inf to build in dependency order. Updated testcode to accomodate new
60 Base API for RThread::Create and RProcess::CommandLine which has changed
61 in recent base releases.
63 All tests run successfully in wins udeb except TTASKLAUNCHING which is not
68 By AlexW 29 February 2000
70 * More boiler plating updates
71 * Test code reorganised - all test code now placed in "Test" subdirectory.
72 * New test code project to verify fixes for defects
73 * Update to TYear2000 so that it now builds properly
74 * Added minimal task handler as used by TScheduling test project and TYear2000
75 * Fix for defect "CTaskExecutor::DoCancelL() does nothing" (EDNAWIR-4FWKPR)
76 * Fix for defect "SCHSVR missing trailing L on internal server calls (and test code)"
82 By AlexW 24 January 2000
87 o Implemented change request AALR-4EDG75 (GT Change Requests). This required adding additional
88 parameters to two RScheduler methods.
89 o Fixed defect EDNAWIR-4FQJ6A - "Registering twice with the task scheduler causes a memory leak"
90 (Symbian Defect Tracking v3.0)
91 o Fixed defect EDNAWIR-4FRFR6 - "Can't retrieve task data when target buffer is too big to hold
92 the data" (Symbian Defect Tracking v3.0)
93 o Fixed defect EDNAWIR-4FQGXP - "Cannot schedule new tasks when schedule server data file is
94 missing" (Symbian Defect Tracking v3.0)
95 o Fixed defect EDNAWIR-4GQN48 - "CClientProxy leaves with a "count" value" (Symbian Defect
102 TTime& aNextDue is new - This returns the next time a task/shedule is due.
104 TInt RScheduler::GetScheduleL(const TInt aScheduleHandle, TScheduleState& aState,
105 CArrayFixFlat<TScheduleEntryInfo>& aEntries,
106 CArrayFixFlat<TTaskInfo>& aTasks,
110 TTime& aNextDue, TSchedulerItemRef& aRef are new - This returns the Schedule reference
111 for the taskId provided as parameter one, and also the next due time for this schedule.
113 TInt RScheduler::GetTaskInfoL(const TInt aTaskId, TTaskInfo& aTaskInfo, TPtr8& aTaskData,
114 TSchedulerItemRef& aRef, TTime& aNextDue);
120 o Added TScheduleBackup::OpenStoreOrCreateLC(...) which attempts to open the schedule
121 store, or if it doesn't exist, recreates it (schstore.cpp/h).
122 Updated TScheduleBackup to use this new method rather than opening the store explicitly.
124 o Amended CSchSession::RegisterClientL(...) to delete any existing iClient instance should
125 the client session have already registered previously (fixes memory leak).
127 o Added two new tests to tsch.cpp project, one to check the added Change Request functionality,
128 and the other, an additional task Id test.
130 o Added THelpers.cpp/h to provide support methods for the TSch test project.
135 All tests pass under WINS.
140 All projects for this component build for all platforms.
145 o testOOM<...> is bugged and no longer works due to the addition of error logging. This is not
146 a defect in the logging, but a defect in the test code.
147 o The tests are based heavily on timing. This prevents satisfactory testing on a target device.
148 Update the test exe and test code to use a semaphore to indicate successful exection rather than
149 relying on a timed delay.
154 By AlexW 22 November 1999
156 Added functionality to report and store task launching, and return value errors
157 to the log engine by implementing CClientProxy::FailedToExecute().
161 1) Renamed FailedToExecute() to FailedToExecuteL() as this method allocates memory and
162 may potentially leave.
164 2) Added new mixin MExecutorErrorHandler to the task executor header file (schexec.h).
165 The CClientProxy now implements the virtual function defined within this class, and
166 the task executor now requires a reference to this class during construction (this is
167 not an optional mixin). Should an error be returned by the launched task, then the
168 virtual function implemented by this mixin is called and error cleanup may occur.
170 3) Added new (private) active object, CLogSubmitter, to the CClientProxy class which
171 manages the submission of the log event to the log server (submission occurs
172 asynchronously). The active object waits for the completion of the submission, and
173 after completion has occurred, the CLogEvent object is destroyed.
175 In order to start the submission process, the active scheduler must be started.
176 Due to the nature of the task manager, the next active object to have its RunL
177 called is not necessarily the CLogSubmitter (another task may be scheduled to run
180 Because potentially many tasks may be executed in parallel, multiple errors may
181 occur at the same time for any single client. This therefore requires a nested
182 start of the active scheduler when the CClientProxy::iLogSubmitter is already active.
184 4) In order to store a contextual error message in the log, FailedToExecuteL() now
185 has another overload. This simply takes two parameters, the first being the error
186 code, and the second the error message to write to the log.
188 As the contextual error message can only be defined at the point in time immediately
189 before the tasks are executed, the error message is prepared by the CClientProxy
190 class (in CClientProxy::BuildTaskErrorMessageL(...)) and is subsequently 'given'
191 to the CTaskExecutor so that (should an error occur) it can inform the CClientProxy,
192 by way of the MExecutorErrorHandler mixin, of the error that occurred and the appropriate
193 message to write to the log.
195 Changed a lot of source files to use _LIT rather than #defined'd _Ls
197 Also correctly capitalized full paths in some source files (i.e. "C:\system" => "C:\System").
202 Steve Etherington 26 October 1999
203 Builds under current system.
204 No significant changes
208 Built by WilliamB 26 June 1998
210 Uses e32 128, e32tools 091, e32toolp 091, e32utils 018, f32 095, bafl 078, store 049
212 Release valids on a clean drive.
214 First release of task scheduler.
216 Deb/Rel interoperable.
218 Test code run and passed for all builds, except Y2K test code (tschy2k.exe) which
219 hasn't been run because the test plan hasn't been approved yet