On 06/20/2012 08:34 PM, vmpn_at_apache.org wrote:
> Author: vmpn
> Date: Thu Jun 21 03:34:05 2012
> New Revision: 1352400
>
> URL: http://svn.apache.org/viewvc?rev=1352400&view=rev
> Log:
> On the javahl-ra branch:
>
> JavaHL: New method for creating java objects linked to their C++ counterpart
>
> [ in subversion/bindings/javahl/native ]
>
> * SVNBase.cpp,
> SVNBase.h
> (createCppBoundObject): New method for creating java objects linked to their
> C++ counterpart
>
> [ in subversion/bindings/javahl/src/org/tigris/subversion/javahl/ ]
>
> * JNIObject.java: Base class for JNI linked java objects
>
> Added:
> subversion/branches/javahl-ra/subversion/bindings/javahl/src/org/apache/subversion/javahl/JNIObject.java
> Modified:
> subversion/branches/javahl-ra/subversion/bindings/javahl/native/SVNBase.cpp
> subversion/branches/javahl-ra/subversion/bindings/javahl/native/SVNBase.h
>
> Modified: subversion/branches/javahl-ra/subversion/bindings/javahl/native/SVNBase.cpp
> URL: http://svn.apache.org/viewvc/subversion/branches/javahl-ra/subversion/bindings/javahl/native/SVNBase.cpp?rev=1352400&r1=1352399&r2=1352400&view=diff
> ==============================================================================
> --- subversion/branches/javahl-ra/subversion/bindings/javahl/native/SVNBase.cpp (original)
> +++ subversion/branches/javahl-ra/subversion/bindings/javahl/native/SVNBase.cpp Thu Jun 21 03:34:05 2012
> @@ -97,3 +97,29 @@ inline void SVNBase::findCppAddrFieldID(
> }
> }
> }
> +
> +jobject SVNBase::createCppBoundObject(const char *clazzName)
> +{
> + JNIEnv *env = JNIUtil::getEnv();
> +
> + // Create java session object
> + jclass clazz = env->FindClass(clazzName);
> + if (JNIUtil::isJavaExceptionThrown())
> + return NULL;
> +
> + static jmethodID ctor = 0;
> + if (ctor == 0)
> + {
The { are indented two spaces:
http://subversion.apache.org/docs/community-guide/conventions.html
There's other indentation fixes also needed.
> +package org.apache.subversion.javahl;
> +
> +/**
> + * This class is used internally by the JavaHL implementation and not
> + * considered part part of the public API.
> + */
> +public abstract class JNIObject
> +{
> + /**
> + * slot for the address of the native peer.
> + * The JNI code controls this field. If it is set to 0 then
> + * underlying JNI object has been freed
> + */
> + protected long cppAddr;
Can this be final?
Blair
Received on 2012-06-21 19:44:33 CEST