You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4cxx-dev@logging.apache.org by ca...@apache.org on 2007/10/02 03:32:29 UTC

svn commit: r581123 - in /logging/log4cxx/trunk: build.xml src/main/cpp/messagebuffer.cpp src/main/include/log4cxx/helpers/messagebuffer.h

Author: carnold
Date: Mon Oct  1 18:32:27 2007
New Revision: 581123

URL: http://svn.apache.org/viewvc?rev=581123&view=rev
Log:
LOGCXX-18: header-check fixes

Modified:
    logging/log4cxx/trunk/build.xml
    logging/log4cxx/trunk/src/main/cpp/messagebuffer.cpp
    logging/log4cxx/trunk/src/main/include/log4cxx/helpers/messagebuffer.h

Modified: logging/log4cxx/trunk/build.xml
URL: http://svn.apache.org/viewvc/logging/log4cxx/trunk/build.xml?rev=581123&r1=581122&r2=581123&view=diff
==============================================================================
--- logging/log4cxx/trunk/build.xml (original)
+++ logging/log4cxx/trunk/build.xml Mon Oct  1 18:32:27 2007
@@ -564,9 +564,9 @@
         <mkdir dir="${build.dir}/header-check"/>
         <copy todir="${build.dir}/header-check" overwrite="true">
              <fileset dir="${include.dir}" includes="**/*.h">
-                    <exclude name="**/gnomexml.h"/>
+                    <!-- obsolete header with #error directive to eliminate its use -->
                     <exclude name="**/tchar.h"/>
-                    <exclude name="**/config_msvc.h"/>
+                    <!--  excluded due to conflict between log4cxx/rfa.h and log4cxx/rolling/rfa.h  -->
                     <exclude name="log4cxx/rollingfileappender.h"/>
              </fileset>
         </copy>
@@ -588,7 +588,6 @@
                 <fileset dir="${build.dir}/header-check"
                      includes="**/*.cpp"
                      excludes="log4cxx/private/*.cpp **/aprinitializer.h.cpp"/>
-                <includepath path="src/mock/include"/>
                 <includepath path="${include.dir}"/>
                 <project outfile="${project.dir}/header-check"
                     type="${project.type}" if="project.if"/>

Modified: logging/log4cxx/trunk/src/main/cpp/messagebuffer.cpp
URL: http://svn.apache.org/viewvc/logging/log4cxx/trunk/src/main/cpp/messagebuffer.cpp?rev=581123&r1=581122&r2=581123&view=diff
==============================================================================
--- logging/log4cxx/trunk/src/main/cpp/messagebuffer.cpp (original)
+++ logging/log4cxx/trunk/src/main/cpp/messagebuffer.cpp Mon Oct  1 18:32:27 2007
@@ -69,23 +69,23 @@
 
 
 CharMessageBuffer& MessageBuffer::operator<<(const std::string& msg) {
-    return CharMessageBuffer::operator<<(msg);
+    return cbuf.operator<<(msg);
 }
 
 CharMessageBuffer& MessageBuffer::operator<<(const char* msg) {
-    return CharMessageBuffer::operator<<(msg);
+    return cbuf.operator<<(msg);
 }
 
 CharMessageBuffer& MessageBuffer::operator<<(const char msg) {
-    return CharMessageBuffer::operator<<(msg);
+    return cbuf.operator<<(msg);
 }
 
 const std::string& MessageBuffer::str(const CharMessageBuffer& msg) const {
-    return CharMessageBuffer::str(msg);
+    return cbuf.str(msg);
 }
 
 std::string MessageBuffer::str(const std::ostream& msg) const {
-    return CharMessageBuffer::str(msg);
+    return cbuf.str(msg);
 }
 
 

Modified: logging/log4cxx/trunk/src/main/include/log4cxx/helpers/messagebuffer.h
URL: http://svn.apache.org/viewvc/logging/log4cxx/trunk/src/main/include/log4cxx/helpers/messagebuffer.h?rev=581123&r1=581122&r2=581123&view=diff
==============================================================================
--- logging/log4cxx/trunk/src/main/include/log4cxx/helpers/messagebuffer.h (original)
+++ logging/log4cxx/trunk/src/main/include/log4cxx/helpers/messagebuffer.h Mon Oct  1 18:32:27 2007
@@ -20,7 +20,6 @@
 
 #include <string>
 #include <log4cxx/log4cxx.h>
-#include <ostream>
 #include <sstream>
 
 namespace log4cxx {
@@ -93,6 +92,14 @@
         
    private:
         /**
+         * Prevent use of default copy constructor.
+         */
+        CharMessageBuffer(const CharMessageBuffer&);
+        /**
+         *   Prevent use of default assignment operator.  
+         */
+        CharMessageBuffer& operator=(const CharMessageBuffer&);
+        /**
          * Encapsulated std::string.
          */
         std::string buf;
@@ -183,6 +190,14 @@
          
    private:
         /**
+         * Prevent use of default copy constructor.
+         */
+        WideMessageBuffer(const WideMessageBuffer&);
+        /**
+         *   Prevent use of default assignment operator.  
+         */
+        WideMessageBuffer& operator=(const WideMessageBuffer&);
+        /**
          * Encapsulated std::wstring.
          */
         std::wstring buf;
@@ -198,7 +213,20 @@
     *   macros to support insertion operators in the message parameter.
     *   The class is not intended for use outside of that context.
     */
-   class LOG4CXX_EXPORT MessageBuffer : public CharMessageBuffer {
+   class LOG4CXX_EXPORT MessageBuffer {
+   private:
+        /**
+         * Prevent use of default copy constructor.
+         */
+        MessageBuffer(const MessageBuffer&);
+        /**
+         *   Prevent use of default assignment operator.  
+         */
+        MessageBuffer& operator=(const MessageBuffer&);
+        /**
+         *  Character message buffer.
+         */
+        CharMessageBuffer cbuf;
    public:
         /**
          *  Creates a new instance.
@@ -257,7 +285,7 @@
          */
         template<class T> 
         std::ostream& operator<<(T arg) {
-           return CharMessageBuffer::operator<<(arg);
+           return cbuf.operator<<(arg);
         }
         
         
@@ -300,8 +328,7 @@
          *  @return content of encapsulated std::wostringstream.
          */
         std::wstring str(const std::wostream&) const;
-
-   private:
+private:
         /**
          * Encapsulated wide message buffer, created on demand.
          */