UNPKG

@signiant/media-shuttle-sdk-base

Version:

The base parent sdk behind other media shuttle sdks (e.g. media-shuttle-sdk)

51 lines 2.13 kB
import { Transfer } from '../../external/transfer'; import TransferConfig from './TransferConfig'; import { TransferDirection, TransferEventType, TransferState } from '../../external'; import TransferClient from '../services/TransferClient'; import TransferEvent from '../../external/transfer/events/TransferEvent'; /** * An abstract implementation of common functionalities between upload and download transfers */ export default abstract class AbstractTransfer implements Transfer { protected _transferClient: TransferClient; protected _transferConfig: TransferConfig; protected _transferId: string; protected _originatorId: string; protected _transferState: TransferState; private readonly _handleTransferClientStateChangeBoundInstance; private readonly _eventHandlerMap; protected constructor(_transferClient: TransferClient); private handleTransferClientStateChange; private publishTransferConnectionStatusUpdateEvent; cancel(): Promise<void>; private isInCancellableState; get currentTransferState(): TransferState; unsubscribeAll(): boolean; private isInRetryableState; retry(): Promise<void>; abstract getTransferDirection(): TransferDirection; start(): Promise<void>; abstract onTransferEvent(eventData: TransferEvent): Promise<void>; private onTransferUpdate; private publishTransferEvent; private unsubscribeFromAllTransferEvents; private subscribeToAllTransferEvents; private mapTransferClientEvent; private startTransfer; protected subscribeToEvent({ eventType, handler }: { eventType: TransferEventType; handler: Function; }): void; protected unsubscribeFromEvent({ eventType }: { eventType: TransferEventType; }): boolean; set transferId(transferId: string); get transferId(): string; abstract populateTransferConfig(): Promise<void>; /** * This could be either an upload or a download as defined by the subclass. * @protected */ protected abstract executeTransferCommand(): Promise<void>; } //# sourceMappingURL=AbstractTransfer.d.ts.map