xref: /aosp_15_r20/external/cronet/net/base/load_states.h (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1*6777b538SAndroid Build Coastguard Worker // Copyright 2011 The Chromium Authors
2*6777b538SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be
3*6777b538SAndroid Build Coastguard Worker // found in the LICENSE file.
4*6777b538SAndroid Build Coastguard Worker 
5*6777b538SAndroid Build Coastguard Worker #ifndef NET_BASE_LOAD_STATES_H__
6*6777b538SAndroid Build Coastguard Worker #define NET_BASE_LOAD_STATES_H__
7*6777b538SAndroid Build Coastguard Worker 
8*6777b538SAndroid Build Coastguard Worker #include <string>
9*6777b538SAndroid Build Coastguard Worker 
10*6777b538SAndroid Build Coastguard Worker 
11*6777b538SAndroid Build Coastguard Worker namespace net {
12*6777b538SAndroid Build Coastguard Worker 
13*6777b538SAndroid Build Coastguard Worker // These states correspond to the lengthy periods of time that a resource load
14*6777b538SAndroid Build Coastguard Worker // may be blocked and unable to make progress.
15*6777b538SAndroid Build Coastguard Worker enum LoadState {
16*6777b538SAndroid Build Coastguard Worker 
17*6777b538SAndroid Build Coastguard Worker #define LOAD_STATE(label, value) LOAD_STATE_##label,
18*6777b538SAndroid Build Coastguard Worker #include "net/base/load_states_list.h"
19*6777b538SAndroid Build Coastguard Worker #undef LOAD_STATE
20*6777b538SAndroid Build Coastguard Worker 
21*6777b538SAndroid Build Coastguard Worker };
22*6777b538SAndroid Build Coastguard Worker 
23*6777b538SAndroid Build Coastguard Worker // Some states, like LOAD_STATE_WAITING_FOR_DELEGATE, are associated with extra
24*6777b538SAndroid Build Coastguard Worker // data that describes more precisely what the delegate (for example) is doing.
25*6777b538SAndroid Build Coastguard Worker // This class provides an easy way to hold a load state with an extra parameter.
26*6777b538SAndroid Build Coastguard Worker struct LoadStateWithParam {
27*6777b538SAndroid Build Coastguard Worker   LoadState state;
28*6777b538SAndroid Build Coastguard Worker   std::u16string param;
LoadStateWithParamLoadStateWithParam29*6777b538SAndroid Build Coastguard Worker   LoadStateWithParam() : state(LOAD_STATE_IDLE) {}
LoadStateWithParamLoadStateWithParam30*6777b538SAndroid Build Coastguard Worker   LoadStateWithParam(LoadState state, const std::u16string& param)
31*6777b538SAndroid Build Coastguard Worker       : state(state), param(param) {}
32*6777b538SAndroid Build Coastguard Worker };
33*6777b538SAndroid Build Coastguard Worker 
34*6777b538SAndroid Build Coastguard Worker }  // namespace net
35*6777b538SAndroid Build Coastguard Worker 
36*6777b538SAndroid Build Coastguard Worker #endif  // NET_BASE_LOAD_STATES_H__
37