Page Menu
Home
Phorge
Search
Configure Global Search
Log In
Files
F2894081
ArcanistRuntimeHardpointQuery.php
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Award Token
Flag For Later
Advanced/Developer...
View Handle
View Hovercard
Size
2 KB
Referenced Files
None
Subscribers
None
ArcanistRuntimeHardpointQuery.php
View Options
<?php
abstract
class
ArcanistRuntimeHardpointQuery
extends
ArcanistHardpointQuery
{
private
$runtime
;
private
$canLoadHardpoint
;
final
public
function
setRuntime
(
ArcanistRuntime
$runtime
)
{
$this
->
runtime
=
$runtime
;
return
$this
;
}
final
public
function
getRuntime
(
)
{
return
$this
->
runtime
;
}
final
public
function
getWorkingCopy
(
)
{
return
$this
->
getRuntime
(
)
->
getWorkingCopy
(
)
;
}
final
public
function
getRepositoryAPI
(
)
{
return
$this
->
getWorkingCopy
(
)
->
getRepositoryAPI
(
)
;
}
public
static
function
getAllQueries
(
)
{
return
id
(
new
PhutilClassMapQuery
(
)
)
->
setAncestorClass
(
__CLASS__
)
->
execute
(
)
;
}
final
public
function
canLoadObject
(
ArcanistHardpointObject
$object
)
{
if
(
$this
->
canLoadHardpoint
===
null
)
{
$this
->
canLoadHardpoint
=
$this
->
canLoadHardpoint
(
)
;
}
if
(
!
$this
->
canLoadHardpoint
)
{
return
false
;
}
if
(
!
$object
instanceof
ArcanistRef
)
{
return
false
;
}
return
$this
->
canLoadRef
(
$object
)
;
}
protected
function
canLoadHardpoint
(
)
{
return
true
;
}
abstract
protected
function
canLoadRef
(
ArcanistRef
$ref
)
;
final
public
function
newConduitSearch
(
$method
,
$constraints
,
$attachments
=
array
(
)
)
{
$conduit_engine
=
$this
->
getRuntime
(
)
->
getConduitEngine
(
)
;
$conduit_future
=
id
(
new
ConduitSearchFuture
(
)
)
->
setConduitEngine
(
$conduit_engine
)
->
setMethod
(
$method
)
->
setConstraints
(
$constraints
)
->
setAttachments
(
$attachments
)
;
return
$conduit_future
;
}
final
public
function
yieldConduitSearch
(
$method
,
$constraints
)
{
$conduit_future
=
$this
->
newConduitSearch
(
$method
,
$constraints
)
;
return
$this
->
yieldFuture
(
$conduit_future
)
;
}
final
public
function
newConduit
(
$method
,
$parameters
)
{
$conduit_engine
=
$this
->
getRuntime
(
)
->
getConduitEngine
(
)
;
$call_future
=
$conduit_engine
->
newFuture
(
$method
,
$parameters
)
;
return
$call_future
;
}
final
public
function
yieldConduit
(
$method
,
array
$parameters
)
{
$call_future
=
$this
->
newConduit
(
$method
,
$parameters
)
;
return
$this
->
yieldFuture
(
$call_future
)
;
}
final
public
function
yieldRepositoryRef
(
)
{
// TODO: This should probably move to Runtime.
$runtime
=
$this
->
getRuntime
(
)
;
$workflow
=
$runtime
->
getCurrentWorkflow
(
)
;
// TODO: This is currently a blocking request, but should yield to the
// hardpoint engine in the future.
$repository_ref
=
$workflow
->
getRepositoryRef
(
)
;
$ref_future
=
new
ImmediateFuture
(
$repository_ref
)
;
return
$this
->
yieldFuture
(
$ref_future
)
;
}
final
public
function
yieldValue
(
array
$refs
,
$value
)
{
assert_instances_of
(
$refs
,
'ArcanistRef'
)
;
$keys
=
array_keys
(
$refs
)
;
$map
=
array_fill_keys
(
$keys
,
$value
)
;
return
$this
->
yieldMap
(
$map
)
;
}
final
public
function
yieldMap
(
array
$map
)
{
return
new
ArcanistHardpointTaskResult
(
$map
)
;
}
}
File Metadata
Details
Attached
Mime Type
text/x-php
Expires
Sun, Jan 19, 19:21 (1 d, 20 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
1115393
Default Alt Text
ArcanistRuntimeHardpointQuery.php (2 KB)
Attached To
Mode
rARC Arcanist
Attached
Detach File
Event Timeline
Log In to Comment