package carriercallback

// CUCCRealnameTranslation 是联通实名成功回调的受控语义。
type CUCCRealnameTranslation = CUCCRealnameRemovalTranslation

// CUCCRealnameTranslator 解析联通外层 data 字符串及其内层实名 JSON。
type CUCCRealnameTranslator struct {
	parser *CUCCRealnameRemovalTranslator
}

// NewCUCCRealnameTranslator 创建联通实名成功回调 Translator。
func NewCUCCRealnameTranslator() *CUCCRealnameTranslator {
	return &CUCCRealnameTranslator{parser: NewCUCCRealnameRemovalTranslator()}
}

// Translate 解析联通实名成功报文；协议结构与解除实名报文一致。
func (t *CUCCRealnameTranslator) Translate(body []byte) (CUCCRealnameTranslation, error) {
	if t == nil || t.parser == nil {
		return NewCUCCRealnameRemovalTranslator().Translate(body)
	}
	return t.parser.Translate(body)
}
