diff options
| author | root <root@kabir-PC> | 2016-03-23 11:31:51 +0100 |
|---|---|---|
| committer | root <root@kabir-PC> | 2016-03-23 11:31:51 +0100 |
| commit | a26989103d70fb0dd3ff6834de107cae246778c3 (patch) | |
| tree | 0f243c83b790ffb57f19261fc2a509131f6776ce /server/vendor/php-opencloud/common/src/Common/Api/OperatorInterface.php | |
| parent | 1342db60283cb61a1c3810993575d35b9fb33ac0 (diff) | |
| parent | 6e78d76f887d1149ea85bfb06db7ee7ad7435f5a (diff) | |
Merge branch 'develop' of https://github.com/manzerbredes/istic-openstack into develop
Diffstat (limited to 'server/vendor/php-opencloud/common/src/Common/Api/OperatorInterface.php')
| -rw-r--r-- | server/vendor/php-opencloud/common/src/Common/Api/OperatorInterface.php | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/server/vendor/php-opencloud/common/src/Common/Api/OperatorInterface.php b/server/vendor/php-opencloud/common/src/Common/Api/OperatorInterface.php new file mode 100644 index 0000000..43c6ce2 --- /dev/null +++ b/server/vendor/php-opencloud/common/src/Common/Api/OperatorInterface.php @@ -0,0 +1,51 @@ +<?php + +namespace OpenCloud\Common\Api; + +use GuzzleHttp\ClientInterface; + +/** + * An operator is any resource or service that can invoke and send REST operations. In other words, it + * is any class that can send requests and receive responses with a HTTP client. To do this + * it needs two things: a {@see ClientInterface} for handling HTTP transactions and an {@see ApiInterface} + * for handling how operations are created. + * + * @package OpenCloud\Common\Api + */ +interface OperatorInterface +{ + /** + * @param ClientInterface $client The HTTP client responsible for handling HTTP transactions + * @param ApiInterface $api The data API class that dictates how REST operations are structured + */ + public function __construct(ClientInterface $client, ApiInterface $api); + + /** + * A convenience method that assembles an operation and sends it to the remote API + * + * @param array $definition The data that dictates how the operation works + * @param array $userValues The user-defined values that populate the request + * + * @return \Psr\Http\Message\ResponseInterface + */ + public function execute(array $definition, array $userValues = []); + + /** + * A convenience method that assembles an operation and asynchronously sends it to the remote API + * + * @param array $definition The data that dictates how the operation works + * @param array $userValues The user-defined values that populate the request + * + * @return \GuzzleHttp\Promise\PromiseInterface + */ + public function executeAsync(array $definition, array $userValues = []); + + /** + * @param string $name The name of the model class. + * @param mixed $data Either a {@see ResponseInterface} or data array that will populate the newly + * created model class. + * + * @return \OpenCloud\Common\Resource\ResourceInterface + */ + public function model($name, $data = null); +} |
