// Copyright 2021, Henrik Sölver henrik.solver@gmail.com // SPDX-License-Identifier: BSD-3-Clause package ipp import ( "io" ) type NaturalLanguage struct { name string value string } func NewNaturalLanguage(name, value string) *NaturalLanguage { c := new(NaturalLanguage) c.name = name c.value = value return c } func (c NaturalLanguage) Name() string { return c.name } func (c NaturalLanguage) String() string { return c.name + ":" + c.value } func (c *NaturalLanguage) valueTag() tag { return naturalLanguageValueTag } func (c *NaturalLanguage) unmarshal(byteStream io.Reader) { c.name, c.value = unmarshalSingleValue(byteStream) } func (c *NaturalLanguage) marshal() []byte { l := 5 + len(c.name) + len(c.value) b := make([]byte, l) b[0] = byte(naturalLanguageValueTag) marshalNameValue(c.name, c.value, b[1:]) return b }