[#155] sdk/object: Add object type getter/setter

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
This commit is contained in:
Leonard Lyubich 2020-09-22 14:02:36 +03:00 committed by Leonard Lyubich
parent 2fb1547cd8
commit dbb5102c02
3 changed files with 30 additions and 0 deletions

View file

@ -115,3 +115,8 @@ func (o *RawObject) SetParent(v *Object) {
func (o *RawObject) SetSessionToken(v *token.SessionToken) { func (o *RawObject) SetSessionToken(v *token.SessionToken) {
o.setSessionToken(v) o.setSessionToken(v)
} }
// SetType sets type of the object.
func (o *RawObject) SetType(v Type) {
o.setType(v)
}

View file

@ -214,3 +214,13 @@ func TestRawObject_SetSessionToken(t *testing.T) {
require.Equal(t, tok, obj.GetSessionToken()) require.Equal(t, tok, obj.GetSessionToken())
} }
func TestRawObject_SetType(t *testing.T) {
obj := NewRaw()
typ := TypeStorageGroup
obj.SetType(typ)
require.Equal(t, typ, obj.GetType())
}

View file

@ -288,3 +288,18 @@ func (o *rwObject) setSessionToken(v *token.SessionToken) {
h.SetSessionToken(v.ToV2()) h.SetSessionToken(v.ToV2())
}) })
} }
// GetType returns type of the object.
func (o *rwObject) GetType() Type {
return TypeFromV2(
(*object.Object)(o).
GetHeader().
GetObjectType(),
)
}
func (o *rwObject) setType(t Type) {
o.setHeaderField(func(h *object.Header) {
h.SetObjectType(t.ToV2())
})
}