@@ -56,11 +56,34 @@ /** * @brief Returns the handler for the specified URL. * * @return The handler for the specified URL. */ -+ (OF_KINDOF(OFURLHandler *))handlerForURL: (OFURL *)URL; ++ (OFURLHandler *)handlerForURL: (OFURL *)URL; + +/** + * @brief Opens the item at the specified URL. + * + * @param URL The URL of the item which should be opened + * @param mode The mode in which the file should be opened.@n + * Possible modes are: + * @n + * Mode | Description + * ---------------|------------------------------------- + * `r` | Read-only + * `r+` | Read-write + * `w` | Write-only, create or truncate + * `wx` | Write-only, create or fail, exclusive + * `w+` | Read-write, create or truncate + * `w+x` | Read-write, create or fail, exclusive + * `a` | Write-only, create or append + * `a+` | Read-write, create or append + * @n + * The handler is allowed to not implement all modes and is also + * allowed to implement additional, scheme-specific modes. + */ ++ (OFStream *)openItemAtURL: (OFURL *)URL mode: (OFString *)mode; - (instancetype)init OF_UNAVAILABLE; /** * @brief Initializes the handler for the specified scheme.