All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.sportradar.mts.sdk.api.interfaces.MtsSdkApi Maven / Gradle / Ivy

/*
 * Copyright (C) Sportradar AG. See LICENSE for full license governing this code
 */

package com.sportradar.mts.sdk.api.interfaces;

import com.sportradar.mts.sdk.api.*;
import com.sportradar.mts.sdk.api.builders.BuilderFactory;
import com.sportradar.mts.sdk.api.interfaces.customBet.CustomBetManager;

/**
 * Entry point for the MTS SDK
 */
public interface MtsSdkApi extends Openable {

    /**
     * Opens the SDK using default properties file mts-sdk.properties
     */
    @Override
    void open();

    /**
     * Closes the SDK and all resources associated with it.
     * Once closed, it cannot be reopened
     */
    @Override
    void close();

    /**
     * Gets the {@link BuilderFactory} instance used to construct builders with some of the properties pre-loaded from the configuration
     * @return BuilderFactory
     */
    BuilderFactory getBuilderFactory();

    /**
     * Returns ticket sender which can be used to send {@link Ticket}
     *
     * @param ticketResponseListener client implementation of response handler
     * @return ticket sender
     */
    TicketSender getTicketSender(TicketResponseListener ticketResponseListener);

    /**
     * Returns ticket cancel sender which can be used to send {@link TicketCancel}
     *
     * @param ticketCancelResponseListener client implementation of response handler
     * @return ticket cancel sender
     */
    TicketCancelSender getTicketCancelSender(TicketCancelResponseListener ticketCancelResponseListener);

    /**
     * Returns ticket acknowledgment sender which can be used to send {@link TicketAck}
     *
     * @param ticketAckResponseListener client implementation of response handler
     * @return ticket acknowledgment sender
     */
    TicketAckSender getTicketAckSender(TicketAckResponseListener ticketAckResponseListener);

    /**
     * Returns ticket cancel acknowledgment sender which can be used to send {@link TicketCancelAck}
     *
     * @param ticketCancelAckResponseListener client implementation of response handler
     * @return ticket cancel acknowledgment sender
     */
    TicketCancelAckSender getTicketCancelAckSender(TicketCancelAckResponseListener ticketCancelAckResponseListener);

    /**
     * Returns ticket reoffer cancel sender which can be used to send {@link TicketReofferCancel}
     *
     * @param ticketReofferCancelResponseListener client implementation of response handler
     * @return ticket reoffer cancel sender
     */
    TicketReofferCancelSender getTicketReofferCancelSender(TicketReofferCancelResponseListener ticketReofferCancelResponseListener);

    /**
     * Returns ticket cashout sender which can be used to send {@link com.sportradar.mts.sdk.api.TicketCashout}
     *
     * @param responseListener - client implementation of response handler
     * @return - ticket cashout sender
     */
    TicketCashoutSender getTicketCashoutSender(TicketCashoutResponseListener responseListener);

    /**
     * Returns ticket non-Sportradar settle sender which can be used to send {@link com.sportradar.mts.sdk.api.TicketNonSrSettle}
     *
     * @param responseListener - client implementation of response handler
     * @return - ticket non-Sportradar settle sender
     */
    TicketNonSrSettleSender getTicketNonSrSettleSender(TicketNonSrSettleResponseListener responseListener);

    /**
     * Returns the {@link MtsClientApi} instance used to send requests to MTS Client API
     *
     * @return the {@link MtsClientApi}
     */
    MtsClientApi getClientApi();

    /**
     * Returns the {@link CustomBetManager} instance which can be used to perform custom bet operations
     *
     * @return the {@link CustomBetManager}
     */
    CustomBetManager getCustomBetManager();

    /**
     * Returns the {@link ReportManager} instance which can be used to get report data
     *
     * @return the {@link ReportManager}
     */
    ReportManager getReportManager();

    /**
     * Get the connection status
     * @param connectionChangeListener - client implementation of connection change listener
     * @return the connection status
     */
    ConnectionStatus getConnectionStatus(ConnectionChangeListener connectionChangeListener);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy