On Thu, Sep 16, 2010 at 12:10 PM, Bert Huijben <bert_at_qqmail.nl> wrote:
>
>
>> -----Original Message-----
>> From: hwright_at_apache.org [mailto:hwright_at_apache.org]
>> Sent: donderdag 16 september 2010 12:02
>> To: commits_at_subversion.apache.org
>> Subject: svn commit: r997670 - in /subversion/branches/object-model: ./
>> subversion/bindings/c++/ subversion/tests/libsvn++/
>>
>> Author: hwright
>> Date: Thu Sep 16 10:02:14 2010
>> New Revision: 997670
>>
>> URL: http://svn.apache.org/viewvc?rev=997670&view=rev
>> Log:
>> On the object-model branch:
>> Add the Client test, with a single method to wrap a very simple
>> function.
>>
>> * build.conf
>> (libsvn++): Add the client library as a dependency.
>> (client-cpp-test): New.
>>
>> * subversion/bindings/c++/Client.cpp,
>> subversion/bindings/c++/Client.h,
>> subversion/bindings/c++/Version.cpp,
>> subversion/bindings/c++/Version.h,
>> subversion/tests/libsvn++/client-test.cpp:
>> New.
>>
>> Added:
>> subversion/branches/object-model/subversion/bindings/c++/Client.cpp
>> (with props)
>> subversion/branches/object-model/subversion/bindings/c++/Client.h
>> (with props)
>> subversion/branches/object-
>> model/subversion/bindings/c++/Version.cpp (with props)
>> subversion/branches/object-model/subversion/bindings/c++/Version.h
>> (with props)
>> subversion/branches/object-model/subversion/tests/libsvn++/client-
>> test.cpp (with props)
>> Modified:
>> subversion/branches/object-model/build.conf
>> subversion/branches/object-model/subversion/tests/libsvn++/
>> (props changed)
>>
>> Modified: subversion/branches/object-model/build.conf
>> URL: http://svn.apache.org/viewvc/subversion/branches/object-
>> model/build.conf?rev=997670&r1=997669&r2=997670&view=diff
>> =======================================================================
>> =======
>> --- subversion/branches/object-model/build.conf (original)
>> +++ subversion/branches/object-model/build.conf Thu Sep 16 10:02:14
>> 2010
>> @@ -526,7 +526,7 @@ msvc-static = no
>> description = Subversion C++ bindings
>> type = lib
>> path = subversion/bindings/c++
>> -libs = apr libsvn_subr
>> +libs = apr libsvn_subr libsvn_client
>> sources = *.cpp
>> install = c++-lib
>>
>> @@ -539,6 +539,15 @@ install = test
>> libs = libsvn_test libsvn++
>> link-cmd = $(LINK_CXX)
>>
>> +[client-cpp-test]
>> +description = Subversion C++ client bindings tests
>> +type = exe
>> +path = subversion/tests/libsvn++
>> +sources = client-test.cpp
>> +install = test
>> +libs = libsvn_test libsvn++
>> +link-cmd = $(LINK_CXX)
>> +
>> # --------------------------------------------------------------------
>> --------
>> #
>> # JavaHL targets
>>
>> Added: subversion/branches/object-
>> model/subversion/bindings/c++/Client.cpp
>> URL: http://svn.apache.org/viewvc/subversion/branches/object-
>> model/subversion/bindings/c%2B%2B/Client.cpp?rev=997670&view=auto
>> =======================================================================
>> =======
>> --- subversion/branches/object-model/subversion/bindings/c++/Client.cpp
>> (added)
>> +++ subversion/branches/object-model/subversion/bindings/c++/Client.cpp
>> Thu Sep 16 10:02:14 2010
>> @@ -0,0 +1,43 @@
>> +/**
>> + * @copyright
>> + *
>> ====================================================================
>> + * Licensed to the Apache Software Foundation (ASF) under one
>> + * or more contributor license agreements. See the NOTICE file
>> + * distributed with this work for additional information
>> + * regarding copyright ownership. The ASF licenses this file
>> + * to you under the Apache License, Version 2.0 (the
>> + * "License"); you may not use this file except in compliance
>> + * with the License. You may obtain a copy of the License at
>> + *
>> + * http://www.apache.org/licenses/LICENSE-2.0
>> + *
>> + * Unless required by applicable law or agreed to in writing,
>> + * software distributed under the License is distributed on an
>> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
>> + * KIND, either express or implied. See the License for the
>> + * specific language governing permissions and limitations
>> + * under the License.
>> + *
>> ====================================================================
>> + * @endcopyright
>> + *
>> + */
>> +
>> +#include "Client.h"
>> +
>> +namespace SVN {
>> +
>> +Client::Client()
>> +{
>> +}
>> +
>> +Version
>> +Client::getVersion()
>> +{
>> + return Version(svn_client_version());
>> +}
>> +
>> +Client::~Client()
>> +{
>> +}
>> +
>> +}
>>
>> Propchange: subversion/branches/object-
>> model/subversion/bindings/c++/Client.cpp
>> -----------------------------------------------------------------------
>> -------
>> svn:eol-style = native
>>
>> Added: subversion/branches/object-
>> model/subversion/bindings/c++/Client.h
>> URL: http://svn.apache.org/viewvc/subversion/branches/object-
>> model/subversion/bindings/c%2B%2B/Client.h?rev=997670&view=auto
>> =======================================================================
>> =======
>> --- subversion/branches/object-model/subversion/bindings/c++/Client.h
>> (added)
>> +++ subversion/branches/object-model/subversion/bindings/c++/Client.h
>> Thu Sep 16 10:02:14 2010
>> @@ -0,0 +1,52 @@
>> +/**
>> + * @copyright
>> + *
>> ====================================================================
>> + * Licensed to the Apache Software Foundation (ASF) under one
>> + * or more contributor license agreements. See the NOTICE file
>> + * distributed with this work for additional information
>> + * regarding copyright ownership. The ASF licenses this file
>> + * to you under the Apache License, Version 2.0 (the
>> + * "License"); you may not use this file except in compliance
>> + * with the License. You may obtain a copy of the License at
>> + *
>> + * http://www.apache.org/licenses/LICENSE-2.0
>> + *
>> + * Unless required by applicable law or agreed to in writing,
>> + * software distributed under the License is distributed on an
>> + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
>> + * KIND, either express or implied. See the License for the
>> + * specific language governing permissions and limitations
>> + * under the License.
>> + *
>> ====================================================================
>> + * @endcopyright
>> + *
>> + * @file Client.h
>> + * @brief Interface of the class Client
>> + */
>> +
>> +#ifndef CLIENT_H
>> +#define CLIENT_H
>
> If this is going to be some public API, this should be SVN_<something>_CLIENT_H or alike and the name of the file should also be prefixed with 'svn_'
Good point. I'll look at renaming the files, though I'm not sure what
"typical" C++ conventions for such things are.
>> +
>> +#include "Version.h"
>> +
>> +#include "svn_client.h"
>> +
>> +namespace SVN
>> +{
>> +
>> + class Client
>
>
> Same problem. We define it in the SVN namespace here, but the name of the class is far to generic to be sure not to clash with other classes.
>
> SVNClient?
> (SVNVersion?)
In this case, I don't think we need to do so. Users can easily use
the full name of the type, SVN::Client, which is fully unambiguous.
-Hyrum
Received on 2010-09-16 12:50:50 CEST