00001 #ifndef IOKERNEL__LSTRING_META_CLASS_H 00002 #define IOKERNEL__LSTRING_META_CLASS_H 00003 00004 #include "meta_class.h" 00005 #include "iokernel_forwarders.h" 00006 00007 00008 class LStringMetaClass : public MetaClass { 00009 friend class ObjectFactory; 00010 public: 00011 virtual void write( const ObjectWrapper &obj, 00012 OutputStream* outputStream ) const; 00013 00014 virtual void read ( const ObjectWrapper &obj, 00015 InputStream* inputStream ) const; 00016 00017 virtual void destruct( const ObjectWrapper &obj, 00018 bool called_from_destructor ) const; 00019 00020 Walker::ApplyStatus walk(const Address address,Walker &walk) const; 00021 00022 static const LString &get_class_name(); 00023 00024 protected: 00025 LStringMetaClass( LString metaClassName = emptyLString ); 00026 00027 static void constructor_function( Address place ); 00028 }; 00029 00030 00031 #endif 00032 00033 00034 00035 00036 00037 00038 00039 00040 00041