Files

27 lines
1006 B
Go

package upstreamimpl
import (
"context"
"git.5iot.com/iotlcm-public/iotlcm-upstream-chan/internal/model"
"git.5iot.com/iotlcm-public/iotlcm-upstream-chan/internal/service"
)
const (
templateModelDirect = "direct"
templateModelSharedToken = "shared_token"
)
// Model registrations are deliberately separate from concrete temp_key
// registrations. This lets multiple source-specific templates share one
// implementation while keeping existing exact-key behavior unchanged.
func init() {
api := service.UpstreamAPI()
// direct is a classification value, not a generic implementation. Direct
// protocols must register their concrete temp_key (for example sim_yd_v5).
// shared_token is the only model-backed implementation because multiple
// source-specific templates share the OneLink business API.
api.RegisterModel(templateModelSharedToken, func(ctx context.Context, cfg *model.SimChannelConfigItemCache) model.SimCardChannelI {
return NewSimOneLinkShared().NewTemp(ctx, cfg)
})
}