register_ext.go (1379B)
1 // Copyright (c) 2012-2020 Ugorji Nwoke. All rights reserved. 2 // Use of this source code is governed by a MIT license found in the LICENSE file. 3 4 package codec 5 6 import "reflect" 7 8 // This file exists, so that the files for specific formats do not all import reflect. 9 // This just helps us ensure that reflect package is isolated to a few files. 10 11 // SetInterfaceExt sets an extension 12 func (h *JsonHandle) SetInterfaceExt(rt reflect.Type, tag uint64, ext InterfaceExt) (err error) { 13 return h.SetExt(rt, tag, makeExt(ext)) 14 } 15 16 // SetInterfaceExt sets an extension 17 func (h *CborHandle) SetInterfaceExt(rt reflect.Type, tag uint64, ext InterfaceExt) (err error) { 18 return h.SetExt(rt, tag, makeExt(ext)) 19 } 20 21 // SetBytesExt sets an extension 22 func (h *MsgpackHandle) SetBytesExt(rt reflect.Type, tag uint64, ext BytesExt) (err error) { 23 return h.SetExt(rt, tag, makeExt(ext)) 24 } 25 26 // SetBytesExt sets an extension 27 func (h *SimpleHandle) SetBytesExt(rt reflect.Type, tag uint64, ext BytesExt) (err error) { 28 return h.SetExt(rt, tag, makeExt(ext)) 29 } 30 31 // SetBytesExt sets an extension 32 func (h *BincHandle) SetBytesExt(rt reflect.Type, tag uint64, ext BytesExt) (err error) { 33 return h.SetExt(rt, tag, makeExt(ext)) 34 } 35 36 // func (h *XMLHandle) SetInterfaceExt(rt reflect.Type, tag uint64, ext InterfaceExt) (err error) { 37 // return h.SetExt(rt, tag, &interfaceExtWrapper{InterfaceExt: ext}) 38 // }