Main Page | Modules | Class Hierarchy | Class List | Directories | File List | Class Members | Related Pages

xmog_java_ref.h

00001 /*
00002  * Copyright 1999-2006 by Codemesh, Inc.  ALL RIGHTS RESERVED.
00003  */
00004 
00005 #ifndef xmog_java_ref_inc
00006 #define xmog_java_ref_inc
00007 
00008 
00009 #include "xmog_base.h"
00010 
00011 
00012 class xmog_null;
00013 
00014 
00018 class XMOG_DECLSPEC xmog_java_ref : public xmog_base
00019 {
00020 private:
00021 
00022     jobject         local_cache_;
00023 
00024 public:
00025 
00029     xmog_java_ref(); 
00030 
00037     xmog_java_ref( const xmog_null & ); 
00038 
00049     xmog_java_ref( xmog_java_array * _arr, jint _index );
00050 
00061     xmog_java_ref( xmog_java_class * _clazz, xmog_java_dynamic * _dynamic, xmog_flags _flags );
00062 
00078     xmog_java_ref( xmog_base * _delegate, bool _owns_delegate = true );
00079 
00090     xmog_java_ref( xmog_java_ref * _ref, xmog_java_dynamic * _dynamic, xmog_flags _flags );
00091 
00098     xmog_java_ref( jobject _local, xmog_flags _flags );
00099 
00103     ~xmog_java_ref();
00104 
00108     bool    operator == ( const xmog_null & ) const;
00109 
00117     bool    operator == ( const xmog_java_ref & ) const;
00118 
00122     bool    operator != ( const xmog_null & ) const;
00123 
00133     bool    operator != ( const xmog_java_ref & ) const;
00134 
00138     bool    operator ! () const;
00139 
00149     jboolean            xmog_equals( const xmog_java_ref & _rhs, xmog_localenv * env = NULL );
00150 
00158     jint                xmog_hashCode( xmog_localenv * env = NULL );
00159 
00167     jobject             xmog_toString( xmog_localenv * env = NULL );
00168 
00178     virtual jobject     get_jobject_( xmog_localenv * env = NULL ) const;
00179 
00183     virtual void        xmog_monitor_enter( xmog_localenv * env = NULL ) const;
00184 
00188     virtual void        xmog_monitor_exit( xmog_localenv * env = NULL ) const;
00189 };
00190 
00191 
00192 #if !defined (XMOG_LACKS_INLINE_FUNCTIONS)
00193 #   include "xmog_jvm_loader.h"
00194 #   include "xmog_null.h"
00195 #   include "xmog_java_ref.inl"
00196 #endif
00197 
00198 
00199 #endif /* xmog_java_ref_inc */

Generated on Wed May 31 14:01:19 2006 for Shared Codemesh Runtime Library API Reference by  doxygen 1.4.1