package service import ( "context" "git.5iot.com/iotlcm-public/iotlcm-admin-svr/internal/model" ) // ISimStatusQueue publishes the additive status-sync queue protocol. It is // deliberately separate from the existing synchronous status service. type ISimStatusQueue interface { StartFullSync(context.Context) error StartFullSyncRun(context.Context) (string, error) // StartFullSyncRunScoped narrows the run to a channel whitelist; a nil or // empty scope is a full sync. StartFullSyncRunScoped(context.Context, *model.SyncScope) (string, error) EnqueueCard(context.Context, model.SimStatusQueueTaskMessage) error } var localSimStatusQueue ISimStatusQueue func SimStatusQueue() ISimStatusQueue { if localSimStatusQueue == nil { panic("implement not found for interface ISimStatusQueue, forgot register?") } return localSimStatusQueue } func RegisterSimStatusQueue(i ISimStatusQueue) { localSimStatusQueue = i }