Warning, /frameworks/knewstuff/docs/EngineFlow.txt is written in an unsupported language. File is not indexed.
0001 This is how the KNS::Engine works.... 0002 it is a higher-level view which does not talk about KNS::DxsEngine 0003 or KNS::CoreEngine yet, those will be documented later. 0004 0005 General 0006 ------- 0007 0008 The KNS::Engine class is the only class that applications need to care 0009 about (beside the information from *.knsrc files of course). 0010 As such, this class should be as comfortable as possible. 0011 0012 There are two principal operations supported by it, upload and download. 0013 Other operations, especially direct interaction through DXS, is also 0014 handled by it since it inherits from DxsEngine. 0015 0016 Both principal operations have a modal and a non-modal way of being called. 0017 The modal way is the easiest one and translates the old 0018 KNS::DownloadDialog::open() 0019 call from KNewStuff1 to the new 0020 KNS::Engine::downloadDialogModal() 0021 call in KNewStuff2. Similarly, calling ::uploadDialogModal() handles all 0022 upload in a modal way, without the need for signals and slots. 0023 0024 The modal calls return the list of affected entries directly. These entries 0025 should be queried about their status for installed, removed and updated 0026 entries in the download dialog, and a single entry returned for the upload 0027 dialog. 0028 The non-modal calls will send signals for each affected entry. 0029 0030 Upload 0031 ------ 0032 0033 The state machine for modal upload is as follows: 0034 0035 * provider loading 0036 * failure(*) -> stop 0037 * finish(*) -> next/provider selection 0038 * provider(1) -> discard 0039 * provider selection 0040 * reject -> stop 0041 * accept -> next/meta data selection 0042 * meta data selection 0043 * reject -> stop 0044 * accept -> next/upload 0045 * upload 0046 * failure -> stop 0047 * success -> stop + result 0048