Merges some common code between integer and enum.
Enum can now bw a set.
Add valuer must take a interface{} in addValue since it can be different types.
37 lines
642 B
Go
37 lines
642 B
Go
package ipp
|
|
|
|
type mimeMediaType struct {
|
|
sos *setOfStrings
|
|
}
|
|
|
|
func NewMimeMediaType(name string, values ...string) *mimeMediaType {
|
|
|
|
m := new(mimeMediaType)
|
|
m.sos = NewSetOfStrings(name, mimeMediaTypeValueTag, values)
|
|
return m
|
|
}
|
|
|
|
func (m mimeMediaType) Name() string {
|
|
return m.sos.name
|
|
}
|
|
|
|
func (m mimeMediaType) String() string {
|
|
return m.sos.String()
|
|
}
|
|
|
|
func (m *mimeMediaType) size() int {
|
|
return m.sos.size()
|
|
}
|
|
|
|
func (m *mimeMediaType) valueTag() tag {
|
|
return m.sos.valueTag()
|
|
}
|
|
|
|
func (m *mimeMediaType) marshal() []byte {
|
|
return m.sos.marshal()
|
|
}
|
|
|
|
func (m *mimeMediaType) addValue(v interface{}) {
|
|
m.sos.AddValue(v.(string))
|
|
}
|