<?php

defined('APP_BOOTSTRAPPED') or exit('No direct access.');

interface GameApiAdapterInterface
{
    public function getApiName();

    public function providerList();

    public function gameList($providerCode);

    public function createUser($playerCode, array $options = array());

    public function getBalance($playerCode);

    public function deposit(
        $playerCode,
        $amount,
        $transactionId,
        array $options = array()
    );

    public function withdraw(
        $playerCode,
        $amount,
        $transactionId,
        array $options = array()
    );

    public function launchGame(
        $playerCode,
        $gameCode,
        array $options = array()
    );

    public function getProviderHistory(
        $playerCode,
        array $filters = array()
    );
}
