00001 #ifndef xmogInc_javaioWriter
00002 #define xmogInc_javaioWriter
00003
00004 # if !defined(JMS_DECLSPEC )
00005 # if defined(_MSC_VER)
00006 # pragma message( "Relying on default definition of JMS_DECLSPEC " )
00007 # endif
00008
00009
00010 # define JMS_DECLSPEC
00011 # endif
00012
00013 namespace java
00014 {
00015 namespace io
00016 {
00017 class Writer;
00018 }
00019 namespace lang
00020 {
00021 class Object;
00022 class String;
00023 }
00024 }
00025
00026 # include "java_lang_Object.h"
00027
00028
00029 # if (XMOG_UNDEFINE_MEM_OPERATORS==1)
00030 # if defined(new)
00031 # undef new
00032 # endif
00033 # if defined(delete)
00034 # undef delete
00035 # endif
00036 # endif
00037
00051 class JMS_DECLSPEC java::io::Writer :
00052 public virtual ::java::lang::Object
00053 {
00054 public:
00055 enum
00056 {
00057 xmogDefaultFlags = xmog_base::GLOBAL,
00058 xmogMajorVersion = 3,
00059 xmogMinorVersion = 2,
00060 xmogPatchVersion = 9,
00061 xmogBuildNumber = 2047
00062 };
00063
00064 public:
00065
00066 typedef ::xmog_java_array_template< ::java::io::Writer > array1D;
00067
00068 typedef ::xmog_java_array_template< ::xmog_java_array_template< ::java::io::Writer > > array2D;
00069
00071
00088 Writer( );
00089
00102 Writer( const ::java::io::Writer & _rhs );
00103
00116 Writer( jobject _local, xmog_flags f_xflags );
00117
00130 Writer( const ::xmog_null & _null_instance );
00131
00142 Writer( ::xmog_java_array * _arr, jint _index );
00143
00157 Writer( const ::java::io::Writer & _rhs, ::xmog_localenv * p_lxenv );
00158
00170 XMOG_EXPLICIT Writer( ::xmog_base * _delegate, bool _owns_delegate = true );
00171
00185 Writer( ::xmog_java_ref * _cra, ::xmog_java_dynamic * _dynamic, xmog_flags f_xflags = xmogDefaultFlags );
00186
00188
00198 Writer( const ::java::lang::Object & lock, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00199
00210 Writer( ::xmog_dummy _use_java_ctor, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00211
00213
00220 ~Writer( );
00221
00234 java::io::Writer operator =( const java::io::Writer & _rhs );
00235
00250 void operator delete( void * _ptr );
00251
00252 # if (XMOG_SUPPORTS_PLACEMENT_DELETE==1)
00268 void operator delete( void * ptr, void * loc );
00269 # endif
00270
00285 void * operator new( size_t _size );
00286
00287 # if (XMOG_SUPPORTS_PLACEMENT_NEW==1)
00305 void * operator new( size_t _size, void * _ptr );
00306 # endif
00307
00309
00324 virtual void close( ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00325
00327
00348 static ::java::io::Writer dyna_cast( const ::xmog_base & _rhs, ::xmog_localenv * p_lxenv = NULL, xmog_flags flags = xmogDefaultFlags );
00349
00351
00368 virtual void flush( ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00369
00371
00385 static ::xmog_java_class * get_class( );
00386
00395 static ::xmog_java_class * get_element_class( );
00396
00398
00417 virtual void write( jint c, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00418
00430 virtual void write( const ::java::lang::String & str, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00431
00443 virtual void write( const ::xmog_java_char_array & cbuf, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00444
00458 virtual void write( const ::java::lang::String & str, jint off, jint len, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00459
00473 virtual void write( const ::xmog_java_char_array & cbuf, jint off, jint len, ::xmog_localenv * p_xenv = NULL, xmog_flags f_xflags = xmogDefaultFlags );
00474
00476
00495 virtual ::xmog_java_class * xmog_get_java_peer( ::xmog_localenv * p_lxenv = NULL );
00497
00498 };
00499 #endif
00500