[#369] status: Support WRONG_MAGIC_NUMBER code and detail
Define constant for `WrongMagicNumber` local code. Define constant `DetailIDCorrect` for correct magic detail. Add `ResetDetails` and `AppendDetails` method pair. Replace `SetDetails` method with new `SetStatusDetails` function which can be implemented using new methods. Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
This commit is contained in:
parent
959d1c8c38
commit
32dd0bb3f9
4 changed files with 27 additions and 4 deletions
|
@ -106,9 +106,22 @@ func (x *Status) IterateDetails(f func(*Detail) bool) {
|
|||
}
|
||||
}
|
||||
|
||||
// SetDetails sets Detail list of the Status.
|
||||
func (x *Status) SetDetails(v []*Detail) {
|
||||
// ResetDetails empties the detail list.
|
||||
func (x *Status) ResetDetails() {
|
||||
if x != nil {
|
||||
x.details = v
|
||||
x.details = x.details[:0]
|
||||
}
|
||||
}
|
||||
|
||||
// AppendDetails appends the list of details to the Status.
|
||||
func (x *Status) AppendDetails(ds ...*Detail) {
|
||||
if x != nil {
|
||||
x.details = append(x.details, ds...)
|
||||
}
|
||||
}
|
||||
|
||||
// SetStatusDetails sets Detail list of the Status.
|
||||
func SetStatusDetails(dst *Status, ds []*Detail) {
|
||||
dst.ResetDetails()
|
||||
dst.AppendDetails(ds...)
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue