@@ -37,22 +37,22 @@ |
||
| 37 | 37 | |
| 38 | 38 | class Version1008Date20181030113700 extends SimpleMigrationStep { |
| 39 | 39 | |
| 40 | - /** |
|
| 41 | - * @param IOutput $output |
|
| 42 | - * @param Closure $schemaClosure The `\Closure` returns a `ISchemaWrapper` |
|
| 43 | - * @param array $options |
|
| 44 | - * @return null|ISchemaWrapper |
|
| 45 | - */ |
|
| 46 | - public function changeSchema(IOutput $output, Closure $schemaClosure, array $options) { |
|
| 47 | - /** @var ISchemaWrapper $schema */ |
|
| 48 | - $schema = $schemaClosure(); |
|
| 49 | - |
|
| 50 | - $table = $schema->getTable('cards'); |
|
| 51 | - $table->addColumn('uid', Types::STRING, [ |
|
| 52 | - 'notnull' => false, |
|
| 53 | - 'length' => 255 |
|
| 54 | - ]); |
|
| 55 | - |
|
| 56 | - return $schema; |
|
| 57 | - } |
|
| 40 | + /** |
|
| 41 | + * @param IOutput $output |
|
| 42 | + * @param Closure $schemaClosure The `\Closure` returns a `ISchemaWrapper` |
|
| 43 | + * @param array $options |
|
| 44 | + * @return null|ISchemaWrapper |
|
| 45 | + */ |
|
| 46 | + public function changeSchema(IOutput $output, Closure $schemaClosure, array $options) { |
|
| 47 | + /** @var ISchemaWrapper $schema */ |
|
| 48 | + $schema = $schemaClosure(); |
|
| 49 | + |
|
| 50 | + $table = $schema->getTable('cards'); |
|
| 51 | + $table->addColumn('uid', Types::STRING, [ |
|
| 52 | + 'notnull' => false, |
|
| 53 | + 'length' => 255 |
|
| 54 | + ]); |
|
| 55 | + |
|
| 56 | + return $schema; |
|
| 57 | + } |
|
| 58 | 58 | } |
@@ -33,20 +33,20 @@ |
||
| 33 | 33 | |
| 34 | 34 | class Version1002Date20180821043638 extends SimpleMigrationStep { |
| 35 | 35 | |
| 36 | - /** |
|
| 37 | - * @param IOutput $output |
|
| 38 | - * @param Closure $schemaClosure The `\Closure` returns a `ISchemaWrapper` |
|
| 39 | - * @param array $options |
|
| 40 | - * |
|
| 41 | - * @return ISchemaWrapper |
|
| 42 | - */ |
|
| 43 | - public function changeSchema(IOutput $output, Closure $schemaClosure, array $options) { |
|
| 44 | - /** @var ISchemaWrapper $schema */ |
|
| 45 | - $schema = $schemaClosure(); |
|
| 46 | - $table = $schema->getTable('twofactor_backupcodes'); |
|
| 36 | + /** |
|
| 37 | + * @param IOutput $output |
|
| 38 | + * @param Closure $schemaClosure The `\Closure` returns a `ISchemaWrapper` |
|
| 39 | + * @param array $options |
|
| 40 | + * |
|
| 41 | + * @return ISchemaWrapper |
|
| 42 | + */ |
|
| 43 | + public function changeSchema(IOutput $output, Closure $schemaClosure, array $options) { |
|
| 44 | + /** @var ISchemaWrapper $schema */ |
|
| 45 | + $schema = $schemaClosure(); |
|
| 46 | + $table = $schema->getTable('twofactor_backupcodes'); |
|
| 47 | 47 | |
| 48 | - $table->getColumn('code')->setLength(128); |
|
| 48 | + $table->getColumn('code')->setLength(128); |
|
| 49 | 49 | |
| 50 | - return $schema; |
|
| 51 | - } |
|
| 50 | + return $schema; |
|
| 51 | + } |
|
| 52 | 52 | } |
@@ -29,38 +29,38 @@ |
||
| 29 | 29 | |
| 30 | 30 | |
| 31 | 31 | $this->create('files_external_oauth1', 'apps/files_external/ajax/oauth1.php') |
| 32 | - ->actionInclude('files_external/ajax/oauth1.php'); |
|
| 32 | + ->actionInclude('files_external/ajax/oauth1.php'); |
|
| 33 | 33 | $this->create('files_external_oauth2', 'apps/files_external/ajax/oauth2.php') |
| 34 | - ->actionInclude('files_external/ajax/oauth2.php'); |
|
| 34 | + ->actionInclude('files_external/ajax/oauth2.php'); |
|
| 35 | 35 | |
| 36 | 36 | |
| 37 | 37 | $this->create('files_external_list_applicable', '/apps/files_external/applicable') |
| 38 | - ->actionInclude('files_external/ajax/applicable.php'); |
|
| 38 | + ->actionInclude('files_external/ajax/applicable.php'); |
|
| 39 | 39 | |
| 40 | 40 | return [ |
| 41 | - 'resources' => [ |
|
| 42 | - 'global_storages' => ['url' => '/globalstorages'], |
|
| 43 | - 'user_storages' => ['url' => '/userstorages'], |
|
| 44 | - 'user_global_storages' => ['url' => '/userglobalstorages'], |
|
| 45 | - ], |
|
| 46 | - 'routes' => [ |
|
| 47 | - [ |
|
| 48 | - 'name' => 'Ajax#getSshKeys', |
|
| 49 | - 'url' => '/ajax/public_key.php', |
|
| 50 | - 'verb' => 'POST', |
|
| 51 | - 'requirements' => [], |
|
| 52 | - ], |
|
| 53 | - [ |
|
| 54 | - 'name' => 'Ajax#saveGlobalCredentials', |
|
| 55 | - 'url' => '/globalcredentials', |
|
| 56 | - 'verb' => 'POST', |
|
| 57 | - ], |
|
| 58 | - ], |
|
| 59 | - 'ocs' => [ |
|
| 60 | - [ |
|
| 61 | - 'name' => 'Api#getUserMounts', |
|
| 62 | - 'url' => '/api/v1/mounts', |
|
| 63 | - 'verb' => 'GET', |
|
| 64 | - ], |
|
| 65 | - ], |
|
| 41 | + 'resources' => [ |
|
| 42 | + 'global_storages' => ['url' => '/globalstorages'], |
|
| 43 | + 'user_storages' => ['url' => '/userstorages'], |
|
| 44 | + 'user_global_storages' => ['url' => '/userglobalstorages'], |
|
| 45 | + ], |
|
| 46 | + 'routes' => [ |
|
| 47 | + [ |
|
| 48 | + 'name' => 'Ajax#getSshKeys', |
|
| 49 | + 'url' => '/ajax/public_key.php', |
|
| 50 | + 'verb' => 'POST', |
|
| 51 | + 'requirements' => [], |
|
| 52 | + ], |
|
| 53 | + [ |
|
| 54 | + 'name' => 'Ajax#saveGlobalCredentials', |
|
| 55 | + 'url' => '/globalcredentials', |
|
| 56 | + 'verb' => 'POST', |
|
| 57 | + ], |
|
| 58 | + ], |
|
| 59 | + 'ocs' => [ |
|
| 60 | + [ |
|
| 61 | + 'name' => 'Api#getUserMounts', |
|
| 62 | + 'url' => '/api/v1/mounts', |
|
| 63 | + 'verb' => 'GET', |
|
| 64 | + ], |
|
| 65 | + ], |
|
| 66 | 66 | ]; |
@@ -34,67 +34,67 @@ |
||
| 34 | 34 | * @template-extends QBMapper<PublicKeyCredentialEntity> |
| 35 | 35 | */ |
| 36 | 36 | class PublicKeyCredentialMapper extends QBMapper { |
| 37 | - public function __construct(IDBConnection $db) { |
|
| 38 | - parent::__construct($db, 'webauthn', PublicKeyCredentialEntity::class); |
|
| 39 | - } |
|
| 37 | + public function __construct(IDBConnection $db) { |
|
| 38 | + parent::__construct($db, 'webauthn', PublicKeyCredentialEntity::class); |
|
| 39 | + } |
|
| 40 | 40 | |
| 41 | - public function findOneByCredentialId(string $publicKeyCredentialId): PublicKeyCredentialEntity { |
|
| 42 | - $qb = $this->db->getQueryBuilder(); |
|
| 41 | + public function findOneByCredentialId(string $publicKeyCredentialId): PublicKeyCredentialEntity { |
|
| 42 | + $qb = $this->db->getQueryBuilder(); |
|
| 43 | 43 | |
| 44 | - $qb->select('*') |
|
| 45 | - ->from($this->getTableName()) |
|
| 46 | - ->where( |
|
| 47 | - $qb->expr()->eq('public_key_credential_id', $qb->createNamedParameter(base64_encode($publicKeyCredentialId))) |
|
| 48 | - ); |
|
| 44 | + $qb->select('*') |
|
| 45 | + ->from($this->getTableName()) |
|
| 46 | + ->where( |
|
| 47 | + $qb->expr()->eq('public_key_credential_id', $qb->createNamedParameter(base64_encode($publicKeyCredentialId))) |
|
| 48 | + ); |
|
| 49 | 49 | |
| 50 | - return $this->findEntity($qb); |
|
| 51 | - } |
|
| 50 | + return $this->findEntity($qb); |
|
| 51 | + } |
|
| 52 | 52 | |
| 53 | - /** |
|
| 54 | - * @return PublicKeyCredentialEntity[] |
|
| 55 | - */ |
|
| 56 | - public function findAllForUid(string $uid): array { |
|
| 57 | - $qb = $this->db->getQueryBuilder(); |
|
| 53 | + /** |
|
| 54 | + * @return PublicKeyCredentialEntity[] |
|
| 55 | + */ |
|
| 56 | + public function findAllForUid(string $uid): array { |
|
| 57 | + $qb = $this->db->getQueryBuilder(); |
|
| 58 | 58 | |
| 59 | - $qb->select('*') |
|
| 60 | - ->from($this->getTableName()) |
|
| 61 | - ->where( |
|
| 62 | - $qb->expr()->eq('uid', $qb->createNamedParameter($uid)) |
|
| 63 | - ); |
|
| 59 | + $qb->select('*') |
|
| 60 | + ->from($this->getTableName()) |
|
| 61 | + ->where( |
|
| 62 | + $qb->expr()->eq('uid', $qb->createNamedParameter($uid)) |
|
| 63 | + ); |
|
| 64 | 64 | |
| 65 | - return $this->findEntities($qb); |
|
| 66 | - } |
|
| 65 | + return $this->findEntities($qb); |
|
| 66 | + } |
|
| 67 | 67 | |
| 68 | - /** |
|
| 69 | - * @param string $uid |
|
| 70 | - * @param int $id |
|
| 71 | - * |
|
| 72 | - * @return PublicKeyCredentialEntity |
|
| 73 | - * @throws DoesNotExistException |
|
| 74 | - */ |
|
| 75 | - public function findById(string $uid, int $id): PublicKeyCredentialEntity { |
|
| 76 | - $qb = $this->db->getQueryBuilder(); |
|
| 68 | + /** |
|
| 69 | + * @param string $uid |
|
| 70 | + * @param int $id |
|
| 71 | + * |
|
| 72 | + * @return PublicKeyCredentialEntity |
|
| 73 | + * @throws DoesNotExistException |
|
| 74 | + */ |
|
| 75 | + public function findById(string $uid, int $id): PublicKeyCredentialEntity { |
|
| 76 | + $qb = $this->db->getQueryBuilder(); |
|
| 77 | 77 | |
| 78 | - $qb->select('*') |
|
| 79 | - ->from($this->getTableName()) |
|
| 80 | - ->where($qb->expr()->andX( |
|
| 81 | - $qb->expr()->eq('id', $qb->createNamedParameter($id)), |
|
| 82 | - $qb->expr()->eq('uid', $qb->createNamedParameter($uid)) |
|
| 83 | - )); |
|
| 78 | + $qb->select('*') |
|
| 79 | + ->from($this->getTableName()) |
|
| 80 | + ->where($qb->expr()->andX( |
|
| 81 | + $qb->expr()->eq('id', $qb->createNamedParameter($id)), |
|
| 82 | + $qb->expr()->eq('uid', $qb->createNamedParameter($uid)) |
|
| 83 | + )); |
|
| 84 | 84 | |
| 85 | - return $this->findEntity($qb); |
|
| 86 | - } |
|
| 85 | + return $this->findEntity($qb); |
|
| 86 | + } |
|
| 87 | 87 | |
| 88 | - /** |
|
| 89 | - * @throws \OCP\DB\Exception |
|
| 90 | - */ |
|
| 91 | - public function deleteByUid(string $uid) { |
|
| 92 | - $qb = $this->db->getQueryBuilder(); |
|
| 88 | + /** |
|
| 89 | + * @throws \OCP\DB\Exception |
|
| 90 | + */ |
|
| 91 | + public function deleteByUid(string $uid) { |
|
| 92 | + $qb = $this->db->getQueryBuilder(); |
|
| 93 | 93 | |
| 94 | - $qb->delete($this->getTableName()) |
|
| 95 | - ->where( |
|
| 96 | - $qb->expr()->eq('uid', $qb->createNamedParameter($uid)) |
|
| 97 | - ); |
|
| 98 | - $qb->executeStatement(); |
|
| 99 | - } |
|
| 94 | + $qb->delete($this->getTableName()) |
|
| 95 | + ->where( |
|
| 96 | + $qb->expr()->eq('uid', $qb->createNamedParameter($uid)) |
|
| 97 | + ); |
|
| 98 | + $qb->executeStatement(); |
|
| 99 | + } |
|
| 100 | 100 | } |
@@ -29,107 +29,107 @@ |
||
| 29 | 29 | * @deprecated 23.0.0 |
| 30 | 30 | */ |
| 31 | 31 | interface IUser { |
| 32 | - /** |
|
| 33 | - * @return string |
|
| 34 | - * |
|
| 35 | - * @since 13.0.0 |
|
| 36 | - * @deprecated 23.0.0 |
|
| 37 | - */ |
|
| 38 | - public function getUserId(); |
|
| 32 | + /** |
|
| 33 | + * @return string |
|
| 34 | + * |
|
| 35 | + * @since 13.0.0 |
|
| 36 | + * @deprecated 23.0.0 |
|
| 37 | + */ |
|
| 38 | + public function getUserId(); |
|
| 39 | 39 | |
| 40 | - /** |
|
| 41 | - * @return string |
|
| 42 | - * |
|
| 43 | - * @since 13.0.0 |
|
| 44 | - * @deprecated 23.0.0 |
|
| 45 | - */ |
|
| 46 | - public function getEmail(); |
|
| 40 | + /** |
|
| 41 | + * @return string |
|
| 42 | + * |
|
| 43 | + * @since 13.0.0 |
|
| 44 | + * @deprecated 23.0.0 |
|
| 45 | + */ |
|
| 46 | + public function getEmail(); |
|
| 47 | 47 | |
| 48 | - /** |
|
| 49 | - * @return string |
|
| 50 | - * |
|
| 51 | - * @since 13.0.0 |
|
| 52 | - * @deprecated 23.0.0 |
|
| 53 | - */ |
|
| 54 | - public function getDisplayName(); |
|
| 48 | + /** |
|
| 49 | + * @return string |
|
| 50 | + * |
|
| 51 | + * @since 13.0.0 |
|
| 52 | + * @deprecated 23.0.0 |
|
| 53 | + */ |
|
| 54 | + public function getDisplayName(); |
|
| 55 | 55 | |
| 56 | - /** |
|
| 57 | - * @return string |
|
| 58 | - * |
|
| 59 | - * @since 13.0.0 |
|
| 60 | - * @deprecated 23.0.0 |
|
| 61 | - */ |
|
| 62 | - public function getPhone(); |
|
| 56 | + /** |
|
| 57 | + * @return string |
|
| 58 | + * |
|
| 59 | + * @since 13.0.0 |
|
| 60 | + * @deprecated 23.0.0 |
|
| 61 | + */ |
|
| 62 | + public function getPhone(); |
|
| 63 | 63 | |
| 64 | - /** |
|
| 65 | - * @return string |
|
| 66 | - * |
|
| 67 | - * @since 13.0.0 |
|
| 68 | - * @deprecated 23.0.0 |
|
| 69 | - */ |
|
| 70 | - public function getAddress(); |
|
| 64 | + /** |
|
| 65 | + * @return string |
|
| 66 | + * |
|
| 67 | + * @since 13.0.0 |
|
| 68 | + * @deprecated 23.0.0 |
|
| 69 | + */ |
|
| 70 | + public function getAddress(); |
|
| 71 | 71 | |
| 72 | - /** |
|
| 73 | - * @return string |
|
| 74 | - * |
|
| 75 | - * @since 13.0.0 |
|
| 76 | - * @deprecated 23.0.0 |
|
| 77 | - */ |
|
| 78 | - public function getWebsite(); |
|
| 72 | + /** |
|
| 73 | + * @return string |
|
| 74 | + * |
|
| 75 | + * @since 13.0.0 |
|
| 76 | + * @deprecated 23.0.0 |
|
| 77 | + */ |
|
| 78 | + public function getWebsite(); |
|
| 79 | 79 | |
| 80 | - /** |
|
| 81 | - * @return string |
|
| 82 | - * |
|
| 83 | - * @since 13.0.0 |
|
| 84 | - * @deprecated 23.0.0 |
|
| 85 | - */ |
|
| 86 | - public function getTwitter(); |
|
| 80 | + /** |
|
| 81 | + * @return string |
|
| 82 | + * |
|
| 83 | + * @since 13.0.0 |
|
| 84 | + * @deprecated 23.0.0 |
|
| 85 | + */ |
|
| 86 | + public function getTwitter(); |
|
| 87 | 87 | |
| 88 | - /** |
|
| 89 | - * @return string[] |
|
| 90 | - * |
|
| 91 | - * @since 13.0.0 |
|
| 92 | - * @deprecated 23.0.0 |
|
| 93 | - */ |
|
| 94 | - public function getGroups(); |
|
| 88 | + /** |
|
| 89 | + * @return string[] |
|
| 90 | + * |
|
| 91 | + * @since 13.0.0 |
|
| 92 | + * @deprecated 23.0.0 |
|
| 93 | + */ |
|
| 94 | + public function getGroups(); |
|
| 95 | 95 | |
| 96 | - /** |
|
| 97 | - * @return string |
|
| 98 | - * |
|
| 99 | - * @since 13.0.0 |
|
| 100 | - * @deprecated 23.0.0 |
|
| 101 | - */ |
|
| 102 | - public function getLanguage(); |
|
| 96 | + /** |
|
| 97 | + * @return string |
|
| 98 | + * |
|
| 99 | + * @since 13.0.0 |
|
| 100 | + * @deprecated 23.0.0 |
|
| 101 | + */ |
|
| 102 | + public function getLanguage(); |
|
| 103 | 103 | |
| 104 | - /** |
|
| 105 | - * @return int |
|
| 106 | - * |
|
| 107 | - * @since 13.0.0 |
|
| 108 | - * @deprecated 23.0.0 |
|
| 109 | - */ |
|
| 110 | - public function getUsedSpace(); |
|
| 104 | + /** |
|
| 105 | + * @return int |
|
| 106 | + * |
|
| 107 | + * @since 13.0.0 |
|
| 108 | + * @deprecated 23.0.0 |
|
| 109 | + */ |
|
| 110 | + public function getUsedSpace(); |
|
| 111 | 111 | |
| 112 | - /** |
|
| 113 | - * @return int |
|
| 114 | - * |
|
| 115 | - * @since 13.0.0 |
|
| 116 | - * @deprecated 23.0.0 |
|
| 117 | - */ |
|
| 118 | - public function getFreeSpace(); |
|
| 112 | + /** |
|
| 113 | + * @return int |
|
| 114 | + * |
|
| 115 | + * @since 13.0.0 |
|
| 116 | + * @deprecated 23.0.0 |
|
| 117 | + */ |
|
| 118 | + public function getFreeSpace(); |
|
| 119 | 119 | |
| 120 | - /** |
|
| 121 | - * @return int |
|
| 122 | - * |
|
| 123 | - * @since 13.0.0 |
|
| 124 | - * @deprecated 23.0.0 |
|
| 125 | - */ |
|
| 126 | - public function getTotalSpace(); |
|
| 120 | + /** |
|
| 121 | + * @return int |
|
| 122 | + * |
|
| 123 | + * @since 13.0.0 |
|
| 124 | + * @deprecated 23.0.0 |
|
| 125 | + */ |
|
| 126 | + public function getTotalSpace(); |
|
| 127 | 127 | |
| 128 | - /** |
|
| 129 | - * @return int |
|
| 130 | - * |
|
| 131 | - * @since 13.0.0 |
|
| 132 | - * @deprecated 23.0.0 |
|
| 133 | - */ |
|
| 134 | - public function getQuota(); |
|
| 128 | + /** |
|
| 129 | + * @return int |
|
| 130 | + * |
|
| 131 | + * @since 13.0.0 |
|
| 132 | + * @deprecated 23.0.0 |
|
| 133 | + */ |
|
| 134 | + public function getQuota(); |
|
| 135 | 135 | } |
@@ -29,19 +29,19 @@ |
||
| 29 | 29 | * @deprecated 23.0.0 |
| 30 | 30 | */ |
| 31 | 31 | interface ICredentials { |
| 32 | - /** |
|
| 33 | - * @return string |
|
| 34 | - * |
|
| 35 | - * @since 13.0.0 |
|
| 36 | - * @deprecated 23.0.0 |
|
| 37 | - */ |
|
| 38 | - public function getUsername(); |
|
| 32 | + /** |
|
| 33 | + * @return string |
|
| 34 | + * |
|
| 35 | + * @since 13.0.0 |
|
| 36 | + * @deprecated 23.0.0 |
|
| 37 | + */ |
|
| 38 | + public function getUsername(); |
|
| 39 | 39 | |
| 40 | - /** |
|
| 41 | - * @return string |
|
| 42 | - * |
|
| 43 | - * @since 13.0.0 |
|
| 44 | - * @deprecated 23.0.0 |
|
| 45 | - */ |
|
| 46 | - public function getPassword(); |
|
| 40 | + /** |
|
| 41 | + * @return string |
|
| 42 | + * |
|
| 43 | + * @since 13.0.0 |
|
| 44 | + * @deprecated 23.0.0 |
|
| 45 | + */ |
|
| 46 | + public function getPassword(); |
|
| 47 | 47 | } |
@@ -27,12 +27,12 @@ |
||
| 27 | 27 | * @deprecated 23.0.0 |
| 28 | 28 | */ |
| 29 | 29 | interface IInstanceFactory { |
| 30 | - /** |
|
| 31 | - * @param string $url |
|
| 32 | - * @return IInstance |
|
| 33 | - * |
|
| 34 | - * @since 13.0.0 |
|
| 35 | - * @deprecated 23.0.0 |
|
| 36 | - */ |
|
| 37 | - public function getInstance($url); |
|
| 30 | + /** |
|
| 31 | + * @param string $url |
|
| 32 | + * @return IInstance |
|
| 33 | + * |
|
| 34 | + * @since 13.0.0 |
|
| 35 | + * @deprecated 23.0.0 |
|
| 36 | + */ |
|
| 37 | + public function getInstance($url); |
|
| 38 | 38 | } |
@@ -29,12 +29,12 @@ |
||
| 29 | 29 | * @deprecated 23.0.0 |
| 30 | 30 | */ |
| 31 | 31 | interface IUserApi { |
| 32 | - /** |
|
| 33 | - * @param string $userId |
|
| 34 | - * @return IUser |
|
| 35 | - * |
|
| 36 | - * @since 13.0.0 |
|
| 37 | - * @deprecated 23.0.0 |
|
| 38 | - */ |
|
| 39 | - public function getUser($userId); |
|
| 32 | + /** |
|
| 33 | + * @param string $userId |
|
| 34 | + * @return IUser |
|
| 35 | + * |
|
| 36 | + * @since 13.0.0 |
|
| 37 | + * @deprecated 23.0.0 |
|
| 38 | + */ |
|
| 39 | + public function getUser($userId); |
|
| 40 | 40 | } |
@@ -27,11 +27,11 @@ |
||
| 27 | 27 | * @deprecated 23.0.0 |
| 28 | 28 | */ |
| 29 | 29 | interface ICapabilitiesApi { |
| 30 | - /** |
|
| 31 | - * @return array The capabilities in the form of [$appId => [$capability => $value]] |
|
| 32 | - * |
|
| 33 | - * @since 13.0.0 |
|
| 34 | - * @deprecated 23.0.0 |
|
| 35 | - */ |
|
| 36 | - public function getCapabilities(); |
|
| 30 | + /** |
|
| 31 | + * @return array The capabilities in the form of [$appId => [$capability => $value]] |
|
| 32 | + * |
|
| 33 | + * @since 13.0.0 |
|
| 34 | + * @deprecated 23.0.0 |
|
| 35 | + */ |
|
| 36 | + public function getCapabilities(); |
|
| 37 | 37 | } |