2 * Copyright 2017, Andrew Lindesay <apl@lindesay.co.nz>.
3 * All rights reserved. Distributed under the terms of the MIT License.
5 #ifndef BULK_LOAD_STATE_MACHINE_H
6 #define BULK_LOAD_STATE_MACHINE_H
13 #include "AbstractServerProcess.h"
17 class BulkLoadStateMachine
: public AbstractServerProcessListener
{
19 BulkLoadStateMachine(Model
* model
);
20 virtual ~BulkLoadStateMachine();
27 void ServerProcessExited();
30 static status_t
StartProcess(void* cookie
);
32 void SetContextState(bulk_load_state state
);
33 void StopAllProcesses();
37 bulk_load_state targetState
);
39 static void InitiatePopulatePackagesForDepotCallback(
40 const DepotInfo
& depotInfo
,
43 status_t
InitiateServerProcess(
44 AbstractServerProcess
* process
);
45 status_t
InitiateBulkRepositories();
46 status_t
InitiateBulkPopulateIcons();
47 status_t
InitiateBulkPopulatePackagesForDepot(
48 const DepotInfo
& depotInfo
);
49 void InitiateBulkPopulatePackagesForAllDepots();
54 BulkLoadContext
* fBulkLoadContext
;
60 #endif // BULK_LOAD_STATE_MACHINE_H