GME  13
svn_dirent_uri.h
Go to the documentation of this file.
00001 
00133 #ifndef SVN_DIRENT_URI_H
00134 #define SVN_DIRENT_URI_H
00135 
00136 #include <apr.h>
00137 #include <apr_pools.h>
00138 #include <apr_tables.h>
00139 
00140 #include "svn_types.h"
00141 
00142 #ifdef __cplusplus
00143 extern "C" {
00144 #endif /* __cplusplus */
00145 
00146 
00154 const char *
00155 svn_dirent_internal_style(const char *dirent,
00156                           apr_pool_t *result_pool);
00157 
00166 const char *
00167 svn_dirent_local_style(const char *dirent,
00168                        apr_pool_t *result_pool);
00169 
00177 const char *
00178 svn_relpath__internal_style(const char *relpath,
00179                             apr_pool_t *result_pool);
00180 
00181 
00199 char *
00200 svn_dirent_join(const char *base,
00201                 const char *component,
00202                 apr_pool_t *result_pool);
00203 
00218 char *
00219 svn_dirent_join_many(apr_pool_t *result_pool,
00220                      const char *base,
00221                      ...);
00222 
00234 char *
00235 svn_relpath_join(const char *base,
00236                  const char *component,
00237                  apr_pool_t *result_pool);
00238 
00252 const char *
00253 svn_dirent_basename(const char *dirent,
00254                     apr_pool_t *result_pool);
00255 
00266 char *
00267 svn_dirent_dirname(const char *dirent,
00268                    apr_pool_t *result_pool);
00269 
00295 void
00296 svn_dirent_split(const char **dirpath,
00297                  const char **base_name,
00298                  const char *dirent,
00299                  apr_pool_t *result_pool);
00300 
00320 void
00321 svn_relpath_split(const char **dirpath,
00322                   const char **base_name,
00323                   const char *relpath,
00324                   apr_pool_t *result_pool);
00325 
00340 const char *
00341 svn_relpath_basename(const char *relpath,
00342                      apr_pool_t *result_pool);
00343 
00353 char *
00354 svn_relpath_dirname(const char *relpath,
00355                     apr_pool_t *result_pool);
00356 
00357 
00376 void
00377 svn_uri_split(const char **dirpath,
00378               const char **base_name,
00379               const char *uri,
00380               apr_pool_t *result_pool);
00381 
00393 const char *
00394 svn_uri_basename(const char *uri,
00395                  apr_pool_t *result_pool);
00396 
00407 char *
00408 svn_uri_dirname(const char *uri,
00409                 apr_pool_t *result_pool);
00410 
00417 svn_boolean_t
00418 svn_dirent_is_absolute(const char *dirent);
00419 
00431 svn_boolean_t
00432 svn_dirent_is_root(const char *dirent,
00433                    apr_size_t len);
00434 
00439 svn_boolean_t
00440 svn_uri_is_root(const char *uri,
00441                 apr_size_t len);
00442 
00459 const char *
00460 svn_dirent_canonicalize(const char *dirent,
00461                         apr_pool_t *result_pool);
00462 
00463 
00478 const char *
00479 svn_relpath_canonicalize(const char *relpath,
00480                          apr_pool_t *result_pool);
00481 
00482 
00502 const char *
00503 svn_uri_canonicalize(const char *uri,
00504                      apr_pool_t *result_pool);
00505 
00517 svn_boolean_t
00518 svn_dirent_is_canonical(const char *dirent,
00519                         apr_pool_t *scratch_pool);
00520 
00526 svn_boolean_t
00527 svn_relpath_is_canonical(const char *relpath);
00528 
00536 svn_boolean_t
00537 svn_uri_is_canonical(const char *uri,
00538                      apr_pool_t *scratch_pool);
00539 
00548 char *
00549 svn_dirent_get_longest_ancestor(const char *dirent1,
00550                                 const char *dirent2,
00551                                 apr_pool_t *result_pool);
00552 
00561 char *
00562 svn_relpath_get_longest_ancestor(const char *relpath1,
00563                                  const char *relpath2,
00564                                  apr_pool_t *result_pool);
00565 
00578 char *
00579 svn_uri_get_longest_ancestor(const char *uri1,
00580                              const char *uri2,
00581                              apr_pool_t *result_pool);
00582 
00591 svn_error_t *
00592 svn_dirent_get_absolute(const char **pabsolute,
00593                         const char *relative,
00594                         apr_pool_t *result_pool);
00595 
00608 const char *
00609 svn_dirent_is_child(const char *parent_dirent,
00610                     const char *child_dirent,
00611                     apr_pool_t *result_pool);
00612 
00621 svn_boolean_t
00622 svn_dirent_is_ancestor(const char *parent_dirent,
00623                        const char *child_dirent);
00624 
00628 svn_boolean_t
00629 svn_uri__is_ancestor(const char *parent_uri,
00630                      const char *child_uri);
00631 
00632 
00643 const char *
00644 svn_dirent_skip_ancestor(const char *parent_dirent,
00645                          const char *child_dirent);
00646 
00654 const char *
00655 svn_relpath_skip_ancestor(const char *parent_relpath,
00656                           const char *child_relpath);
00657 
00666 const char *
00667 svn_uri_skip_ancestor(const char *parent_uri,
00668                       const char *child_uri,
00669                       apr_pool_t *result_pool);
00670 
00704 svn_error_t *
00705 svn_dirent_condense_targets(const char **pcommon,
00706                             apr_array_header_t **pcondensed_targets,
00707                             const apr_array_header_t *targets,
00708                             svn_boolean_t remove_redundancies,
00709                             apr_pool_t *result_pool,
00710                             apr_pool_t *scratch_pool);
00711 
00745 svn_error_t *
00746 svn_uri_condense_targets(const char **pcommon,
00747                          apr_array_header_t **pcondensed_targets,
00748                          const apr_array_header_t *targets,
00749                          svn_boolean_t remove_redundancies,
00750                          apr_pool_t *result_pool,
00751                          apr_pool_t *scratch_pool);
00752 
00770 svn_error_t *
00771 svn_dirent_is_under_root(svn_boolean_t *under_root,
00772                          const char **result_path,
00773                          const char *base_path,
00774                          const char *path,
00775                          apr_pool_t *result_pool);
00776 
00784 svn_error_t *
00785 svn_uri_get_dirent_from_file_url(const char **dirent,
00786                                  const char *url,
00787                                  apr_pool_t *result_pool);
00788 
00796 svn_error_t *
00797 svn_uri_get_file_url_from_dirent(const char **url,
00798                                  const char *dirent,
00799                                  apr_pool_t *result_pool);
00800 
00801 #ifdef __cplusplus
00802 }
00803 #endif /* __cplusplus */
00804 
00805 #endif /* SVN_DIRENT_URI_H */