More development. More types. Fixed attribute groups in requests. Started on client. Saving data to file. More types. Printing from chromeos works a little bit. More types. Spelling corrections. WIP: Fix keyword handling Move request to a separate file and add test. Co-authored-by: Henrik Sölver <henrik.solver@gmail.com> Reviewed-on: #6 Co-Authored-By: henrik <henrik.solver@gmail.com> Co-Committed-By: henrik <henrik.solver@gmail.com>
46 lines
933 B
Go
46 lines
933 B
Go
package ipp
|
|
|
|
import "io"
|
|
|
|
type NameWithoutLanguage struct {
|
|
name string
|
|
value string
|
|
}
|
|
|
|
func NewNameWithoutLanguage(name, value string) *NameWithoutLanguage {
|
|
c := new(NameWithoutLanguage)
|
|
c.name = name
|
|
c.value = value
|
|
return c
|
|
}
|
|
|
|
func (c NameWithoutLanguage) String() string {
|
|
return c.name + ":" + c.value
|
|
}
|
|
func (c *NameWithoutLanguage) valueTag() tag {
|
|
return nameWithoutLanguageValueTag
|
|
}
|
|
|
|
func (c *NameWithoutLanguage) unmarshal(byteStream io.Reader) {
|
|
c.name, c.value = unmarshalSingleValue(byteStream)
|
|
}
|
|
|
|
func (c *NameWithoutLanguage) marshal() []byte {
|
|
l := 5 + len(c.name) + len(c.value)
|
|
b := make([]byte, l, l)
|
|
b[0] = byte(nameWithoutLanguageValueTag)
|
|
marshalNameValue(c.name, c.value, b[1:])
|
|
return b
|
|
}
|
|
|
|
func (c *NameWithoutLanguage) size() int {
|
|
l := 1 + 4 // The attribute tag + 2 lengths
|
|
l += len(c.name)
|
|
l += len(c.value)
|
|
return l
|
|
}
|
|
|
|
func (n NameWithoutLanguage) Value() string {
|
|
return n.value
|
|
}
|