ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/repos/GoogleTron/Subversion/Client.cpp
(Generate patch)

Comparing GoogleTron/Subversion/Client.cpp (file contents):
Revision 711 by douglas, 2006-03-16T05:20:28-08:00 vs.
Revision 712 by douglas, 2006-03-25T23:27:01-08:00

# Line 6 | Line 6
6  
7   #include <cxx/standard.hh>
8  
9 < #include <apr_tables.h>
9 > #include <api/apr/array.hpp>
10  
11   #include "Client.hpp"
12  
13 + namespace api
14 + {
15 +
16 + namespace Apr
17 + {
18 +
19 + template <>
20 + Array<const char *>::Array(_L<cse::String>::ConstIterator begin, _L<cse::String>::ConstIterator end)
21 + {
22 +        _forall (_L<cse::String>::ConstIterator, string, begin, end)
23 +                Push() = string->NullTerminate();
24 + }
25 +
26 + }
27 +
28 + }
29 +
30   namespace Subversion
31   {
32  
# Line 17 | Line 34 | Client::Client()
34   {
35          CheckError(::svn_client_create_context(&context, pool));
36  
37 <        ::apr_array_header_t *providers(::apr_array_make(pool, 5, sizeof (::svn_auth_provider_object_t *)));
37 >        api::Apr::Array< ::svn_auth_provider_object_t *> providers;
38  
39   #ifdef _WIN32
40 <        ::svn_client_get_windows_simple_provider(reinterpret_cast< ::svn_auth_provider_object_t **>(::apr_array_push(providers)), pool);
40 >        ::svn_client_get_windows_simple_provider(&providers.Push(), pool);
41   #endif
42 <        ::svn_client_get_simple_provider(reinterpret_cast< ::svn_auth_provider_object_t **>(::apr_array_push(providers)), pool);
43 <        ::svn_client_get_username_provider(reinterpret_cast< ::svn_auth_provider_object_t **>(::apr_array_push(providers)), pool);
44 <        ::svn_client_get_ssl_server_trust_file_provider(reinterpret_cast< ::svn_auth_provider_object_t **>(::apr_array_push(providers)), pool);
45 <        ::svn_client_get_ssl_client_cert_file_provider(reinterpret_cast< ::svn_auth_provider_object_t **>(::apr_array_push(providers)), pool);
46 <        ::svn_client_get_ssl_client_cert_pw_file_provider(reinterpret_cast< ::svn_auth_provider_object_t **>(::apr_array_push(providers)), pool);
42 >        ::svn_client_get_simple_provider(&providers.Push(), pool);
43 >        ::svn_client_get_username_provider(&providers.Push(), pool);
44 >        ::svn_client_get_ssl_server_trust_file_provider(&providers.Push(), pool);
45 >        ::svn_client_get_ssl_client_cert_file_provider(&providers.Push(), pool);
46 >        ::svn_client_get_ssl_client_cert_pw_file_provider(&providers.Push(), pool);
47          ::svn_auth_open(&context->auth_baton, providers, pool);
48   }
49  
# Line 78 | Line 95 | _L<Entry> Client::GetEntries(const cse::
95          return entries;
96   }
97  
98 + void Client::Update(const _L<cse::String> &paths)
99 + {
100 +        ::svn_opt_revision_t revision = { ::svn_opt_revision_head };
101 +        api::Apr::Pool pool;
102 +
103 +        CheckError(::svn_client_update2(NULL, api::Apr::Array<const char *>(paths.Begin(), paths.End()), &revision, false, true, context, pool));
104 + }
105 +
106   }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines