summaryrefslogtreecommitdiff
path: root/vendor/guzzle/guzzle/src/Guzzle/Service/ClientInterface.php
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/guzzle/guzzle/src/Guzzle/Service/ClientInterface.php')
-rw-r--r--vendor/guzzle/guzzle/src/Guzzle/Service/ClientInterface.php68
1 files changed, 68 insertions, 0 deletions
diff --git a/vendor/guzzle/guzzle/src/Guzzle/Service/ClientInterface.php b/vendor/guzzle/guzzle/src/Guzzle/Service/ClientInterface.php
new file mode 100644
index 0000000..814154f
--- /dev/null
+++ b/vendor/guzzle/guzzle/src/Guzzle/Service/ClientInterface.php
@@ -0,0 +1,68 @@
+<?php
+
+namespace Guzzle\Service;
+
+use Guzzle\Common\FromConfigInterface;
+use Guzzle\Common\Exception\InvalidArgumentException;
+use Guzzle\Http\ClientInterface as HttpClientInterface;
+use Guzzle\Service\Exception\CommandTransferException;
+use Guzzle\Service\Command\CommandInterface;
+use Guzzle\Service\Description\ServiceDescriptionInterface;
+use Guzzle\Service\Resource\ResourceIteratorInterface;
+
+/**
+ * Client interface for executing commands on a web service.
+ */
+interface ClientInterface extends HttpClientInterface, FromConfigInterface
+{
+ /**
+ * Get a command by name. First, the client will see if it has a service description and if the service description
+ * defines a command by the supplied name. If no dynamic command is found, the client will look for a concrete
+ * command class exists matching the name supplied. If neither are found, an InvalidArgumentException is thrown.
+ *
+ * @param string $name Name of the command to retrieve
+ * @param array $args Arguments to pass to the command
+ *
+ * @return CommandInterface
+ * @throws InvalidArgumentException if no command can be found by name
+ */
+ public function getCommand($name, array $args = array());
+
+ /**
+ * Execute one or more commands
+ *
+ * @param CommandInterface|array|Traversable $command Command, array of commands or Traversable object containing commands to execute
+ *
+ * @return mixed Returns the result of the executed command or an array of commands if executing multiple commands
+ * @throws InvalidArgumentException if an invalid command is passed
+ * @throws CommandTransferException if an exception is encountered when transferring multiple commands
+ */
+ public function execute($command);
+
+ /**
+ * Set the service description of the client
+ *
+ * @param ServiceDescriptionInterface $service Service description
+ *
+ * @return ClientInterface
+ */
+ public function setDescription(ServiceDescriptionInterface $service);
+
+ /**
+ * Get the service description of the client
+ *
+ * @return ServiceDescriptionInterface|null
+ */
+ public function getDescription();
+
+ /**
+ * Get a resource iterator from the client.
+ *
+ * @param string|CommandInterface $command Command class or command name.
+ * @param array $commandOptions Command options used when creating commands.
+ * @param array $iteratorOptions Iterator options passed to the iterator when it is instantiated.
+ *
+ * @return ResourceIteratorInterface
+ */
+ public function getIterator($command, array $commandOptions = null, array $iteratorOptions = array());
+}