Files
ippserver/packages/ipp/naturallanguage.go
2021-11-27 15:47:03 +00:00

44 lines
851 B
Go

// 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
}