[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: svn commit: r997670 - in /subversion/branches/object-model: ./ subversion/bindings/c++/ subversion/tests/libsvn++/

From: Hyrum K. Wright <hyrum_wright_at_mail.utexas.edu>
Date: Thu, 16 Sep 2010 12:50:09 +0200

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

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.