EventStreamApiInterface.php 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <?php
  2. /**
  3. * Refer to LICENSE.txt distributed with the Temando Shipping module for notice of license
  4. */
  5. namespace Temando\Shipping\Rest\Adapter;
  6. use Temando\Shipping\Rest\Exception\AdapterException;
  7. use Temando\Shipping\Rest\Request\ItemRequestInterface;
  8. use Temando\Shipping\Rest\Request\ListRequestInterface;
  9. use Temando\Shipping\Rest\Request\StreamCreateRequestInterface;
  10. use Temando\Shipping\Rest\Request\StreamEventItemRequest;
  11. use Temando\Shipping\Rest\Response\DataObject\StreamEvent;
  12. /**
  13. * Temando API Adapter Event Stream Part
  14. *
  15. * @package Temando\Shipping\Rest
  16. * @author Benjamin Heuer <benjamin.heuer@netresearch.de>
  17. * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
  18. * @link http://www.temando.com/
  19. */
  20. interface EventStreamApiInterface
  21. {
  22. /**
  23. * @param StreamCreateRequestInterface $request
  24. *
  25. * @return void
  26. * @throws AdapterException
  27. */
  28. public function createStream(StreamCreateRequestInterface $request);
  29. /**
  30. * @param ItemRequestInterface $request
  31. *
  32. * @return void
  33. * @throws AdapterException
  34. */
  35. public function deleteStream(ItemRequestInterface $request);
  36. /**
  37. * @param ListRequestInterface $request
  38. *
  39. * @return StreamEvent[]
  40. * @throws AdapterException
  41. */
  42. public function getStreamEvents(ListRequestInterface $request);
  43. /**
  44. * @param StreamEventItemRequest $request
  45. *
  46. * @return void
  47. * @throws AdapterException
  48. */
  49. public function deleteStreamEvent(StreamEventItemRequest $request);
  50. }