diff options
author | Valentin Rothberg <rothberg@redhat.com> | 2020-03-10 18:18:58 +0100 |
---|---|---|
committer | Valentin Rothberg <rothberg@redhat.com> | 2020-03-10 18:34:55 +0100 |
commit | 450361fc640751c2a33210a02ceff0874c9f449b (patch) | |
tree | eb0f958a0c46f769e344faf8732e5327b9458ca0 /vendor/github.com/godbus/dbus/v5/call.go | |
parent | 3d48940927b1133e2bfd1c3accba84345cc56ee6 (diff) | |
download | podman-450361fc640751c2a33210a02ceff0874c9f449b.tar.gz podman-450361fc640751c2a33210a02ceff0874c9f449b.tar.bz2 podman-450361fc640751c2a33210a02ceff0874c9f449b.zip |
update systemd & dbus dependencies
Update the outdated systemd and dbus dependencies which are now provided
as go modules. This will further tighten our dependencies and releases
and pave the way for the upcoming auto-update feature.
Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
Diffstat (limited to 'vendor/github.com/godbus/dbus/v5/call.go')
-rw-r--r-- | vendor/github.com/godbus/dbus/v5/call.go | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/vendor/github.com/godbus/dbus/v5/call.go b/vendor/github.com/godbus/dbus/v5/call.go new file mode 100644 index 000000000..2cb189012 --- /dev/null +++ b/vendor/github.com/godbus/dbus/v5/call.go @@ -0,0 +1,60 @@ +package dbus + +import ( + "context" + "errors" +) + +var errSignature = errors.New("dbus: mismatched signature") + +// Call represents a pending or completed method call. +type Call struct { + Destination string + Path ObjectPath + Method string + Args []interface{} + + // Strobes when the call is complete. + Done chan *Call + + // After completion, the error status. If this is non-nil, it may be an + // error message from the peer (with Error as its type) or some other error. + Err error + + // Holds the response once the call is done. + Body []interface{} + + // tracks context and canceler + ctx context.Context + ctxCanceler context.CancelFunc +} + +func (c *Call) Context() context.Context { + if c.ctx == nil { + return context.Background() + } + + return c.ctx +} + +func (c *Call) ContextCancel() { + if c.ctxCanceler != nil { + c.ctxCanceler() + } +} + +// Store stores the body of the reply into the provided pointers. It returns +// an error if the signatures of the body and retvalues don't match, or if +// the error status is not nil. +func (c *Call) Store(retvalues ...interface{}) error { + if c.Err != nil { + return c.Err + } + + return Store(c.Body, retvalues...) +} + +func (c *Call) done() { + c.Done <- c + c.ContextCancel() +} |