<?php
/**
 * DO NOT EDIT THIS FILE!
 *
 * This file was automatically generated from external sources.
 *
 * Any manual change here will be lost the next time the SDK
 * is updated. You've been warned!
 */

namespace DTS\eBaySDK\HalfFinding\Services;

class HalfFindingService extends \DTS\eBaySDK\HalfFinding\Services\HalfFindingBaseService
{
    const API_VERSION = '1.2.0';

    /**
     * @param array $config Configuration option values.
     */
    public function __construct(array $config = [])
    {
        parent::__construct($config);
    }

    /**
     * @param \DTS\eBaySDK\HalfFinding\Types\GetVersionRequest $request
     * @return \DTS\eBaySDK\HalfFinding\Types\GetVersionResponse
     */
    public function getVersion(\DTS\eBaySDK\HalfFinding\Types\GetVersionRequest $request)
    {
        return $this->getVersionAsync($request)->wait();
    }

    /**
     * @param \DTS\eBaySDK\HalfFinding\Types\GetVersionRequest $request
     * @return \GuzzleHttp\Promise\PromiseInterface
     */
    public function getVersionAsync(\DTS\eBaySDK\HalfFinding\Types\GetVersionRequest $request)
    {
        return $this->callOperationAsync(
            'getVersion',
            $request,
            '\DTS\eBaySDK\HalfFinding\Types\GetVersionResponse'
        );
    }

    /**
     * @param \DTS\eBaySDK\HalfFinding\Types\FindItemsRequest $request
     * @return \DTS\eBaySDK\HalfFinding\Types\FindItemsResponse
     */
    public function findHalfItems(\DTS\eBaySDK\HalfFinding\Types\FindItemsRequest $request)
    {
        return $this->findHalfItemsAsync($request)->wait();
    }

    /**
     * @param \DTS\eBaySDK\HalfFinding\Types\FindItemsRequest $request
     * @return \GuzzleHttp\Promise\PromiseInterface
     */
    public function findHalfItemsAsync(\DTS\eBaySDK\HalfFinding\Types\FindItemsRequest $request)
    {
        return $this->callOperationAsync(
            'findHalfItems',
            $request,
            '\DTS\eBaySDK\HalfFinding\Types\FindItemsResponse'
        );
    }
}
