1+ package  io.matthewnelson.topl_service_base 
2+ 
3+ import  androidx.annotation.StringDef 
4+ import  io.matthewnelson.topl_core_base.BaseConsts 
5+ 
6+ abstract  class  BaseServiceConsts : BaseConsts () {
7+ 
8+ 
9+     // /////////////////////////////
10+     // / BackgroundManagerPolicy ///
11+     // /////////////////////////////
12+     @Target(
13+         AnnotationTarget .CLASS ,
14+         AnnotationTarget .PROPERTY ,
15+         AnnotationTarget .VALUE_PARAMETER ,
16+         AnnotationTarget .TYPE 
17+     )
18+     @StringDef(
19+         BackgroundPolicy .RESPECT_RESOURCES ,
20+         BackgroundPolicy .RUN_IN_FOREGROUND 
21+     )
22+     @Retention(AnnotationRetention .SOURCE )
23+     annotation  class  BackgroundPolicy  {
24+         companion  object  {
25+             private  const  val  BACKGROUND_POLICY  =  " BackgroundPolicy_" 
26+             const  val  RESPECT_RESOURCES  =  " ${BACKGROUND_POLICY } RESPECT_RESOURCES" 
27+             const  val  RUN_IN_FOREGROUND  =  " ${BACKGROUND_POLICY } RUN_IN_FOREGROUND" 
28+         }
29+     }
30+ 
31+ 
32+     // /////////////////////
33+     // / TorServicePrefs ///
34+     // /////////////////////
35+     @StringDef(
36+         PrefKeyBoolean .DISABLE_NETWORK ,
37+         PrefKeyBoolean .HAS_BRIDGES ,
38+         PrefKeyBoolean .HAS_COOKIE_AUTHENTICATION ,
39+         PrefKeyBoolean .HAS_DEBUG_LOGS ,
40+         PrefKeyBoolean .HAS_DORMANT_CANCELED_BY_STARTUP ,
41+         PrefKeyBoolean .HAS_OPEN_PROXY_ON_ALL_INTERFACES ,
42+         PrefKeyBoolean .HAS_REACHABLE_ADDRESS ,
43+         PrefKeyBoolean .HAS_REDUCED_CONNECTION_PADDING ,
44+         PrefKeyBoolean .HAS_SAFE_SOCKS ,
45+         PrefKeyBoolean .HAS_STRICT_NODES ,
46+         PrefKeyBoolean .HAS_TEST_SOCKS ,
47+         PrefKeyBoolean .IS_AUTO_MAP_HOSTS_ON_RESOLVE ,
48+         PrefKeyBoolean .IS_RELAY ,
49+         PrefKeyBoolean .RUN_AS_DAEMON ,
50+         PrefKeyBoolean .USE_SOCKS5 
51+     )
52+     @Retention(AnnotationRetention .SOURCE )
53+     annotation  class  PrefKeyBoolean  {
54+         companion  object  {
55+             //  Keys for returning Booleans
56+             const  val  DISABLE_NETWORK  =  " DISABLE_NETWORK" 
57+             const  val  HAS_BRIDGES  =  " HAS_BRIDGES" 
58+             const  val  HAS_COOKIE_AUTHENTICATION  =  " HAS_COOKIE_AUTHENTICATION" 
59+             const  val  HAS_DEBUG_LOGS  =  " HAS_DEBUG_LOGS" 
60+             const  val  HAS_DORMANT_CANCELED_BY_STARTUP  =  " HAS_DORMANT_CANCELED_BY_STARTUP" 
61+             const  val  HAS_OPEN_PROXY_ON_ALL_INTERFACES  =  " HAS_OPEN_PROXY_ON_ALL_INTERFACES" 
62+             const  val  HAS_REACHABLE_ADDRESS  =  " HAS_REACHABLE_ADDRESS" 
63+             const  val  HAS_REDUCED_CONNECTION_PADDING  =  " HAS_REDUCED_CONNECTION_PADDING" 
64+             const  val  HAS_SAFE_SOCKS  =  " HAS_SAFE_SOCKS" 
65+             const  val  HAS_STRICT_NODES  =  " HAS_STRICT_NODES" 
66+             const  val  HAS_TEST_SOCKS  =  " HAS_TEST_SOCKS" 
67+             const  val  IS_AUTO_MAP_HOSTS_ON_RESOLVE  =  " IS_AUTO_MAP_HOSTS_ON_RESOLVE" 
68+             const  val  IS_RELAY  =  " IS_RELAY" 
69+             const  val  RUN_AS_DAEMON  =  " RUN_AS_DAEMON" 
70+             const  val  USE_SOCKS5  =  " USE_SOCKS5" 
71+         }
72+     }
73+ 
74+     @StringDef(
75+         PrefKeyInt .DORMANT_CLIENT_TIMEOUT ,
76+         PrefKeyInt .PROXY_PORT ,
77+         PrefKeyInt .PROXY_SOCKS5_SERVER_PORT 
78+     )
79+     @Retention(AnnotationRetention .SOURCE )
80+     annotation  class  PrefKeyInt  {
81+         companion  object  {
82+             //  Keys for returning Ints
83+             const  val  DORMANT_CLIENT_TIMEOUT  =  " DORMANT_CLIENT_TIMEOUT" 
84+             const  val  PROXY_PORT  =  " PROXY_PORT" 
85+             const  val  PROXY_SOCKS5_SERVER_PORT  =  " PROXY_SOCKS5_SERVER_PORT" 
86+         }
87+     }
88+ 
89+     @StringDef(
90+         PrefKeyList .DNS_PORT_ISOLATION_FLAGS ,
91+         PrefKeyList .HTTP_TUNNEL_PORT_ISOLATION_FLAGS ,
92+         PrefKeyList .SOCKS_PORT_ISOLATION_FLAGS ,
93+         PrefKeyList .TRANS_PORT_ISOLATION_FLAGS ,
94+         PrefKeyList .USER_DEFINED_BRIDGES 
95+     )
96+     @Retention(AnnotationRetention .SOURCE )
97+     annotation  class  PrefKeyList  {
98+         companion  object  {
99+             //  Keys for returning Lists
100+             const  val  DNS_PORT_ISOLATION_FLAGS  =  " DNS_PORT_ISOLATION_FLAGS" 
101+             const  val  HTTP_TUNNEL_PORT_ISOLATION_FLAGS  =  " HTTP_PORT_ISOLATION_FLAGS" 
102+             const  val  SOCKS_PORT_ISOLATION_FLAGS  =  " SOCKS_PORT_ISOLATION_FLAGS" 
103+             const  val  TRANS_PORT_ISOLATION_FLAGS  =  " TRANS_PORT_ISOLATION_FLAGS" 
104+             const  val  USER_DEFINED_BRIDGES  =  " USER_DEFINED_BRIDGES" 
105+         }
106+     }
107+ 
108+     @StringDef(
109+         PrefKeyString .DNS_PORT ,
110+         PrefKeyString .CUSTOM_TORRC ,
111+         PrefKeyString .ENTRY_NODES ,
112+         PrefKeyString .EXCLUDED_NODES ,
113+         PrefKeyString .EXIT_NODES ,
114+         PrefKeyString .HTTP_TUNNEL_PORT ,
115+         PrefKeyString .PROXY_HOST ,
116+         PrefKeyString .PROXY_PASSWORD ,
117+         PrefKeyString .PROXY_SOCKS5_HOST ,
118+         PrefKeyString .PROXY_TYPE ,
119+         PrefKeyString .PROXY_USER ,
120+         PrefKeyString .REACHABLE_ADDRESS_PORTS ,
121+         PrefKeyString .RELAY_NICKNAME ,
122+         PrefKeyString .RELAY_PORT ,
123+         PrefKeyString .SOCKS_PORT ,
124+         PrefKeyString .VIRTUAL_ADDRESS_NETWORK ,
125+         PrefKeyString .HAS_CONNECTION_PADDING ,
126+         PrefKeyString .TRANS_PORT 
127+     )
128+     @Retention(AnnotationRetention .SOURCE )
129+     annotation  class  PrefKeyString  {
130+         companion  object  {
131+             //  Keys for returning Strings
132+             const  val  DNS_PORT  =  " DNS_PORT" 
133+             const  val  CUSTOM_TORRC  =  " CUSTOM_TORRC" 
134+             const  val  ENTRY_NODES  =  " ENTRY_NODES" 
135+             const  val  EXCLUDED_NODES  =  " EXCLUDED_NODES" 
136+             const  val  EXIT_NODES  =  " EXIT_NODES" 
137+             const  val  HTTP_TUNNEL_PORT  =  " HTTP_TUNNEL_PORT" 
138+             const  val  PROXY_HOST  =  " PROXY_HOST" 
139+             const  val  PROXY_PASSWORD  =  " PROXY_PASSWORD" 
140+             const  val  PROXY_SOCKS5_HOST  =  " PROXY_SOCKS5_HOST" 
141+             const  val  PROXY_TYPE  =  " PROXY_TYPE" 
142+             const  val  PROXY_USER  =  " PROXY_USER" 
143+             const  val  REACHABLE_ADDRESS_PORTS  =  " REACHABLE_ADDRESS_PORTS" 
144+             const  val  RELAY_NICKNAME  =  " RELAY_NICKNAME" 
145+             const  val  RELAY_PORT  =  " RELAY_PORT" 
146+             const  val  SOCKS_PORT  =  " SOCKS_PORT" 
147+             const  val  VIRTUAL_ADDRESS_NETWORK  =  " VIRTUAL_ADDRESS_NETWORK" 
148+             const  val  HAS_CONNECTION_PADDING  =  " HAS_CONNECTION_PADDING" 
149+             const  val  TRANS_PORT  =  " TRANS_PORT" 
150+         }
151+     }
152+ }
0 commit comments